摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2045突然想起来,这种递推题都是可以用数学方法推出公式做出来的.>书上有讲.数学方法好牛叉啊..把系数解出来就AC了..#include #include using namespace std;int main(){ int n; while(cin>>n) { if(n==1) cout#include int main(void){ int i; __int64 d[51] = {0, 3, 6, 6}; for (i = 4; i < 51; i... 阅读全文
posted @ 2013-09-21 20:56 Destino74 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2190递推,找规律不难.#include using namespace std;int main(){ int T; __int64 d[31] = {0, 1, 3, 5}; for (int i = 4; i >T; for(int i=0;i>n; cout<<d[n]<<endl; } return 0;} 阅读全文
posted @ 2013-09-21 20:50 Destino74 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2050数学题,递推题,好吧,这种题我最不会了。看网上的分析A了,大概遇到相同的还是不会,数学题还是给队友吧#include int main(void){ int n, i; scanf("%d", &i); while (i-- && scanf("%d", &n)) printf("%d\n", 2*n*n-n+1); return 0;} 阅读全文
posted @ 2013-09-21 20:48 Destino74 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2018递推,每年生的牛 = 上一年的所有母牛数 + 4年前所有母牛数(因为每4年母牛长大,大母牛会生小母牛) f(n) = f(n-1) + f(n-3)#include using namespace std;int main(){ int f[56]= {0,1,2,3,4,6}; for(int i=6; i>n&&n) { cout<<f[n]<<endl; } return 0;} 阅读全文
posted @ 2013-09-21 20:44 Destino74 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2046递推题#include using namespace std;int main(){ int n; __int64 dp[51]={0,1,2,3}; for(int i=4;i>n) { cout<<dp[n]<<endl; } return 0;} 阅读全文
posted @ 2013-09-21 20:39 Destino74 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051#include #include using namespace std;struct wooden{ int len; int weg;};wooden wd[5005];bool cmp1(const wooden &a,const wooden &b){ if(a.len==b.len) return a.weg>T; for(k=0;k>n; for(i=0;i>wd[i].len>>wd[i].weg; sort(wd,wd+n,cm... 阅读全文
posted @ 2013-09-19 14:53 Destino74 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1052题意:田忌赛马,贪心#include#includeusing namespace std;int a[1010],b[1010];int main(){ int n,i; while(scanf("%d",&n)==1&&n) { a[0]=b[0]=0; for(i=1;ib[begin_b]) sum++,begin_a++,begin_b++; else if(a[begin_a]b[end_b]) sum++,end_a--,end_b--; 阅读全文
posted @ 2013-09-19 14:01 Destino74 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2037DP入门题,状态转移方程: dp[i] = max(dp[i],dp[j]+1) 其中dp[i]为考虑第i个节目中可以观看的最大节目数.在前i-1个节目的最大观看数确定后,设最后一个结束的节目时间为e,则加入第i个节目后,此时有两种情况,1-第i节目的开始时间大于e,则看完前i-1个节目中最多的节目后,还可直接观看第i个节目,则此时最大观看数为dp[i-1]+1;2-第i节目的开始时间小于e,则看完前i-1个节目中最多的节目后,i节目已经开始,则此时最大观看数可能为dp[i],也可能从前i-2,i 阅读全文
posted @ 2013-09-18 09:39 Destino74 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2629类似识别身份证,每个字段都有其意义.这里用了STL - MAP简化程序#pragma warning (disable:4786)#include #include #include using namespace std;int main(){ int n; string s;// freopen("test.txt","r",stdin); map m; m[33]="Zhejiang\0"; m[11]="Beijing& 阅读全文
posted @ 2013-09-18 08:52 Destino74 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1197找一个4位数,其10进制,12进制,16进制各位相加的和相等.#pragma GCC optimize ("O2")#include inline int ttor(int t,int r){ int sum=0; while(t) { sum+=t%r; t/=r; } return sum;}int main(){ int i,a,b,c; for(i=2992;i<10000;i++) { a=tt... 阅读全文
posted @ 2013-09-18 08:48 Destino74 阅读(165) 评论(0) 推荐(0) 编辑