
ACM水题之路—杂算法
文章平均质量分 64
a342374071
这个作者很懒,什么都没留下…
展开
-
hdu 4004 The Frog's Games
刚开始以为是纯贪心,失策了。二分+贪心。算法还可以继续优化,不过有时间的时候再说吧。#include#includeusing namespace std;const int maxn=500005;int local[maxn],l,m,n;bool Judge(int s){ int c=0,i=0,t=1,x; while(i<n+1){ x=s; whi原创 2011-10-26 18:27:03 · 701 阅读 · 0 评论 -
poj 3070 Fibonacci (快速矩阵乘法)
#include#define P 10000using namespace std;void Mul(int a[],int b[]){ int c[4]; c[0]=(a[0]*b[0]+a[1]*b[2])%P; c[1]=(a[0]*b[1]+a[1]*b[3])%P; c[2]=(a[2]*b[0]+a[3]*b[2])%P; c[3]=(a[2]*b[1]+a[3]*b原创 2011-11-11 22:48:14 · 628 阅读 · 0 评论 -
zju 3497 Mistwald(矩阵乘法)
省赛的时候怪自己太弱,什么都不会,而如今依然……重操旧时废业。#include#include#includeusing namespace std;#define M 26struct matrix{ bool a[M][M]; int n;//重载矩阵乘法运算符 friend matrix operator* (matrix a,matrix b){ mat原创 2011-11-12 11:01:43 · 852 阅读 · 0 评论 -
zju 3557 How Many Sets II(Lucas 定理)
//http://hi.baidu.com/%CC%EC%BF%D5%D6%AE%B3%C7xin/blog/item/a8d28d8824d606649e2fb496.html#includelong long Power(long long a,long long n,long long p){ long long t=1; for(;n;n>>=1,a=a*a%p) if(n&1)原创 2011-11-12 00:40:35 · 874 阅读 · 0 评论 -
hdu 2522 A simple problem
#include#include#includeusing namespace std;//出现余数为零,或者余数出现过,即为循环节终止。int a[10001];bool hash[100001];int main(){ int T; cin>>T; while(T--){ int n,cn=0,mod=1; bool sig=true; cin>>n; if原创 2011-11-11 19:14:29 · 717 阅读 · 0 评论 -
hdu 1588 Gauss Fibonacci
/*构造矩阵: |1 1| | f(2) f(1)| A= |1 0| = | f(1) f(0)| |1 1| ^b | f(b+1) f(b)| A^b =|1 0| = | f(b) f(b-1)| f(b) = matrix[0][1]=matrix[1][0];原创 2011-11-13 02:12:04 · 937 阅读 · 0 评论 -
ZJU 1024 Calendar Game
/*zoj_1024 博弈http://blog.youkuaiyun.com/xsbailong/article/details/7205207引用别人解释:Tips:这是一道博弈题,活的胜利的一方必须翻倒2001年11月4日;下面是观察推论结果,11月4日,11+4=15是奇数。由于无论是加一天还是加一个月都会改变m+d的奇偶性,除了下面几个特例2月28日、9月30日和11月30日,显然如果m和d是这三个转载 2012-04-07 21:55:22 · 686 阅读 · 0 评论 -
强大的Python大数四则运算
#!/usr/bin/pythonimport sysrunning = Truewhile running: try: t = int(raw_input()) p = int(raw_input()) except EOFError: break原创 2012-04-16 21:03:03 · 5520 阅读 · 0 评论 -
cf 431B
#include#include#includeusing namespace std;int main(){ int iniNum[5]={0,1,2,3,4}; int allTation[121][5]; for(int i=0;i<120;i++){ for(int j=0;j<5;j++) allTation[i][j]=iniNum[j]; next_per原创 2014-06-05 09:47:14 · 736 阅读 · 0 评论