link 题意很明了,就是题目,只不过题目中没说这道题强制在线。 普通情况下可以用平衡树套权值线段树,或者用线段树(树状数组)套个位置平衡树(但我不会写也没有写过)。然而我浏览了一圈讨论之后发现万恶的noip似乎卡了树套树的写法。于是迫不得已学了下块状链表。 块状链表说起来并没有太难
一、题目描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符
#include<iostream> #include<cstring> #include<cmath> using namespace std; char a[10010], b[10010]; int A[10010], B[10010], C[10010]; int main() { cin >> a >> b; int la = strlen(a), lb = strlen(b),lc=la+lb; for (in
给定两个正整数(不含前导 0),计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的和。 数据范围 1≤整数长度≤100000 输入样例: 12 23 输出样例: 35 方法一: 模拟手算 将结果存在保存较长数字的那个数组中,代码比较丑陋,其中c存进位,p存当前位 #include <bits/
目前90ms没开O2(也不知道能不能开O2) 感觉自己的思路挺简单的 题目传送门 题目大意是求 \(N\) 和 \(M\) 的最大公因数,所以考虑将 \(N\) 和 \(M\) 质因数分解求出每个质因子,由于 \(N\) 和 \(M\) 都是很大很大的数字,所以采取对 \(N\) 和 \(M\) 的因子进行质因数分解。 以 \(N\) 为例
在 python 中,类型属于对象,变量是没有类型的 在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。 python 函数的参数传递: 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。如
高精度加法 为什么用高精度算法? Int 4字节 在32位系统中占32位 10的9次方数量级 Long long 8字节 10的18次方数量级 题目:输入两个整数 a 和 b,输出这两个整数的和。a 和 b 都不超过 100 位 即10的100次方 乘 10的100次方 大数运算 注意点: 思想:小学加法 把末尾数字对齐 进位
壁纸网站:FACETS.la 壁纸风格如下图,我挺喜欢的,于是设计一个爬虫,自动保存网站所有壁纸. ps: 1.网站一共300多张壁纸,每张大小不到1M,全部壁纸150M大小. 2.爬虫语言:python,还需要用到而外的requests,bs4库. 网站壁纸风格如下: 说一下简单思路: 1.获取图片链接.
一、大数加法 思路: 1、把需要相加的两个数字分别存在字符串数组str1[]和str2[]中 2、用strlen函数计算两个字符串的长度la,lb 3、将str中的字符型数字(倒着存)分别存到整型数组a,b中(转换方式:a[i] = str1[la - 1 - i] - '0') 4、使用la,lb中较大的参加下一步运算 5、对数组中对应的
单链表la,lb中的元素按照非递减排列, 设计算法归并la,lb得到新的链表lc,且lc中的元素也按照非递减排列 点击查看代码 // 单链表结构定义 typedef struct lnode { int data; struct lnode *next; } lnode, *linklist; //归并算法 void merge(linklist &la, linklist &lb, li
我的思路: 0.定义变量,常量,数组 char a1[2005],b1[2005]; int c[4005],a[2005],b[5005],num,la,lb,i,j,k,set1=0,set2=0; 1.字符串数组存储两输入数 cin>>a1>>b1; 2.调用函数strlen()分别测定两字符串长度 la=strlen(a1);//计算长度 lb=strlen(b1); 3.判断两数是否为负数,并记录
参考:https://www.136.la/shida/show-233414.html 在jenkins 构建任务时,同时只能构建2个,如果两个没有job没有结束,构建第3个就会不执行: 提示: pending—Waiting for next available executor on 主服务器 解决: 通过设置节点中一下配置 # of executors:最大同时构建数量 根据机器的性能
题面传送门 看到字符串子串匹配啪的一下很快啊一个SAM扔上去了 先把\(M\)个串的SAM建出来,发现其实不用广义SAM,隔一个#插就好了。 然后对于每个询问串就可以在SAM上先刨除每个\(i\)结尾在模式串中最长匹配多少。 显然L有单调性所以直接二分然后\(O(n^2)\)dp就可以得到答案了。 又有
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符
其实就是比较两个数的字符表示拼在一起哪个大,然后用这种判别原则去维护一个大顶堆。本来写了好几十行的判断代码,后来发现可以直接判断a+b和b+a的大小关系,感觉自己像个小丑。贴代码 1 class Solution { 2 public: 3 string largestNumber(vector<int>& nums) 4 { 5
我们可以发现如果a,b都加空格的话,是没有意义的。因此我们一共有三种状态(i ->a ,j ->b) i填空格,j填空格,都不填空格。枚举即可 char a[N], b[N]; int la, lb; int k; int f[N][N]; int main() { cin >> (a + 1) >> (b + 1) >> k; la = strlen(a + 1); lb = strlen(b + 1); mem
首先,这周,应该是这段时间,自己一直没状态,没方向,不知道自己在坚持什么,在追求什么。很迷茫。学的也不怎么样 就列一些模板和基础的吧 高精度模板 #include<bits/stdc++.h> using namespace std; string add(string a,string b)//只限两个非负整数相加 { string ans; int
线性表的交并实现 0.举例1.初始定义2.交集(A = A∩B)3.并集(A = A∪B)4.线性表顺序结构基本操作说明 0.举例 La = 2,1,4,5,7 Lb = 1,4,6,8,5 输出 La = La∩Lb = 4,5 输出La = La∪Lb = 2,1,4,5,7,6,8 1.初始定义 #define TRUE 1 #define FALSE 0 #define OK 1 #d
一、git git:分布式系版本控软件 github:公有代码托管平台 gitlib:私有代码托管平台 SVN:集中式版本管理软件(一定要提交服务器,否则容易丢失) 查看目前git的版本:git --version 说明git的环境配置完成,可以使用git了 查看命令帮助手册 Init:初始化 Git init:创建初始化仓库 查
一、实验内容及要求: 1.从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 2.从键盘实现数据输入与输出的格式自拟;要求完成两
【day20】 算法思想:依次扫描AB结点,比较扫描结点data域值,将较小的指针向后移动并释放空间。若两者相等,尾插到LA当中,直到遍历表尾,(若A中有剩余,则逐个释放剩余元素)(A中只保留公共元素即可,其他结点释放空间。) void retain_commond(LinkList &LA,LinkList &LB){ LNode *p=LA-
/* 有序表的合并---用链表实现 */ #include <stdio.h> #include <stdlib.h> #include <malloc.h> typedef int ElemType; typedef struct Lnode{ ElemType data; struct Lnode * next; }LNode, * LinkList; void CreateList_R(LinkList * L){ int len; printf
本题要求用递归方法编写递归函数实现无头结点单链表的输出操作函数。L是一个不带头结点的单链表,函数void ListPrint_L_Rec(LinkList L)要求用递归的方法输出无头结点之单链表中各个元素的值,每个元素的前面都有一个空格(包括首元素)。递归思想可借鉴下述代码中链表创建的递归函数。
实验报告格式规范,包括以下内容:(正文 宋体五号 ) 一、问题描述(标题黑体小四) 对简单的一元多项式相加、相减、求导运算。 二、实验目的 实现对简单的一元多项式相加、相减、求导运算。 三、实验设计 1.逻辑结构 逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据
#include<stdio.h> #define MAXSIZE 100 typedef struct SeqList//顺序表的存储结构 { int elem[MAXSIZE]; int length; }SqList; void MergeList_Sq(SqList LA,SqList LB,SqList &LC) { int *p1,*p2,*q; LC.length=LA.length+LB.length; p1=LA.elem; p2=LB.elem;