随笔分类 -  ACM_组合数学

摘要:题目地址:http://poj.org/problem?id=1833直接调用stl里面的next_permutation 只要调用了,不管返回什么,都取了下一个排序。 神奇的是,用c++ac,用g++交tle,跪了 ...代码:#include #include #include using namespace std; int p[1024]; int main() { int n,k,m; cin>>m; while(cin>>n>>k) { for(int i=0;i<n;i++) scanf("%d",&p[i]) 阅读全文
posted @ 2013-09-07 21:41 814jingqi 阅读(109) 评论(0) 推荐(0)
摘要:题目地址:http://poj.org/problem?id=3844思路: a[i]+a[i+1]+...+a[j]=s[j]-s[i]; 于是整除等价于 s[i]===s[j] (mod d); 然后统计出现了多少次 c[n][2]就可以了 。 值得注意的是,有可能50000* (50000-1)/2 要用long long每次进入一个新case 后把p 清零,sum【i】表示前i个数的和, 0= #include #include using namespace std; int sum[50005]; int p[1000000]; int main() { int T; ci... 阅读全文
posted @ 2013-09-04 11:10 814jingqi 阅读(167) 评论(0) 推荐(0)
摘要:题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4030 只要在哪一个状态下是小的那个赢了,游戏就结束。 所以我们考虑最坏的情况,每次都是小的赢,自己变为两倍。想起了之前选拔赛那个两个盒子之间球倒来倒去那个题。当时只要超过1000次就认为进入循环了。 这里计算概率也要分两种情况,进入循环和不进入循环。 不进入循环就会在某一时刻a【k】==b【k】。 意味着会有k+1轮, 对于期望,最后一个不再是(k+1)*0.5^(k+ 阅读全文
posted @ 2013-08-19 01:07 814jingqi 阅读(188) 评论(0) 推荐(0)
摘要:题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2662思想: 1 先把每个概率乘起来,然后乘以可充排列的种数。 2 先一开始用(n1+n2+n3+...+nk)! / (n1! *n2! * n3!*...*nk!) 来算,sb了 因为用BigInteger太慢了~ 这个数是可以很大很大的, 50!呀。但是这个数可以拆成组合数的乘积: c[n1+n2+..+nk][n1] *c[n2+n3+..nk][ 阅读全文
posted @ 2013-08-07 00:58 814jingqi 阅读(139) 评论(0) 推荐(0)
摘要:题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1592要点:1 结果就是所有数的和(如果小于0,就返回0) 2将所有的数排在圆周上(从a1到an顺时针存放),这样所谓的j,就是向顺时针扫描 不管扫描到哪里扫过的和必须都是正数。 在1和-1数目相等的时候刚好是0个j满足,然后增加一个1时可以用反证法证明恰好存在一个j,用数学归纳法可以证明: 设和为n时,j的个数为f(n),f(n)=n#include using namespace std; int main() { int size; ... 阅读全文
posted @ 2013-07-23 00:42 814jingqi 阅读(127) 评论(0) 推荐(0)
摘要:题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1592要点:1 结果就是所有数的和(如果小于0,就返回0) 2将所有的数排在圆周上(从a1到an顺时针存放),这样所谓的j,就是向顺时针扫描 不管扫描到哪里扫过的和必须都是正数。 在1和-1数目相等的时候刚好是0个j满足,然后增加一个1时可以用反证法证明恰好存在一个j,用数学归纳法可以证明: 设和为n时,j的个数为f(n),f(n)=n#include using namespace std; int main() { int size; ... 阅读全文
posted @ 2013-07-23 00:42 814jingqi 阅读(148) 评论(0) 推荐(0)