spoj 4491 莫比乌斯反演
题意:
给出a,b,求gcd(x,y)=prime的方案数,其中:1
限制:
1
思路:
先把问题拆成一个一个来考虑,然后问题就变成gcd(x,y)=k的方案数。
设f(k)为gcd(x,y)=k的方案数,
设F(k)为gcd(x,y)为k的倍数的方案数,显然F(k)=floor(a/k)*floor(b/k)。
由莫比乌斯反演得:
...
分类:
其他好文 时间:
2015-03-15 16:52:27
阅读次数:
285
题目:http://www.spoj.com/problems/PIGBANK/简单的背包问题。。#include#include#define INF 1000000005int ew,fw,n,i,j,t,m;int v[505],w[505],f[10005];int min(int a,in...
分类:
其他好文 时间:
2015-03-15 16:47:39
阅读次数:
126
有一个序列,有一个数只出现一次而其他数都出现两次,要求找出这个数。异或运算的自反性。。#includeint n,x,p;int main(){ scanf("%d",&n); while(n--){ scanf("%d",&x); p^=x; } ...
分类:
其他好文 时间:
2015-03-15 16:34:47
阅读次数:
126
DP水题。。#include#includeint t,i,j,n,m,s,a[105][105],f[105][105];int max(int a,int b){return a>b?a:b;}int main(){ scanf("%d",&t); while(t--){ ...
分类:
其他好文 时间:
2015-03-15 15:16:15
阅读次数:
158
找循环节。。或者可以知道最后肯定会到1位数,可以手动求十以内的#include#includeint n;int dt(int s,int t){ int r=s,p; if(s<10&&(s!=1&&s!=7))return -1; if (s==1)return t; p...
分类:
移动开发 时间:
2015-03-15 15:12:56
阅读次数:
132
简单的数学题。要%1000007,开long long#includelong long n,ans;int t;int main(){ scanf("%d",&t); while(t--){ scanf("%lld",&n); ans=n*(n+1)/2*3...
分类:
其他好文 时间:
2015-03-14 10:58:40
阅读次数:
120
求树的最长链,BFS和DFS都可以,时间复杂度O(n)#include#includeint tot,vt[20005],nxt[20005],a[20005];bool vis[10005];int n,i,j,xx,yy,s,ma,r;void search(int x,int dep){ .....
分类:
其他好文 时间:
2015-03-14 10:58:28
阅读次数:
207
这是我的第一个边权链剖
COGS上和SPOJ有点不一样就是没有多组数据了本质还是一样的
我写的是COGS那个其实改一改就可以去SPOJ AC了= -=
(可是我现在上不去SPOJ卧槽(╯‵□′)╯︵┻━┻)
【题目描述】一天机房的夜晚,无数人在MC里奋斗着。。。大家都知道矿产对于MC来说是多么的重要,但由于矿越挖越少,勇士们不得不跑到更远的地方挖矿,但这样路途上就会花费相当大的时间,导致挖...
分类:
其他好文 时间:
2015-03-14 09:36:58
阅读次数:
161
字符串,状压一下。。#include#includeint n,t,i;int a[45];int b[8];char s[45];int main(){ scanf("%d",&t); while(t--){ memset(b,0,sizeof(b)); s...
分类:
其他好文 时间:
2015-03-14 09:34:37
阅读次数:
175
题目大意:维护一棵树,支持查询两点间路径最大值,以及修改某边的权值。裸的树链剖分+线段树。。不多说这题卡常数卡的厉害啊!vector完全过不了然后。。我就写了我一点都不熟悉的普通邻接表。虽然代码丑,虽然依然很慢,虽然有点长,但是它至少A了。。 1 #include 2 #include 3 #...
分类:
其他好文 时间:
2015-03-13 18:36:53
阅读次数:
233