动态规划
普通网友
这个作者很懒,什么都没留下…
展开
-
hdu1166 敌兵布阵
#include #includeusing namespace std;int Camp[50000];int data[1000000];int main(){ int T,i,j,n,sum,t = 1,comt; cin>>T; string Com; while(T--) { memset(Cam原创 2012-06-04 21:29:35 · 285 阅读 · 0 评论 -
hdu 1065 导弹拦截
动态规划#include usingnamespace std;int main(){ inti,j,max; inta[26],b[26]; intn; cin>>n; for(i = 1; i { cin>>a[i]; } max = 0; for(原创 2012-06-04 21:30:43 · 463 阅读 · 0 评论 -
hdu1231最大子序列
#include int main(){ int i,j,x,y,sum,maxsum; int n,t; while(scanf("%d",&n),n!=0) { i = 1; sum = 0; t = 0; maxsum = -50000; int a[10001]; for(j = 1; j { scanf("%d"原创 2012-06-04 22:07:40 · 384 阅读 · 0 评论 -
hdu 1003 max sum
算法:1.一直相加直到和出现负数,在相加期间能得到一个最大和,记录2.重复1步骤,更新最大和,直到输入完毕原理:如果在连续子串 中Sn那么肯定存在一个最大的Si,Si也就是a1到an这段连续子串的最大和。我们知道a1>0时任意的 (i>1) 的和都小于0,所以这些元素就不能与an后的元素构成能获得最大和的子串(如果a1=0则a2>=0,情况类似);同时在 (i>1,j原创 2012-06-05 12:12:23 · 315 阅读 · 0 评论 -
求一组整数中最小的两个数
#include using namespace std;int main(){ int a[10] = {5,6,2,4,7,11,8,3,9,10}; int m1 = 100,m2 = 100; int s1 = -1; int s2 = -1; int i = 0; while(i { if(a[i] { s2 = s1;原创 2012-11-13 22:55:57 · 753 阅读 · 0 评论