随笔分类 - C++
摘要:注释掉的是我不喜欢的写法。 //计算串str的next数组 void getnext(char *str){ int len=strlen(str); int j=0,k=-1; next[0]=-1; while(j<len){ if(k==-1||str[j]==str[k]) next[++j]=++k; else k=ne...
阅读全文
摘要:题意:从左下方的1开始,一笔画出圣诞老人的房子。
阅读全文
摘要:就总结下写法吧老是忘啊属实dd 1.队列及相关操作 2.简单优先队列:默认降序队列 3.自定义优先队列 先把原型摆上: priority_queue<Type, Container, Functional> 简单(其实可以归到2里,不过为了对应这个原型还是放到这吧): 结构体:
阅读全文
摘要:1.前序遍历的规则:(根左右) (1)访问根节点 (2)前序遍历左子树 (3)前序遍历右子树 对于图中二叉树,前序遍历结果:ABDECF 2.中序遍历的规则:(左根右) (1)中序遍历左子树 (2)访问根节点 (3)中序遍历右子树 对于图中二叉树,中序遍历结果:DBEAFC 3.后序遍历二叉树的规则
阅读全文
摘要:SG函数先不说,给自己总结下三大博弈。和二进制及黄金分割联系密切,数学真奇妙,如果不用考试就更好了。 1.Bash Game:n个物品,最少取1个,最多取m个,先取完者胜。 给对手留下(m+1)的倍数肯定获胜。若n%(m+1)==0,先手必败。 51nod裸题:1066 2.Nim Game:n堆物
阅读全文
摘要:UVa 167 题意:八行八列的棋盘每行每列都要有一个皇后,每个对角线上最多放一个皇后,让你放八个,使摆放位置上的数字加起来最大。 参考:https://blog.csdn.net/xiaoxiede_wo/article/details/79973171 POJ2258 题意:给你点和边的数量,再
阅读全文
摘要:1.欧几里得算法(辗转相除法) 直接上gcd和lcm代码。 2.扩欧:exgcd:对于a,b,一定存在整数对(x,y)使ax+by=gcd(a,b)=d ,且a,b互质时,d=1。 x,y可递归地求得。 我懒得改返回值类型了 求解 x,y的方法的理解: 设 a>b。1,显然当 b=0,gcd(a,b
阅读全文
摘要:题目链接 建议与上一篇欧拉函数介绍结合食用。 知识点:1.阶:a和模m互质,使a^d≡1(mod m)成立的最小正整数d称为a对模m的阶(指数) 例如: 2^2≡1(mod3),2对模3的阶为2; 2^3≡1(mod7),2对模7的阶为3;2.欧拉函数φ(m):在[1,m)的区间内与m互质的数的个数
阅读全文
摘要:我还是很喜欢数论,从此吃喝不问,就此沉沦。 欧拉函数φ(x)的值为在[1,x)的区间内与x互质的数的个数 通式: 其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1。 注意:每种质因数只一个。 比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/3)=4 介绍几
阅读全文
摘要:题目链接 给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。 例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题) 输入 输出 输入样例 输出样例 Sparse Table解决Ra
阅读全文

浙公网安备 33010602011771号