随笔分类 - ACM
摘要:整理计算几何模板,以及一些题目 Update 1:基础函数,点,向量的运算 Update 2:凸包,旋转卡壳 基础的函数定义 1 const double eps = 1e-8; 2 int dcmp(double x) { 3 if (fabs(x) < eps) return 0; 4 else
阅读全文
摘要:题目大意:一个树状的棋盘,A,B两种棋子。初始时没有棋子重合,每一轮AB轮流移动任意个(包括不移动)自己的棋子,可以重合。如果某一时刻一格子上同时存在A和B两种棋子,则B获胜。A尽量使游戏进行的总轮数最多,B尽量在最少的轮数获胜(B 一定能获胜),输出最少轮数。解题思路:单独考虑A的每个棋子,每次分...
阅读全文
摘要:异或运算(XOR): 异或运算也称为 按位模二加 运算,当然也就有 按位模三加 运算。 C/C++ 的运算符 : ^ 特点:A xor A = 0 根据异或运算的特点,可以解决一类问题。 1. 数组里面只有一个数出现奇数次,其他的都出现偶数次,所有数的异或和即为所求数。 2.数组里面...
阅读全文
摘要:这几天折腾了下KMP,终于算是理解了其中的原理。现在这里大概记录下,以备不时之需!! char str[MAXN]; //原串 char p[MAXN]; //需要在原串中寻找的字符串 相对于一般的字符串匹配,KMP算法优化的地方就在于 当发现当前匹配的位置 k + 1 匹配失...
阅读全文
摘要:HOJ 1288 Bridging Signalshttp://acm.hit.edu.cn/hoj/problem/view?id=1288以前只知道也只听说过 O(n*n) 的LIS 算法但是过不了这个题,结果才知道还有一种O(nlogn)的算法。具体思路就是用一个数组ans[len] 记录下对...
阅读全文
摘要:当要求某个数的高次方时,循环会十分的浪费时间,所以有了快速幂算法。由于代码不复杂,所以直接贴代码//a^k对m取模int pow(int a, int k, int m){ if(k==1) return a%m; int ans = pow(a, k/2, m); if(k%2 == ...
阅读全文
摘要:听竞赛大神讲一点知识,感觉的确十分有收获,毕竟大神们都是过来人,知道哪些是有用的,哪些是了解就行了的。所以有大神来给我们讲课真的很幸运。关于取模的运算:(a+b)%m = (a%m+b%m)%m(a*b)%m = (a%m*b%m)%m(a-b)%m = (a%m-b%m+m)%m//加m是为了保险...
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_65f3869301011a1o.html*******************************************************************************简单题(包括枚举,二分查找,(复...
阅读全文
摘要:如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7f...
阅读全文

浙公网安备 33010602011771号