ZOJ 3741 Eternal Reality 简单DP
来源:互联网 发布:java三大体系 编辑:程序博客网 时间:2024/04/30 14:54
被Level 6坑了,不解释。。。
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;const int maxn=320;int t,n,x,y;int a[maxn];int dp[maxn];int work(int i){ return(a[i]<=t?1:0);}int main(){ // freopen("in.txt","r",stdin); while (~scanf("%d%d%d%d",&t,&n,&x,&y)) { memset(dp,0,sizeof(dp)); for (int i=1;i<=n;i++) { scanf("%d",&a[i]); if (a[i]<=t) dp[i]++; dp[i]+=dp[i-1]; } for (int i=n+1;i<n+x+y;i++) { a[i]=10; dp[i]=dp[i-1]; } for (int i=1;i<=n;i++) { int s=0; for (int j=i;j<i+x;j++) if (a[j]<=t+1&&a[j]!=6) s++; for (int j=i+x;j<i+x+y;j++) if (a[j]==0) s++; dp[i+x+y-1]=max(dp[i+x+y-1],dp[i-1]+s); dp[i+x+y-1]=max(dp[i+x+y-1],dp[i+x+y-1-1]+work(i+x+y-1)); }// for (int i=1;i<n+x+y;i++)// cout<<i<<" "<<dp[i]<<endl; int ans=0; for (int i=1;i<n+x+y;i++) ans=max(ans,dp[i]); printf("%d\n",ans); } return 0;}
0 0
- ZOJ 3741 Eternal Reality 简单DP
- ZOJ 3741 Eternal Reality 简单dp
- zoj 3741 Eternal Reality(DP)
- zoj 3741 Eternal Reality DP
- ZOJ 3741 Eternal Reality [dp]
- zoj 3741 Eternal Reality DP
- zoj 3741 Eternal Reality dp
- ZOJ 3741 Eternal Reality
- ZOJ 3741 Eternal Reality
- Eternal Reality
- zoj 2402 简单dp
- zoj 1027 简单dp
- zoj 3551 简单 概论dp
- ZOJ 3682 简单dp 背包
- zoj 3160(区间dp 简单)
- ZOJ 3741 魔禁 dp
- codeforces 61D Eternal Victory 树形DP
- Reality
- win7安装ubuntu,设置win7为默认启动项
- 面试题之陈利人 两个数组中求第k小元素
- Model类的创建
- ORA-00911: 无效字符 问题和解决
- C 语言中统一的函数指针(云风的blog)
- ZOJ 3741 Eternal Reality 简单DP
- I miss u
- TCP拥塞控制算法内核实现剖析
- More Insights On The APT
- 节点的插入 append()和appendTo()的用法
- 黑马程序员-- 九、集合之Set和Map
- 求欧拉函数
- ASP.NET MVC中@Html.DropDownListFor使用方法
- 凯撒密码