IT民工
加油!
摘要: 威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。/*黄金分割比例判断是不是非奇异局势,面对奇异局势必败两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜反之,则后拿者取胜。*///公式 ak =[k(1+√5)/2],bk= ak + k/*Accepted 184K 0MS C++ 334B 2012-08-23 16:55:14*/#include<stdio.h>#include<math.h>const double key = (sqrt(5.... 阅读全文
posted @ 2012-08-23 17:05 找回失去的 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 并查集判断两个点是否联通,只需看他们的根节点是不是相同。/*Accepted 224K 2688MS C++ 1339B 2012-08-23 16:32:01*/#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>const double eps = 1e-8;const int MAXN = 1 << 10;int n, in[MAXN], p[MAXN], m;double d;struct point{ double x, y;}t[MAXN 阅读全文
posted @ 2012-08-23 16:34 找回失去的 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 求一个五元三次方程的解的个数,虽然x的范围比较小,但是要枚举五个数字时间复杂度也是100的五次方,肯定会超时,将方程改变下,前两项移到左边,加个负号。这样算的时间复杂度就变成了100^3+100^2,不会超时了,值得注意的是HASH数组很大,用short才不会超出内存。/*Accepted 49136 KB 735 ms C++ 1156 B 2012-08-23 09:16:51*/#include<stdio.h>#include<string.h>#include<stdlib.h>const int MAXN = 25000000;short has 阅读全文
posted @ 2012-08-23 12:22 找回失去的 阅读(188) 评论(0) 推荐(0) 编辑