摘要: 这题不难吧,如果正在做组合的题。。。使用容斥原理求解出(1~x)的与p互素的和,这是很容易的,很明显,首先要把p分解质因数。而对于第二个操作,记录下他的转换的顺序,当要执行第一个操作时,遍历一次记录下的操作转换就可以了。呃,这题虽然想到,但是,我的WA。看了网上的,思路和我的一样,我自己COPY别人... 阅读全文
posted @ 2014-10-01 20:41 chenjunjie1994 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 呃,我竟然傻了,同时被a且b整除的个数为n/(a*b)。其实应该是n/[a,b]才对,是他们的最小公倍数啊。。。#include #include #include using namespace std;__int64 ans;__int64 set[30];__int64 n;int m;__i... 阅读全文
posted @ 2014-10-01 15:38 chenjunjie1994 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 做出这题,小有成就感本来已打算要用那个禁位的排列公式,可是,问题在于,每个阶乘前的系数r的求法是一个难点。随便翻了翻那本美国教材《组合数学》,在容斥原理一章的习题里竟有一道类似,虽然并无答案,但他的注意倒是提醒了我。不妨把那2*n个位置看成排成一个圆周的一列,从中选出k个不相邻的数的组合数。不过,经... 阅读全文
posted @ 2014-10-01 14:52 chenjunjie1994 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 赤裸的带禁区的排列数,不过,难点在于如何用程序来写这个公式了。纠结了好久没想到,看了看别人的博客,用了DFS,实在妙极,比自己最初想用枚举的笨方法高明许多啊.\http://blog.csdn.net/hlmfjkqaz/article/details/11037821自己理解那个DFS后自己敲的。... 阅读全文
posted @ 2014-10-01 11:31 chenjunjie1994 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 简单错排#include #include #include #define LL __int64using namespace std;LL Cnk[25][25];LL Dn[25];void initial(){ for(LL i=1;i<25;i++){ Cnk[i][0]=1; for... 阅读全文
posted @ 2014-10-01 10:07 chenjunjie1994 阅读(222) 评论(0) 推荐(0) 编辑