
数论
文章平均质量分 76
kk303
这个作者很懒,什么都没留下…
展开
-
USACO Section 3.2 Stringsobits - 排列组合
首先要恶心两点..数据要用64位整型来处理...再一个...00000也是要算个数里的...所以在来推时将N-1再推更为直观... 这道题思路还是很好出来的...就用排列组合的思维...C(m,k)表示m个中挑出k个..对应本题..C(m,k)就还能代表 m 长度里有k个1的总情况数.那么给出了N,L,I..若c(N-1,L)+c(N-1,L-1)+c(N-1,L-2)...+c(N-原创 2011-12-13 22:56:41 · 907 阅读 · 0 评论 -
POJ 2689 - Prime Distance 任意区间内筛素数
和1~n范围内筛素数差不多...只不过对于每个素数加了一个偏移量了..比如在5 10这个区间..筛掉2的倍数..那么从6开始剔除...由于题目所给的数据..最大的合数..其质因子不会大于10^5..所以先用传统的筛素数法把1~10^5内的素数找出..然后再来筛[L,U]这个区间的素数...Program:#include#include#include#include#in原创 2013-08-02 13:50:15 · 731 阅读 · 0 评论 -
CodeForces 146E - Lucky Subsequence DP+扩展欧几里德求逆元
题意: 一个数只含有4,7就是lucky数...现在有一串长度为n的数...问这列数有多少个长度为k子串..这些子串不含两个相同的lucky数... 子串的定义..是从这列数中选出的数..只要序号不同..就不不同的串..如 1 1 的长度为1的子串有两个 题解: 解题前可以先求一下1000000000内有多少个数是lucky的...可以递原创 2013-07-30 12:38:26 · 1479 阅读 · 0 评论 -
CodeForces Round #191 (327C) - Magic Five 乘法逆元与费马小定理
这题的关键还是如何求等比数列之和,之前使用的二分求和...这里用数论的知识直接解决... 对于(a/b)%c这类运算不能等价于(a%c / b%c)...但是可以等价为(a*b')%c...其中b'为b的逆元.. 而(a*b')%c这类运算可以拆解为(a%c * b%c).. 那么关键就是求c的逆元了.. 值得留意的是10000007是一个质数... 根据费原创 2013-07-15 21:10:20 · 1806 阅读 · 0 评论 -
HDOJ 4474 - 简单分析后,BFS
若k=a*10+b...那么k%m=(a*10)%n+b%n...利用这个性质就可以BFS了...一位一位的搜... 当出现对n取余为0...则找到答案... 由于n最大为10000,而搜的时候,每个余数之考虑其第一个存在的数(最小的)..所以时间上完全ok....Program:#include#include#include#include#in原创 2013-06-08 11:33:42 · 1225 阅读 · 0 评论 -
HDOJ 4549 - M斐波那契数列 费马小定理,矩阵乘法
矩阵乘法求线性关系的数列...而本数列不是线性关系..无法对F(n)构造矩阵直接用矩阵乘法解决... 不难发现若取log F(n)...则log F(n) = log F(n-1) + log F(n-2)....可以转化成线性关系... 引入一个非常重要的定理....费马小定理...描述: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)原创 2013-06-02 16:54:57 · 1530 阅读 · 0 评论 -
CodeForces Round #183 (303C) - Minimum Modular
两数a,b同余m,显然(a-b)%m=0.....若有m%p=0...那么(a-b)%p=0.... 将所有的(a[j]-a[i])记录下来...用c[1000000]的表来记...如果一个数p是N对数的同余..那么c[p]=N... 有了上面的处理,就可以方便的统计出对于当前枚举的md...会产生多少对同余的(将md所有的整数倍c[ ] 加起来)... 但产生了N对同余的原创 2013-05-21 18:23:25 · 1511 阅读 · 0 评论 -
编程之美2013 初赛一 A - 竞价 学习大牛的思路
这题我做了N久也做不出....赛后看了大牛AC的思路....Program:#include#include#include#include#include#include#include#include#define ll long long#define oo 1000000007using namespace std; int judge(int原创 2013-04-14 09:41:33 · 2086 阅读 · 5 评论 -
HDOJ-1271 换个思维就简单多了...
老早就尝试过这题..结果枚举方式不是很简洁...写起来各种蛋疼..昨晚听了惊奇哥的讲解就果断水了... 设B=Bn,Bn-1,...B2,B1 枚举是再哪个位置插入了个位数k...比如枚举是第i位后面插入了个位数k..那么得到的 N=11*(Bn,Bn-1,...Bk+1)*(10^(i+1))+k*(10^i)+2*(Bk-1原创 2012-04-14 09:46:35 · 1184 阅读 · 0 评论 -
HDOJ 4305 - Lightning 判断点在线段上+构造Matrix Tree求生成树的个数+高斯消元
题意: 有N个点在二维平面上...两点间若距离不大于R并且构成的线段中没有其他的点..则可以连一条边..现在问..这个图有多少个生成树 题解: 觉得这题好屌...一些计算几的知识+神奇的矩阵+高斯消元(同时要求逆元)... 先构原创 2013-08-10 09:46:46 · 870 阅读 · 0 评论