随笔分类 - ACM_数论
摘要:题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1095 题意: 给你包含1~n的排列,初始位置1,2,3...,n,问你刚好固定前m个数中的k个数的位置,问你有多少中排列方案。(比如5 3 2有1 4 3 2 5这种方案,1和3
阅读全文
摘要:Problem A Daxia & Wzc's problem Accept: 42 Submit: 228Time Limit: 1000 mSec Memory Limit : 32768 KB Accept: 42 Submit: 228Time Limit: 1000 mSec Memory
阅读全文
摘要:题目链接:http://codeforces.com/gym/100548/attachments 有n个物品 m种颜色,要求你只用k种颜色,且相邻物品的颜色不能相同,问你有多少种方案。 从m种颜色选k种颜色有C(m, k)种方案,对于k种颜色方案为k*(k-1)^(n-1)种。但是C(m, k)*
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794 多校这题转化一下模型跟cf560E基本一样,可以先做cf上的这个题。 题目让你求一个棋子开始在(1,1),只能像马一样走且往右下方走,不经过坏点,有多少种走法能到达(n,m)点。 比如n=6, m
阅读全文
摘要:题目链接:http://codeforces.com/contest/560/problem/E 给你一个n*m的网格,有k个坏点,问你从(1,1)到(n,m)不经过坏点有多少条路径。 先把这些坏点排序一下。 dp[i]表示从(1,1)到第i个坏点且不经过其他坏点的路径数目。 dp[i] = Luc
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768 给你n个同余方程组,然后给你l,r,问你l,r中有多少数%7=0且%ai != bi. 比较明显的中国剩余定理+容斥,容斥的时候每次要加上个(%7=0)这一组。 中间会爆longlong,所以在其
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/449/C 给你n个数,从1到n。然后从这些数中挑选出不互质的数对最多有多少对。 先是素数筛,显然2的倍数的个数是最多的,所以最后处理。然后处理3,5,7,11...的倍数的数,之前已经挑过的就不能再选了。要
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/7/C 给你一个直线方程,有整数解输出答案,否则输出-1。 扩欧模版题。这里有讲解:http://www.cnblogs.com/Recoder/p/5459812.html (很久没写exgcd,都不会写了
阅读全文
摘要:扩展欧几里德算法 要是 a*x + b*y = gcd(a,b) ,则一定存在整数对(x0 , y0)使其有解 则 x = x0 + (b/gcd)*t , y = y0 - (a/gcd)*t 是不定方程的通解 因为 a*x + b*y = gcd(a , b); 又因为 gcd(a , b) =
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1197 给你a和b求a到b之间的素数个数。 先在小区间素数筛,大区间就用类似素数筛的想法,把a到b之间不是素数的标记出来。因为b-a最多1e5的大小,所以每组数据的时间复杂度最多就o(1e
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/O 题意是给你n,求所有gcd(i , j)的和,其中1<=i <j <n。 要是求gcd(n , x) = y的个数的话,那么就是求gcd(n/y ,
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意很好懂,就是让你求lcm(i , j)的i与j的对数。 可以先预处理1e7以内的素数,然后用来筛选出能被n整除的所有的素数以及素数的个数,时间复杂度是小于根号的。然后用DFS或
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1138 题目就是给你一个数表示N!结果后面的0的个数,然后让你求出最小的N。 我们可以知道N!里5(包括5的倍数)的个数比2(包括2的倍数)的个数多,所以1对应5!,2对应10!... 而
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1214 题意很好懂,同余定理的运用,要是A数被B数整除,那么A%B等于0。而A很大,那我就把A的每一位拆开,比如A是2341,那么2341=2000+300+40+1,然后你懂的...
阅读全文
摘要:欧拉函数,它又称为Euler's totient function、φ函数、欧拉商数等,对正整数n,欧拉函数是小于n且和n互质的正整数(包括1)的个数。例如Euler(8)=4,因为1,3,5,7均和8互质,下面用E(n)表示欧拉函数的值。 Euler函数表达通式:E(x)=x*(1-1/p1)*(
阅读全文
摘要:给你一个数n,请问n以内有多少个素数?(n <= 10e7) 一般来说,要是对一个整数进行素数判断,首先想到的是写个函数判断是否为素数,然后调用这个函数,时间复杂度为O(n^(½)),但是要求n以内的素数就略显吃力了. 要是求n以内的素数个数的话,可以用埃式筛选.预处理一下. 先看下面的代码: 结合
阅读全文