码迷,mamicode.com
首页 >  
搜索关键字:取余    ( 1384个结果
HDU 3782 xxx定律
/* 中文题意: 中文翻译: 题目大意: 解题思路:当n不为1的时候,用while循环,直到出现n为止,while循环很适合循环次数不确定时使用。 难点详解:对位运算的理解 关键点:位运算 解题人:lingnichong 解题时间:2014/08/01   15:41 解题感受:c语言学多了后,在参加竞赛时,取余的话都用n&1=0为偶数,n&1=1为奇数。 */ ...
分类:其他好文   时间:2014-08-01 20:01:42    阅读次数:170
NYOJ 102 次方求模
快速幂取模算法的时间复杂度为O(logb),能在几乎所有的程序设计(竞赛)过程中通过,是目前最常用的算法之一,值得推广学习!!! 首先要了解这样一个公式:a^b mod c=(a mod c)^b mod c(详细证明请看数论或者离散数学) 了解了这个公式,我们可以先让a关于c取余,这样可以大大减少a的大小, 于是不用思考的进行了改进,代码如下: ..........
分类:其他好文   时间:2014-08-01 00:09:31    阅读次数:299
编程之美 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)每次去掉一个1 举个例子  100010001000&(10...
分类:其他好文   时间:2014-07-31 20:55:27    阅读次数:225
HDU 1395 2^x mod n = 1
/* 中文题意: 中文翻译: 题目大意:求出最小的 n 使得2的 I 次方对 n 的值为1. 解题思路:如下: 难点详解:先用费马小定理了解2的 i 次方对偶数取余都不可能是一,还有就是排除 1 。之后要用中国剩余定理让 t 的值不超出 int 范围。不用这个定理我错了n次,都是超时。我猜测可能是 t 的值超出了int 的范围了,之后的数都是随机的,所以一直运行不出来,才会超时的。(不知...
分类:其他好文   时间:2014-07-31 13:17:46    阅读次数:185
快速幂取余
求a^b mod c  算法1. 首先直接地来设计这个算法: int ans=1, i; for(i=1;i<=b;i++) ans*=a; ans%=c; 这个算法的时间复杂度体现在for循环中,为O(b). 这个算法存在着明显的问题,如果a和b过大,很容易就会溢出。 那么,我们先来看看第一个改进方案:在讲这个方案之前,要先有这样一个公式: a^b mod c=(...
分类:其他好文   时间:2014-07-29 18:05:02    阅读次数:308
快速幂取余
求a^bmodc算法1.首先直接地来设计这个算法:int ans=1, i; for(i=1;i0) { if(b % 2 == 1) ans = (ans * a) % c; b = b/2; a = (a * a) % c; ...
分类:其他好文   时间:2014-07-29 17:25:12    阅读次数:152
POJ 3150 Cellular Automaton(矩阵乘法+二分)
题目链接题意 :给出n个数形成环形,一次转化就是将每一个数前后的d个数字的和对m取余,然后作为这个数,问进行k次转化后,数组变成什么。思路 :下述来自here首先来看一下Sample里的第一组数据。1 2 2 1 2经过一次变换之后就成了5 5 5 5 4它的原理就是a0 a1 a2 a3 a4->...
分类:其他好文   时间:2014-07-29 11:05:36    阅读次数:260
C 语言 整理
//++,自增1。--,自减1;//++,--,在变量的前面,先参与运算,再++,--//++,--,在变量的后面,先++,--,后参与运算//复合运算符,+=,-=,*=,/=,%=,//复合运算符之间不能加空格。//取余运算符的两端都必须为整数。//基本的输出函数//%d整型%f浮点数%c字符型%ld长整形//com+shi..
分类:其他好文   时间:2014-07-28 00:34:10    阅读次数:199
UVA - 10673 Play with Floor and Ceil
题目来源:http://vjudge.net/problem/viewProblem.action?id=19592扩展欧几里得方程: ax+by=gcd(a,b)一定有解 把a=floor(x/k);b=ceil(x/k);floor,ceil分别为向下取余和向上取余。 ...
分类:其他好文   时间:2014-07-27 09:49:22    阅读次数:297
POJ1845 数论 二分快速取余
大致题意:求A^B的所有约数(即因子)之和,并对其取模 9901再输出。解题思路:应用定理主要有三个:(1) 整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 其中pi均为素数(2) 约数和公式...
分类:其他好文   时间:2014-07-26 14:24:40    阅读次数:291
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!