随笔分类 - A个人总结
摘要:今早上来补完了昨天的题,之后看了一点树链剖分,明白了基本原理,但是干什么用,能在哪应用还是不明白,下午继续看《组合数学》把第一章的练习题想了一下,晚上的时候,看第二张,以前的只知道结论的定理,突然明白了原理,比如NIM博弈,和中国剩余定理的证明。今天没怎么写代码...就这样了晚安
阅读全文
摘要:今天起的晚了,睁眼就七点四十了,八点二十多到了实验室,看组合数学的第一张,介绍篇,看了几个定理的证明,好难得,大佬都说要多学点数学,但是数学的海洋太深,第一张还有Nim取石子游戏还没看,明天早上看看,然后做一下练习题,下午看博客,终于看完了一个博客(只有20多道的数学),晚上写了一下看的题,还剩下点
阅读全文
摘要:费马小定理证明 费马小定理定义:假如p是质数,且gcd(a,p)=1,那么a^(p-1)≡1(mod p),就是说,如果p是质数,并且a与p互质,那么a的p-1次方膜上p恒等于1。下面给出证明: 例如:13是一个质数,那么1,2,3,4,5,6,7,8,9,10,11,12乘上一个与13互质的数,比
阅读全文
摘要:1.数据进行离散化的时候,开区间离散化端点,闭区间一般用两个点离散一个端点.例如: 开区间 [1.5] 实际的离散化之后应该是 [ (1,2) , (4,5) ].
阅读全文
摘要:最长上升子序列总结 最开始的知道最长上升子序列的时候,简单DP的时候,但是后来遇到很多最长上升子序列的问题就没法用DP来解决,时间复杂度和空间复杂度都不允许。
阅读全文
摘要:寒假结束后没觉得自己假期学的怎么样,一直在刷知识点,直到今天晚上给自己限时两个小时打了一场CF401,结果惨不忍睹, 一个寒假状态下滑的自己都害怕,更可怕的是自己还以为寒假学的很好。通过今晚的比赛发现很多缺点,自己缺少大一菜鸟的一种优 点,就是敢暴力,现在的自己好像是大病初愈的球员,打的畏首畏尾,就
阅读全文
摘要:2016-2017寒假社会实践报告 今年的寒假和去年一样,只做了一件事就是ACM,开始的几天并不顺利,刚放假的几天去青岛玩了几天,电脑电源落在那了,几天后才快递过来。寒假的任务看似很少,只是刷完ACMsteps,但是实际做起来很慢。 调整状态篇 最初的几天,可算是十分的艰难,放假前刷到了7.3也就是
阅读全文
摘要:欧拉函数证明 欧拉函数定义:定义一个数n,φ(n)为不大于n的,与n互质的数的个数。 证明方法用到容斥定理:容斥定理的原理如图: A∪B∪C=A+B+C - A∩B - B∩C - A∩C + A∩B∩C; 欧拉函数证明: 小于等于n的基数有n个,讨论所有n的素因子,只要是素因子的倍数的是都不是n的
阅读全文
摘要:了解凸包及Graham扫描法 问题描述:二位平面内,给定n个散乱的点,求一个最小凸多边形(凸包),使得n个点都不在凸多边形外。 问题的解决用到Graham算法: 算法步骤: 1.取y坐标最小的一点,作为p0,显然p0一定在凸包上。 2.将p0作为坐标系原点,其他点按极角从小到大排序,从p1开始编号。
阅读全文
摘要:多边形求重心总结 多边形求重心: 逆时针给出你n边形的n个顶点,求重心利用的原理就是,加权平均,如下图: 将a点作为所有小三角形的公共顶点,那么多边形abcdef的中心=); 三角形的面积:用向量的×乘就可以 s1=向量ac×向量ba;(尽量不要用海伦公式,因为海林公式除法太多,容易卡精度) 三角形
阅读全文
摘要:计算几何-判断线段相交 判断两线段是否相交: 快速排斥 跨立实验(这两个词也是我看博客的时候看到的,觉得挺高大上的就拿过来用了,哈哈哈) 1. 快速排斥:就是初步的判断一下,两条线段是不是相交,以两条线段为对角线的矩形,如果不重合的话,那么两条线段一定不可能相交。看下图: 1.线段ab的低点低于cd
阅读全文
摘要:二分匹配总结 首先讲一下什么是二分图,在一个图中,以边为条件,能将两个端点划分为两个集合的图叫做二分图,如下图: 左图为二分图,右图为简化后的二分图。 接着就是二分图的匹配问题,二分图的匹配就是找一个边的集合,每条边的的顶点的度数为1。 如上图所示,匹配到四条边。 二分图的完美匹配,就是所有的顶点都
阅读全文
摘要:2016 ICPC总结 九月份开学,开始知识点的补充,刚开始的几周都在刷acmsteps,十月开始进行专题性的学习,首先进行的数据结构,给自己定的计划,十一月前看完数据结构,刚开始的时候看的都是以前的内容很快,看题的时候很快就理解了,看到线段树的时侯就发现了,以前看的东西太基础了,只是明白了基础的内
阅读全文
摘要:数据结构—KMP KMP算法用于解决两个字符串匹配的问题,但更多的时候用到的是next数组的含义,用到next数组的时候,大多是题目跟前后缀有关的 。 首先介绍KMP算法:(假定next数组已经学会,后边next数组会在介绍) 上图T为主链,P为模板链,要求P在T中是否出现,出现就返回位置。 朴素算
阅读全文
摘要:性质:如果len%(len-next[len-1])==0,则字符串中必存在最小循环节,且循环次数即为len/(len-next[len-1]); 证明:在前len个字符组成的字符串,存在最小循环节k,那么next[len-1]=len-k;(为什么呐?因为next数组的定义就是最大前后缀相同的子串
阅读全文
摘要:线段树总结 ——这个周末训练赛和codeforces,加上自己有点偷懒导致进度严重推迟 线段树,顾名思义是在树上的线段,通过建树来维护你需要的操作,基本的操作有:区间求和,区间求最值,区间异或(这个实际上和区间更新差不多,就是加上值这个操作换成了异或),区间覆盖,扫描线求面积,线段树求区间连续字段。
阅读全文
摘要:树的直径又称树上最长的路,结论为从某一点搜出最长的路径一定是s或t点,再用一次搜索就会找出树的直径 只要运用的就是反证法。 现在假设s到t是树的直径。 取某一点u,搜到的最远点为x; 1. u在s-t路径上: 如果u在直径上,那么下一步肯定会搜到直径的某点,(如果,不是直径的某点的话,那么,dis(
阅读全文
摘要:树状数组 数据结构知识点1-树状数组 树状数组的用途就是维护一个数组,重点不是这个数组,而是要维护的东西,最常用的求区间和问题,单点更新。但是某些大牛YY出很多神奇的东西,完成部分线段树能完成的功能,比如区间更新,区间求最值问题。 树状数组当然是跟树有关了,但是这个树是怎么构建的呐?这里就不得不感叹
阅读全文
摘要:首先人脑能识别的,也就是我们常写的就是原码,因为数字都有正负之分所以,二进制的时候用最高位表示正负,0为正,1为负,例如3二进制位00000011,-3二进制位10000011. 反码:正数的反码等于其本身,负数的反码:符号位不变其他位取反。(00000011)原=(00000011)反,(1000
阅读全文
摘要:总结这一个暑假呐,就是被DP虐哭了的一个月,这TM就是一门玄学,没有一定的脑洞,怎么可能学好DP,用抽象的思维将一个大问题拆分成多个阶段决策问题,然后表示每个阶段的状态,再在每个状态之间进行决策的选择。题做多了之后才发现,DP的过程其实就是将状态你前面记录的过程记忆下来,然后后面你进行决策的时候以这
阅读全文