- 博客(11)
- 收藏
- 关注
原创 字符串哈希/字符串前缀哈希法
概述字符串哈希全称字符串前缀哈希法,把字符串映射为一个P进制数,实现不同的字符串映射不同的数字维护h[i]为前i个字符的哈希值,p[i]为P^i注意字符不能映射为0,不然会导致冲突,例如A,AA都为0P取131或13331的冲突概率低计算结果可能会溢出,需要取模,用2^64,这样用unsigned long long存储,溢出的结果就是取模的结果例子以十进制为例,P=10,假设字符只包含1~9且权值为1 ~ 9维护字符串的哈希值:对于字符串“123”,h[1]=1,h[2]=1
2021-07-08 23:44:55 532
原创 程序设计竞赛数学定理记录
扩展欧几里得算法裴蜀定理:对于任意正整数a,b,一定存在非零整数x,y,使得ax+by=gcd(a,b)用扩展欧几里得算法可求出x,y推导中b会出现在分母位置,所以对b进行分类讨论推导中b会出现在分母位置,所以对b进行分类讨论推导中b会出现在分母位置,所以对b进行分类讨论当b=0时,gcd(a,b)=gcd(a,0)=a,得x=1,y=0当b=0时,gcd(a,b)=gcd(a,0)=a,得x=1,y=0当b=0时,gcd(a,b)=gcd(a,0)=a,得x=1,y=0当b≠0时,设ax1+
2021-05-29 01:22:44 179
原创 oj练习记录
poj1011Sticks**Description**乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个单位长度。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。**Input**输入包含多组数据,每组数据包括两行。第一行是一个不超过64的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。*
2021-04-19 01:58:09 352
原创 蓝桥杯题目记录
蓝桥杯 生日蜡烛题目描述某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?输出请填写他开始过生日party的年龄数。答案:26#include<iostream>#include<cstdio>using namespace std;int main()//假设最多不到200岁{ for(int i=1;i<200;++i)//i岁开始过
2021-04-13 20:20:57 146
原创 Java连接MySQL相关问题的解决方法
Java连接MySQLnetstat -ano|findstr 3306taskkill /f /t /pid 进程id
2021-04-13 01:13:33 168 1
原创 PTA的天梯赛与PAT练习记录
PTA天梯赛与PAT练习记录L1-078吉老师的回归L1-080乘法口诀数列L2-005集合相似度L2-025分而治之L2-029特立独行的幸福L2-030冰岛人L2-032彩虹瓶L2-038病毒溯源L2-039清点代码库L3-003社交集群L3-028森森旅游1010一元多项式求导1012数字分类1014福尔摩斯的约会1028人口普查1030完美数列1033旧键盘打字1034有理数四则运算L1-078吉老师的回归曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦!为了简化题目,我们不妨假设天梯赛的每道
2021-03-06 14:12:29 945
原创 程序设计竞赛模板(待更)
程序设计竞赛模板高精度高精度加法高精度减法高精度乘法高精度除法高精度加法,减法,乘法都是将高精度数反向放入vector中,如for(int i=s.size()-1;i>=0;i--) vec.push_back(s[i]-'0');高精度加法高精度+高精度vector<int>add(vector<int>a,vector<int>b){ int t=0; vector<int>c; for(int i=
2021-02-04 23:13:09 893
原创 快速排序,归并排序,堆排序
堆排序先输入再建堆边输入边建堆先输入再建堆#include<iostream>#include<cstdio>using namespace std;const int N=1e8+10;int len,a[N];void down(int t){ while(t<=len) { int i=t; if(2*t<=len&&a[i]>a[2*t]) i=2*t
2021-02-04 23:03:29 271
原创 PTA天梯赛树的复习
PTA L2-006树的遍历,PTA L2-011玩转二叉树题解TipsL2-006树的遍历L2-011玩转二叉树Tips先序遍历:根左右中序遍历:左根右后序遍历:左右根L2-006树的遍历给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,
2021-01-31 21:20:33 313
原创 第十二届蓝桥杯校内模拟赛第二期惨痛经历
第十二届蓝桥杯校内模拟赛第二期惨痛经历看清题意!不要想当然!第三题第四题第十题看清题意!不要想当然!错了两道填空直接爆炸orz第三题问题描述 请问有多少个序列满足下面的条件:序列的长度为 5。序列中的每个数都是 1 到 10 之间的整数。序列中后面的数大于等于前面的数。当时想成一个长度为5的字符串,单个字符就是1~9,看到“1 到 10 之间的整数”时强行开闭区间orz题解答案:2002#include<iostream>using namespace std;i
2021-01-31 21:18:33 498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人