习题集
Posted rign
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了习题集相关的知识,希望对你有一定的参考价值。
1 #include <algorithm> 2 #include <cstring> 3 #include <cstdio> 4 5 #define fore(i, a, b) for (int i = a; i <= b; i++) 6 #define fir first 7 #define sec second 8 9 std::pair<int, int> p[505]; 10 long long dp[5005]; 11 12 int main() { 13 int t; 14 scanf("%d",&t); 15 while (t--) { 16 memset(dp, 0x3f, sizeof(dp)); 17 int n, B; 18 scanf("%d%d",&n,&B); 19 int sum = 0; 20 fore(i, 1, n) { 21 scanf("%d%d",&p[i].fir,&p[i].sec); 22 sum += p[i].sec; 23 } 24 dp[0] = 0; 25 fore(i, 1, n) { 26 for(int j=sum;j>=p[i].second;j--) 27 dp[j] = std::min(dp[j], dp[j - p[i].second] + p[i].first); 28 } 29 int ans = 0; 30 for(int i=sum;i>=0;i--) 31 if (dp[i] <= B) { 32 ans = i; 33 break; 34 } 35 printf("%d\n",ans); 36 } 37 }
FZU 2214
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 5 #define fore(i,a,b) for(int i=a;i<=b;i++) 6 typedef long long ll; 7 8 int point[100005][15]; 9 10 int main(){ 11 int n; 12 while(scanf("%d",&n),n){ 13 memset(point,0,sizeof(point)); 14 int maxt=0; 15 fore(i,1,n){ 16 int pos,t; 17 scanf("%d%d",&pos,&t); 18 point[t][pos+1]++; 19 maxt=std::max(maxt,t); 20 } 21 for(int i=maxt-1;i>=0;i--){ 22 fore(j,1,11){ 23 point[i][j]+=std::max(point[i+1][j+1],std::max(point[i+1][j],point[i+1][j-1])); 24 } 25 } 26 printf("%d\n",point[0][6]); 27 } 28 return 0; 29 }
HDU 1176
以上是关于习题集的主要内容,如果未能解决你的问题,请参考以下文章
C语言习题如何在 C 中不使用任何分号打印从 1 到 N 的数字?
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段