11 2013 档案

摘要:出来冒个泡由于数比较大 开了map计数 然后边走边删边加 勉强可过 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define LL long long11 #define N 20001012 int a[N],b[N],ff[N],o[N],g,vis[N];13 mapf;14 mapq;15 mapqq;16 int main()17 {18 int i,kq=0;19 LL n,m,p;... 阅读全文
posted @ 2013-11-27 13:59 _雨 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1430即使是枚举 也是有一定技术含量的 对于ax+by = n; 枚举max(a,b)中的系数 这样可以确定另一个 但问题是如何确定上限 假设max(a,b) = a,很显然是不会超n/a的 但这样还是会超时的可以设想一下假如x比b大 那么它可以拆分为x'+b吧 那把b合并y那里就好了 很明显也是不会超过b的 这样复杂度就不会超过sqrt(n) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL long long 9 int mai 阅读全文
posted @ 2013-11-11 14:29 _雨 阅读(262) 评论(0) 推荐(0) 编辑
摘要:1343想了好一会 以为会有什么定理呢 没想到 就试着搜了 看来素数还是很多的 跑的飞快注意会有前导0的情况 还有0,1不是素数。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define LL long long11 int flag;12 char a[20];13 LL p[20];14 int judge(LL x)15 {16 if(x12)28 {29 if(ju... 阅读全文
posted @ 2013-11-10 21:05 _雨 阅读(329) 评论(0) 推荐(0) 编辑
摘要:B判矩阵的时候 出了点错 根据点积判垂直 叉积判平行 面积不能为0 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 struct node 10 { 11 int x,y; 12 }p[10]; 13 int f[10]; 14 int find(node a,node b,node c,node d) 15 { 16 int flag = 0; 17 if(a.x-b.x==0||c.y-b.y... 阅读全文
posted @ 2013-11-10 20:07 _雨 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1091容斥原理 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int p[110],g,f[55],q[55],o,vis[55],pa[55],n,kk; 9 #define LL long long10 void init()11 {12 int i,j;13 for(i = 2; i 1&&s%x==0)31 {32 s/=x;33 x--;34 }35 ... 阅读全文
posted @ 2013-11-10 14:06 _雨 阅读(188) 评论(0) 推荐(0) 编辑
摘要:1141越来越喜欢数论了 很有意思先看个RSA的介绍RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。[1]RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod 阅读全文
posted @ 2013-11-08 21:27 _雨 阅读(756) 评论(0) 推荐(0) 编辑
摘要:4003思维啊 dp[i][j]表示当前I节点停留了j个机器人 那么它与父亲的关系就有了 那条边就走了j遍dp[i][j] = min(dp[i][j],dp[child][g]+dp[i][j-g]+g*w[i][child] ); 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define N 1001011 #define LL __int6412 struct node13 {14 int u,v... 阅读全文
posted @ 2013-11-08 12:53 _雨 阅读(214) 评论(0) 推荐(0) 编辑
摘要:1748反素数素数的个数随大小的递增而递减 可以相同注意各种超啊 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define INF 1e19 9 #define LL unsigned long long10 #define N 3200011 int p[N],f[N],g,po[N];12 LL maxz,tt,pp[N][100],n;13 void init()14 {15 int i,j;16 17 for(i = 2; i I... 阅读全文
posted @ 2013-11-07 09:58 _雨 阅读(229) 评论(0) 推荐(0) 编辑
摘要:CF的专业题解 :The problem was to find greatest d, such that ai ≥ d, ai mod d ≤ k holds for each i.Let m = min(ai), then d ≤ m. Let consider two cases:. In this case we will brute force answer from k + 1 to m. We can check, if number d is a correct answer in the following way:We have to check that ai mod. 阅读全文
posted @ 2013-11-06 15:10 _雨 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1355其实就是求质因子的个数 这样肯定是最多的 注意一下 除到最后不是1的情况 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 32000 9 int p[N],g,f[N];10 void init()11 {12 int i,j;13 f[0] = 1;14 f[1] = 1;15 for(i = 2; i >t;28 while(t--)29 {30 cin>>n>>m... 阅读全文
posted @ 2013-11-06 15:07 _雨 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1204大体推推 会出来这个式子 x(x-1) = k*n;n = p*q ;x(x-1)%(p*q)==0;因为p,q都为素数 那也就是说x和x-1中必定包含这两个数 而且一个里面只能有一个 不然会大于等于N当上面的k=0时 x=0||x=1 这是固定的然后 {x-pi=0; (x-1)-qi = 1}化这一组 就会变成pi-qi=1 这就变成了扩展欧几里得 必定存在一组解 解出来带入一下 注意一下负数就可以了 下一组同样这样计算{x-pi=1; (x-1)-qi = 0} 1 #include 2 #include 3 #include 4 #include 5 #include 6 #. 阅读全文
posted @ 2013-11-05 20:18 _雨 阅读(335) 评论(0) 推荐(0) 编辑
摘要:1049求约数的个数 质因子数的个数+1相乘 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 10000 9 int f[N+10],a[12],p[N+10],g,o[N+10];10 void init()11 {12 int i,j;13 for(i = 2; i >a[i];29 for(i = 1; i <= 10 ; i++)30 {31 int x = a[i];32 ... 阅读全文
posted @ 2013-11-05 18:00 _雨 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1133刚开始还用记忆化推了下公式 后来发现数是非常大的二分 然后就是精度错误 中间值会很大乱七八糟的改 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define LL long long10 #define INF 214748364711 long double f[3010];12 int main()13 {14 LL i,j,s1,s2,t,n,g;15 cin>>i>>s1>>j> 阅读全文
posted @ 2013-11-05 16:01 _雨 阅读(325) 评论(0) 推荐(0) 编辑
摘要:梅森素数 打表搜梅森素数的时候 看到一句话 欧拉在双目失明的情况下 用心算出了2的31次方-1是素数 他用心算的。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 1000010 9 int p[40]={2,3,5,7,13,17,19,31,61,89,107,127,10 521,607,1279,2203,2281,3217,4253,4423,9689,9941,11 11213,19937,21701,23209,44497. 阅读全文
posted @ 2013-11-04 22:34 _雨 阅读(197) 评论(0) 推荐(0) 编辑
摘要:1118优化1.枚举到sqrt(n)2.区间有质数直接输出最大质数3.a=1 直接输出1 4.边+边与最小值比较 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 1000010 9 double minz = N;10 bool f[N];11 void init()12 {13 int i,j;14 for(i = 2 ; i minz) break;36 }37 return sum/k;38 }39 i... 阅读全文
posted @ 2013-11-04 16:49 _雨 阅读(300) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3720 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define INF 0x3f3f3f11 mapf;12 struct node13 {14 char s[101],po[35];15 int v,k;16 }p[30];17 int pa[30],flag,w[30][30],maxz;18 void ... 阅读全文
posted @ 2013-11-03 22:36 _雨 阅读(331) 评论(0) 推荐(0) 编辑
摘要:刷了一页的WA 。。终于发现了 哪里错了 快速幂模板里一个变量t居然开得long ...虽然代码写的丑了点 但是是对的 那个该死的long 啊.. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define mod 1000000007 9 #define LL __int6410 #define N 10001011 LL n,x,a[N],s,b[N];12 LL exp_mod(LL a,LL n,LL b)13 {14 long long ... 阅读全文
posted @ 2013-11-02 23:58 _雨 阅读(283) 评论(0) 推荐(0) 编辑
摘要:一直没想到怎么去重 看了眼别人的代码...so easy啊同余啊 唉..脑子被僵尸吃掉了难得1000出个简单的 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define LL long long10 int vis[1010];11 class SparseFactorialDiv212 {13 public:14 long long getCount(long long lo, long long hi, long... 阅读全文
posted @ 2013-11-02 13:00 _雨 阅读(270) 评论(0) 推荐(0) 编辑
摘要:1291不知道为嘛被分在DP里了 瞎写 注意没被别的轮带动的情况 初始为0 分母为1 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define N 101010 vectorge[N];11 int co[N],d[N],vis[N];12 struct node13 {14 int f,nu,de;15 }p[N];16 int gcd(int a,int b)17 {18 return b==0?a:gcd(b... 阅读全文
posted @ 2013-11-01 11:25 _雨 阅读(245) 评论(0) 推荐(0) 编辑
摘要:4422小于等于3 的时候就是1024 4的时候 讨论 5的时候讨论 注意重量为0的情况 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int a[10]; 9 int n;10 int main()11 {12 int i,j,g;13 while(scanf("%d",&n)!=EOF)14 {15 int sum=0;16 for(i = 1; i <= n ; i++)17 {1... 阅读全文
posted @ 2013-11-01 10:14 _雨 阅读(172) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示