……

01 2019 档案

摘要:普通算法肯定T了,所以怎么算呢?和矩阵有啥关系呢? 打数学符号太费时,就手写了: 所以求Fib(n)就是求矩阵 | 1 1 |n-1 第一行第一列的元素。 | 1 0 | 其实学过线代的同学应该一看就看出来了,然鹅我还没学,所以不得不写几个不必要的等式=。= 阅读全文
posted @ 2019-01-31 22:18 noobimp 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1265 以其中某一点向其它三点连向量,若四点共面,这三个向量定义的平行六面体的体积为零。 而这个体积等于这三个向量的混合积,所以只要验证混合积是否为零。 |ax ay az| 阅读全文
posted @ 2019-01-31 20:38 noobimp 阅读(237) 评论(0) 推荐(0) 编辑
摘要:我们学校大一不开线代,多捞啊。做题时碰到了一些诸如矩阵快速幂、向量混合积之类需要线代知识的问题就很难受。 自己问同学+百度稍微了解了一点,先写一下矩阵乘法和矩阵快速幂的模板,普适性还是太低,以后慢慢改吧。 注意要输入矩阵的行列和元素。 阅读全文
posted @ 2019-01-31 16:22 noobimp 阅读(180) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1264 检查点的位置就行了,具体见注释。 阅读全文
posted @ 2019-01-31 13:08 noobimp 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1298 转化成判断三条线段和圆是否🍌相交就行了 阅读全文
posted @ 2019-01-31 13:01 noobimp 阅读(274) 评论(0) 推荐(0) 编辑
摘要:题目:POJ3080 http://poj.org/problem?id=3080 题意:对于输入的文本串,输出最长的公共子串,如果长度相同,输出字典序最小的。 这题数据量很小,用暴力也是16ms,用后缀数组可以到0ms,但我不会XD。 暴力: KMP: 题目:POJ3461 http://poj. 阅读全文
posted @ 2019-01-31 12:12 noobimp 阅读(129) 评论(0) 推荐(0) 编辑
摘要:注释掉的是我不喜欢的写法。 //计算串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... 阅读全文
posted @ 2019-01-30 23:36 noobimp 阅读(336) 评论(0) 推荐(0) 编辑
摘要:题意:从左下方的1开始,一笔画出圣诞老人的房子。 阅读全文
posted @ 2019-01-30 23:17 noobimp 阅读(168) 评论(0) 推荐(0) 编辑
摘要:就总结下写法吧老是忘啊属实dd 1.队列及相关操作 2.简单优先队列:默认降序队列 3.自定义优先队列 先把原型摆上: priority_queue<Type, Container, Functional> 简单(其实可以归到2里,不过为了对应这个原型还是放到这吧): 结构体: 阅读全文
posted @ 2019-01-26 23:58 noobimp 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1.前序遍历的规则:(根左右) (1)访问根节点 (2)前序遍历左子树 (3)前序遍历右子树 对于图中二叉树,前序遍历结果:ABDECF 2.中序遍历的规则:(左根右) (1)中序遍历左子树 (2)访问根节点 (3)中序遍历右子树 对于图中二叉树,中序遍历结果:DBEAFC 3.后序遍历二叉树的规则 阅读全文
posted @ 2019-01-25 19:28 noobimp 阅读(262) 评论(0) 推荐(0) 编辑
摘要:SG函数先不说,给自己总结下三大博弈。和二进制及黄金分割联系密切,数学真奇妙,如果不用考试就更好了。 1.Bash Game:n个物品,最少取1个,最多取m个,先取完者胜。 给对手留下(m+1)的倍数肯定获胜。若n%(m+1)==0,先手必败。 51nod裸题:1066 2.Nim Game:n堆物 阅读全文
posted @ 2019-01-22 21:47 noobimp 阅读(970) 评论(0) 推荐(1) 编辑
摘要:UVa 167 题意:八行八列的棋盘每行每列都要有一个皇后,每个对角线上最多放一个皇后,让你放八个,使摆放位置上的数字加起来最大。 参考:https://blog.csdn.net/xiaoxiede_wo/article/details/79973171 POJ2258 题意:给你点和边的数量,再 阅读全文
posted @ 2019-01-21 23:04 noobimp 阅读(187) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2019-01-21 22:08 noobimp 阅读(786) 评论(0) 推荐(0) 编辑
摘要:题目链接 建议与上一篇欧拉函数介绍结合食用。 知识点: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互质的数的个数 阅读全文
posted @ 2019-01-20 21:59 noobimp 阅读(245) 评论(0) 推荐(0) 编辑
摘要:我还是很喜欢数论,从此吃喝不问,就此沉沦。 欧拉函数φ(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 介绍几 阅读全文
posted @ 2019-01-20 21:39 noobimp 阅读(3197) 评论(0) 推荐(1) 编辑
摘要:题目链接 给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。 例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题) 输入 输出 输入样例 输出样例 Sparse Table解决Ra 阅读全文
posted @ 2019-01-19 22:27 noobimp 阅读(227) 评论(0) 推荐(0) 编辑