转自http://blog.csdn.net/houserabbit/article/details/41513745题解写的真棒。。题目链接:http://codeforces.com/problemset/problem/487/C题目大意:构造一个1~n的排列 使得n个前缀积对n取余是一个0~...
分类:
其他好文 时间:
2015-04-03 00:03:51
阅读次数:
196
ZOJ 3777 Problem Arrangement状态压缩DP,种数DP,dp[s][m]代表当前被占位置的集合分数为m的方案数,父母是总数n!,记忆化搜索好写by fdZOJ 3785 What day is that day?等比数列,逆元,快速幂,当然可以暴力找循环节,有mod肯定有循环...
分类:
其他好文 时间:
2015-04-02 22:22:17
阅读次数:
151
题目大意:
RSA是个有名的公匙密码系统。在这个系统中,每个参与者有一个只能自己知道的私匙和一个每个人都
知道的公匙。为了安全地把信息传递给对方,应该用公匙对信息进行加密,对方用自己的私匙进行解密。
对RSA系统的描述如下:
首先,选择两个大素数P、Q,计算N = P * Q。
然后,选择一个正整数E作为加密密匙,令T = (p-1)*(q-1),且gcd(E,T) = 1。
最后,计算解密密匙D,使得(E * D) mod T = 1,这里D是E模T的逆元。
公匙表示为{E,N},私匙表示为{D,N},P...
分类:
其他好文 时间:
2015-03-28 11:39:59
阅读次数:
146
描述你被要求设计一个计算器完成以下三项任务:
1、给定y,z,p,计算Y^Z Mod P 的值;
2、给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数;
3、给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数。分析
第一问快速幂
第二问线性模方程. x = z * inv(y) (mod p), 求逆元可以用费马小定理. yp?1≡1(modp)y^{p...
分类:
其他好文 时间:
2015-03-20 14:27:58
阅读次数:
194
即求区间的乘积的欧拉函数模一个数预处理前60个素数和逆元,用线段树维护区间乘机和每个素数出现的次数(我用了bitset嗯嗯嗯)于是可以O(sqrt(n))求出欧拉函数 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 ...
分类:
其他好文 时间:
2015-03-12 20:32:45
阅读次数:
215
BC # 32 1003题意:定义了括号的合法排列方式,给出一个排列的前一段,问能组成多少种合法的排列。这道题和鹏神研究卡特兰数的推导和在这题中的结论式的推导:首先就是如何理解从题意演变到卡特兰数:排列的总长度为 n ,左右括号各为 m = n / 2 个。当给定的排列方式完全合法的时候,剩下需要排...
分类:
其他好文 时间:
2015-03-12 00:48:30
阅读次数:
141
由于在计算除法时,mod 运算不能直接加在除数被除数后,因此需要将 n / a (mod b )转化为 n * x (mod b ),以便于进行模运算。求 x 的过程就称为求逆元。对于 a 、b (a 与 b 互素)满足 n / a≡ n * x (mod b ),则称 x 为 a 模 b 的逆元;...
分类:
其他好文 时间:
2015-03-11 21:28:12
阅读次数:
112
1.题目描述:点击打开链接
2.解题思路:本题是一道组合数学题,一开始用递归的思想做,但结果错误。学习了别人的解法后,豁然开朗。正确的解法是关注每一位数对整体的贡献值。比如输入的n位数是D1D2D3...D(n-1)D(n),那么当D(i)作为个位数时,它的前面必然有一个‘+’。剩下的k-1个‘+’被安置在剩下的n-2个空隙中,因此一共有C(n-2,k-1)种情况,D(i)的总贡献值是D(i)*...
分类:
其他好文 时间:
2015-03-07 08:33:50
阅读次数:
138
这题可以这样想:
对于当前第i位来说,该位若在个位上出现,那么第i位和第i+1位中间肯定有一个“+”,剩下的k-1个“+”分布在剩下的n-2个空隙中,所以出现的总次数是C(n-2,k)。同理,在十位上出现的总次数是C(n-3,k)。于是每个数字的贡献值就可以求出来了,累加即可。
所以大体思路是遍历所有可能出现的位数,从个位开始,分成两部分计算,一部分用前缀和计算出前面所...
分类:
其他好文 时间:
2015-03-05 21:00:48
阅读次数:
201