摘要:
比赛地址 :http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25748 阅读全文
摘要:
题目地址 :http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1420思路:一开始看这个题觉得题意简单但不同的月份有不同的天数,有点不知怎么方便的解决。 然后想到打表的方法,把每一天的信息作为一个结构体,一一存在向量里面,向量的角标是自增的,刚好就是里2000-01-01的天数。注意 :1 闰年的判断2输出格式 1-1要写成 01-013 超内存问题 要把三个属性值设置成 short int ,直接int会超内存4 星期问题,2000-01-01是周六 所以第n天就是 周(n+6)%7代码:#include
#include
阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1788说明: 题目很水 提到一个定理,求多个数的最小公倍数转化为求两个数的最小公倍数方法。 然后就是 a=b(mod m1) a=b(mod m2) 等价于a=b(mod [m1,m2] )#include
using namespace std;
typedef long long inta; int gcd(int a,int b)
{ if(b==0) return a; else return gcd(b,a%b); }
int main()
{ int k,a; ... 阅读全文
摘要:
题目地址:http://poj.org/problem?id=1006中国剩余定理的应用#include
using namespace std;
typedef long long inta; void extend_gcd(inta a,inta b,inta &x,inta &y)
{ if(b==0) { x=1; y=0; } else { extend_gcd(b,a%b,x,y); int temp=x; x=y; y=temp-a/b*y; }
}
int main()
... 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3579要点; 题目要求正整数,一旦r1=0;应该输出最小公倍数#include
#include
using namespace std;
typedef long long inta; void extend_gcd(inta a,inta b,inta &x,inta &y,inta &gcd)
{ if(b==0) { x=1; y=0; gcd=a; } else { extend_gcd(b,a... 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1573注意要点:1 最后的次数直接用除法 取高斯加1即可 若用加法累加会超时2 很容易漏掉的一点是题目要求正整数个数, 不是非负整数 ,如果最后r1==0 而且结果不是0 ,就要在结果上减一#include
#include
using namespace std;
typedef long long inta; void extend_gcd(inta a,inta b,inta &x,inta &y,inta &gcd)
{ if(b==0) { x=1; ... 阅读全文
摘要:
题目地址:http://poj.org/problem?id=2115#include
#include
using namespace std;
typedef long long inta; void extend_gcd(inta a,inta b,inta &x,inta &y,inta &gcd)
{ if(b==0) { x=1; y=0; gcd=a; } else { extend_gcd(b,a%b,x,y,gcd); inta temp=x; x=y; ... 阅读全文
摘要:
题目地址:http://poj.org/problem?id=2891#include
#include
using namespace std;
typedef long long inta; void extend_gcd(inta a,inta b,inta &x,inta &y,inta &gcd)
{ if(b==0) { x=1; y=0; gcd=a; } else { extend_gcd(b,a%b,x,y,gcd); inta temp=x; x=y; ... 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1021说明 :题目很水但是有一个重要结论,只要是递推数列,一定是模周期数列 (可以用抽屉原理证明)#include
using namespace std;
int main()
{ int n; while(cin>>n) { if(n%8==2||n%8==6) cout<<"yes"<<endl; else cout<<"no"<<endl; }
} 阅读全文
摘要:
题目地址:http://poj.org/problem?id=2769要点 :1 如果在确定了模数后再在循体里面用双重for循环检测是否存在 同余的一定会超时 需要寻找O(n)复杂度的方法 2一开始想使用map 检测是否重复,结果还是超时 最后还是用类似于筛法的方法,关键点是初始化时只能(也只需要)初始化到k,否则仍会tle#include
#include
#include
using namespace std; int main()
{ bool find[100000]; int size; cin>>size; int n; while(cin>>n... 阅读全文