码迷,mamicode.com
首页 >  
搜索关键字:取余    ( 1384个结果
编程之美 2.1 求二进制数中1的个数
如果有数n曾经用除二取余法 复杂度logn 不多说有一个logv的方法 v为1的个数 复杂度比logn小int Count(int x){ int ans = 0; while(x) { x &= (x-1); ans++; } return ans;}这里用到了位运算 x&(x-1)每次去掉一.....
分类:其他好文   时间:2014-10-07 20:12:04    阅读次数:166
cf 55D 数位dp 好题
/* 刚开始我考虑0的情况,想将他剔除就将lcmn设为-1,这样还要判断0和lcmn是-1的情况很麻烦而且但是一直出错 后来觉得不用管0的情况就行了,可以认为符合。 解:将lcmn离散化,因为1-9的公倍数必是2520的因子并且只有48个 所以用一个数组离散化,记忆的时候直接调用离散数组即可 因为一个数的所有数字的最小公倍数必定是2520的因子,所以将这个数对2520取余缩小范围并记忆 三维,第一...
分类:其他好文   时间:2014-10-07 20:06:33    阅读次数:259
acdream1412:2-3 trees 组合数dp
题意:给出一个标准2-3树的叶子节点(最底层节点)个数 L,求2-3数的形成方案数并取余分析:如果有L个叶子枚举每个可以使x*2+y*3=L的xy 那么在最底层就有c(x+y,x)种2,3的放法上一层就是有x+y个叶子的子问题这样就可以递推算了枚举时首先注意到 x=L y=-L 是一组特解,因此可以...
分类:其他好文   时间:2014-10-03 10:26:04    阅读次数:201
快速幂【codevs】1497 取余运算
2014-10-0220:34:27时间限制: 1 s 空间限制: 128000 KB 题目描述 Description输入b,p,k的值,编程计算bpmodk的值。其中的b,p,k*k为长整型数(2^31范围内)。输入描述 Input Descriptionb p k输出描述 Output Des...
分类:其他好文   时间:2014-10-02 23:16:03    阅读次数:242
hdu 4722 数位dp
/* 数位dp 开一个二维数组用来储存前len状态对10取余,有10种状态0-9; 然后直接过一遍就行了 */ #include #include #define ll __int64 #define N 20 ll digit[N],dp[N][11]; ll dfs(ll len,ll cnt,ll ok) { if(!len) { if(cnt==0)//如果可以整除返回1...
分类:其他好文   时间:2014-10-02 22:49:13    阅读次数:187
编程之美1.2 | 中国象棋将帅问题
后面两种写法很巧妙。一种利用位域,一种利用取余。这里如果不用unsigned char来做位域的话,大小就为4. unsigned char才符合题目要求。 1 void chess1() { 2 struct { 3 unsigned char a:4; 4 ...
分类:其他好文   时间:2014-10-01 18:46:11    阅读次数:168
ZOJ 3557 How Many Sets II lucas 定理
插空法 大组合数取余 #include #include using namespace std; typedef long long LL; //求整数x和y,使得ax+by=d, 且|x|+|y|最小。其中d=gcd(a,b) void gcd(LL a, LL b, LL& d, LL& x, LL& y) { if(!b) { d = a; x = 1; y = ...
分类:其他好文   时间:2014-09-29 19:37:31    阅读次数:218
HDU 3117 Fibonacci Numbers(Fibonacci矩阵加速递推+公式)
题目意思很简单:求第n个Fibonacci数,如果超过八位输出前四位和后四位中间输出...,否则直接输出Fibonacci数是多少。 后四位很好求,直接矩阵加速递推对10000取余的结果就是。 前四位搜了一下:http://blog.csdn.net/xieqinghuang/article/details/7789908 Fibonacci的通项公式,对,fibonacci数是有通...
分类:其他好文   时间:2014-09-29 13:52:51    阅读次数:301
POJ 1715
同样是确定某位上的数,当确定某一位后,其后面的排列数是确定的,所以可以用除法和取余数的方法来确定这一位的值#include #include #include using namespace std;int lim[10];bool vis[20];int ans[20],ansl;void ini...
分类:其他好文   时间:2014-09-28 23:31:45    阅读次数:179
二进制最大公约数算法
求最大公约数的Euclid算法需要用到大量的取模运算,这在大多数计算机上是一项复杂的工作,相比之下减法运算、测试数的奇偶性、折半运算的执行速度都要更快些。二进制最大公约数算法避免了Euclid算法的取余数过程。二进制最大公约数基于下述事实:若a、b都是偶数,则gcd(a,b)=2*gcd(a/2,b...
分类:其他好文   时间:2014-09-28 03:13:30    阅读次数:191
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!