防卫导弹
//程序名:新的C++程序//作者: #include#include #include using namespace std;int a[4005],p,dp[4005],ans;int main(){ while(cin>>a[++p]); p--; for(int i=p;i>=1;i--) { for(int j=i+1;j<=p;j++)if(a[j]<=a[i])dp[i]=max(dp[i],dp[j]); dp[i]++; } for(int i=1;i<=p;i++)ans=max(ans,dp[i]); cout<
会议厅
#include#include using namespace std;int n,ans;int dp[10005];struct talk{ int start,end;}a[10005];bool cmp(talk x,talk y){ if(x.end==y.end)return x.start >n; for(int i=1;i<=n;i++)cin>>a[i].start>>a[i].end; sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++) { int maxx=0; for(int j=1;j<=i;j++)if(dp[j]>maxx&&a[i].start>=a[j].end)maxx = dp[j]; dp[i]=maxx+a[i].end-a[i].start; ans=max(ans,dp[i]); } cout<
合唱队形
//程序名:新的C++程序//作者: #include#include #include using namespace std;int n,a[105],dpl[105],dpr[105],ans;int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++) { for(int j=i-1;j>=1;j--)if(a[j] =1;i--) { for(int j=i+1;j<=n;j++)if(a[j]
石子归并
//程序名:新的C++程序//作者: #include#include #include using namespace std;int p,a[105],n,s[105][105];int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>p,a[i]=a[i-1]+p; for(int l=2;l<=n;l++) { for(int i=0;i<=n-l+1;i++) { int x=l+i-1; s[i][x]=1<<31-1; for(int k=i;k
能量项链
//程序名:新的C++程序//作者: #include#include #include using namespace std;int n,a[505],ans,dp[505][505];int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i],a[i+n]=a[i]; for(int j=2;j<=n*2;j++) for(int i=j-1;i>0&&j-i
又上锁妖塔
//程序名:新的C++程序//作者: #include#include #include using namespace std;int n,a[10005],dp[10005][2];int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; dp[1][1]=a[1]; for(int i=2;i<=n;i++) { dp[i][0]=min(dp[i-1][1],dp[i-2][1]); dp[i][1]=min(dp[i-1][0],dp[i-1][1])+a[i]; } cout< <
变音量
//程序名:新的C++程序//作者: #include#include #include using namespace std;int n,b[10005],st,maxn,dp[65][1005];int main(){ cin>>n>>st>>maxn; dp[0][st]=1; for(int i=1;i >b[i]; for(int i=0;i<=n-1;i++) { bool f=0; for(int j=0;j<=maxn;j++) if(dp[i][j]) { f=1; if(j-b[i]>=0)dp[i+1][j-b[i]]=1; if(j+b[i]<=maxn)dp[i+1][j+b[i]]=1; } if(!f){cout<<-1;exit(0);} } for(int i=maxn;i>=0;i--)if(dp[n][i]){cout<