上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页

2013年8月12日

POJ2192 - Zipper(区间DP)

摘要: 题目大意 给定三个字符串s1,s2,s3,判断由s1和s2的字符能否组成字符串s3,并且要求组合后的字符串必须是s1,s2中原来的顺序、 题解 用dp[i][j]表示s1的前i个字符和s2的前j个字符能否组成s3的前i+j个字符,有两个子问题,dp[i-1][j]和dp[i][j-1],如果dp[i-1][j]为真并且s1[i]==s3[i+j]或者dp[i][j-1]为真并且s2[j]==s3[... 阅读全文

posted @ 2013-08-12 10:32 仗剑奔走天涯 阅读(179) 评论(0) 推荐(0) 编辑

2013年8月8日

UVa11584 - Partitioning by Palindromes(区间DP)

摘要: 题目大意 给定一个小写字母组成的字符串S,你的任务是划分成尽量少的回文串 题解 方程就是dp[j]=min(dp[i-1]+1)(i#include#include#includeusing namespace std;#define MAXN 1005char s[MAXN];int dp[MAXN];bool check(int l,int r){ int len=(l+r)/2; ... 阅读全文

posted @ 2013-08-08 16:22 仗剑奔走天涯 阅读(420) 评论(0) 推荐(0) 编辑

2013年8月5日

POJ2429 - GCD & LCM Inverse(Miller–Rabin+Pollard's rho)

摘要: 题目大意 给定两个数a,b的GCD和LCM,要求你求出a+b最小的a,b 题解 GCD(a,b)=G GCD(a/G,b/G)=1 LCM(a/G,b/G)=a/G*b/G=a*b/G^2=L/G 这样的话我们只要对L/G进行质因数分解,找出最接近√(L/G)的因子p,最终结果就是a=p*G,b=L/p,对(L/G)就是套用Miller–Rabin和Pollard's rho了,刚开始Pollar... 阅读全文

posted @ 2013-08-05 20:43 仗剑奔走天涯 阅读(199) 评论(0) 推荐(0) 编辑

POJ1811- Prime Test(Miller–Rabin+Pollard's rho)

摘要: 题目大意 给你一个非常大的整数,判断它是不是素数,如果不是则输出它的最小的因子 题解 看了一整天《初等数论及其应用》相关部分,终于把Miller–Rabin和Pollard's rho这两个算法看懂了O(∩_∩)O~~ Miller–Rabin主要用到了费马小定理,即:设p是一个素数,a是一个正整数且p不整除a,则ap-1≡1(mod p).若x=b(n-1)/2,x2=bn-1≡1(mod n)... 阅读全文

posted @ 2013-08-05 19:00 仗剑奔走天涯 阅读(195) 评论(0) 推荐(0) 编辑

POJ2891 - Strange Way to Express Integers(模线性方程组)

摘要: 题目大意 求最小整数x,满足x≡a[i](mod m[i])(没有保证所有m[i]两两互质) 题解 中国剩余定理显然不行。。。。只能用方程组两两合并的方法求出最终的解,刘汝佳黑书P230有讲~~具体证明和实现我是参考此大神的 代码: #includeusing namespace std;#define MAXN 100000typedef long long LL;LL m[MAXN],a[MA... 阅读全文

posted @ 2013-08-05 16:10 仗剑奔走天涯 阅读(170) 评论(0) 推荐(0) 编辑

2013年8月1日

POJ1006 - Biorhythms(中国剩余定理)

摘要: 题目大意 略。。。有中文。。。 题解 就是解同余方程组 x≡(p-d)(mod 23) x≡(e-d)(mod 28) x≡(i-d)(mod 33) 最简单的中国剩余定理应用。。。。 代码: #include#includeusing namespace std;void gcd(int a,int b,int &d,int &x,int &y){ if(!b) { d... 阅读全文

posted @ 2013-08-01 15:59 仗剑奔走天涯 阅读(202) 评论(0) 推荐(0) 编辑

POJ2115 - C Looooops(扩展欧几里得)

摘要: 题目大意 求同余方程Cx≡B-A(2^k)的最小正整数解 题解 可以转化为Cx-(2^k)y=B-A,然后用扩展欧几里得解出即可。。。 代码: #include using namespace std;typedef long long LL;void extended_gcd(LL a,LL b,LL &d,LL &x,LL &y){ if(!b) { d=a,x=1,... 阅读全文

posted @ 2013-08-01 10:36 仗剑奔走天涯 阅读(246) 评论(0) 推荐(0) 编辑

POJ1365 - Prime Land(质因数分解)

摘要: 题目大意 给定一个数的质因子表达式,要求你计算机它的值,并减一,再对这个值进行质因数分解,输出表达式 题解 预处理一下,线性筛法筛下素数,然后求出值来之后再用筛选出的素数去分解。。。。其实主要就是字符串处理。。。 代码: #include #include #include #define MAXN 10000char str[MAXN],s[MAXN][7];int prime[MAXN*5],... 阅读全文

posted @ 2013-08-01 10:29 仗剑奔走天涯 阅读(249) 评论(0) 推荐(0) 编辑

POJ2739 - Sum of Consecutive Prime Numbers(素数问题)

摘要: 题目大意 给定N,要求你计算用连续的素数的和能够组成N的种数 题解 先筛选出素数,然后暴力判断即可。。。 代码: #include#includeusing namespace std;#define MAXN 10000int prime[MAXN+5],cnt;bool check[MAXN+5];void get_prime(){ cnt=0; memset(check,fa... 阅读全文

posted @ 2013-08-01 10:02 仗剑奔走天涯 阅读(189) 评论(0) 推荐(0) 编辑

POJ1401 - Factorial

摘要: 题目大意 N!末尾0的个数 题解 0只能由2*5产生,所以只要求2,5有多少对即可,又因为10!中5的个数少于2,所以只要求因子5有多少个即可,答案即为N/5+N/25+N/125.. 代码: #includeint main(void){ int T; scanf("%d",&T); while(T--) { int n,ans=0; scan... 阅读全文

posted @ 2013-08-01 09:53 仗剑奔走天涯 阅读(149) 评论(0) 推荐(0) 编辑

POJ1423 - Big Number(Stirling公式)

摘要: 题目大意 求N!有多少位 题解 用公式直接秒杀。。。 代码: #include#includeusing namespace std;#define ESP 1e-9#define Pi acos(-1)#define e exp(1.0)int main(){ int T; cin>>T; while(T--) { int digit; dou... 阅读全文

posted @ 2013-08-01 09:48 仗剑奔走天涯 阅读(186) 评论(0) 推荐(0) 编辑

2013年7月25日

HDU4614 - Vases and Flowers(二分+线段树)

摘要: 题目大意 给定一个区间[0,N-1],初始时每个位置上的数字都是0,可以对其进行以下两种操作: 1、在位置A开始寻找F(如果没有这么多,则有多少个就找多少个)个数值为0的位置,把位置上的数修改为1,并返回第一个和最后一个修改的位置 2、查询区间[a,b]内1的个数,并把区间[a,b]每个位置上的数修改为0 题解 基础的线段树~~~第一个操作可以用二分求出始末位置,然后进行区间修改,第二问就是区间查... 阅读全文

posted @ 2013-07-25 19:57 仗剑奔走天涯 阅读(333) 评论(0) 推荐(0) 编辑

2013年7月20日

POJ2689 - Prime Distance(素数筛选)

摘要: 题目大意 给定两个数L和U,要求你求出在区间[L, U] 内所有素数中,相邻两个素数差值最小的两个素数C1和C2以及相邻两个素数差值最大的两个素数D1和D2,并且L-U#include#includeusing namespace std;#define MAXN 50005#define INF 1000005int prime[MAXN];bool com[MAXN],f[INF];int ... 阅读全文

posted @ 2013-07-20 20:08 仗剑奔走天涯 阅读(271) 评论(0) 推荐(0) 编辑

POJ2773 - Happy 2006(欧拉函数)

摘要: 题目大意 给定两个数m,k,要求你求出第k个和m互质的数 题解 我们需要知道一个等式,gcd(a,b)=gcd(a+t*b,b) 证明如下:gcd(a+t*b,b)=gcd(b,(a+t*b)%b)=gcd(b,a%b)=gcd(a,b) 所以区间[1,m-1]与m互质的个数等于区间[1+t*m,(t+1)*m-1]与m互质的个数,即都等于phi(m),那么答案就等于第k%phi(m)个与m互素的... 阅读全文

posted @ 2013-07-20 11:34 仗剑奔走天涯 阅读(247) 评论(0) 推荐(0) 编辑

2013年7月19日

POJ2478 - Farey Sequence(法雷级数&&欧拉函数)

摘要: 题目大意 直接看原文吧。。。。 The Farey Sequence Fn for any integer n with n >= 2 is the set of irreducible rational numbers a/b with 0 #include#include#include#define MAXN 1000005using namespace std;int phi[MAXN],... 阅读全文

posted @ 2013-07-19 16:26 仗剑奔走天涯 阅读(221) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页

导航