zoj 3741 Eternal Reality DP
来源:互联网 发布:淘宝买实体娃娃 编辑:程序博客网 时间:2024/04/30 13:41
学园都市内有等级从0-5的能力者,先给定你的等级(0--5),给出n个你的对手Ai(0--6),只有你的等级大于等于Ai你才能胜利并且拿到一分,另外你还可以开挂,在第i回合使用外挂,[I,I+X-1]回合里你等等级+1(如果你是LV5,开挂后还是LV5),并且[i+x,i+x+y-1]回合中你的等级为0.问你最多能拿多少分。这题有两个坑,一个是LV5开挂后还是LV5(这个看过魔禁或者超炮的应该很容易注意到吧..)还有一个就是开挂后副作用期间,依然是可以干掉LV0的..其他就没什么了,dp[i][j]表示第i轮比赛,最近一次开挂是第j回合,然后分情况讨论下就可以了..
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue>using namespace std;typedef long long ll;const int maxn=120;int n,m,p,q;int lv,x,y;int a[maxn];int dp[maxn][maxn];int main(){// freopen("in.txt","r",stdin); while(~scanf("%d%d%d%d",&lv,&n,&x,&y)) { memset(a,0,sizeof a); memset(dp,0,sizeof dp); for (int i=1; i<=n; i++) scanf("%d",&a[i]); for (int i=1; i<=n; i++) for (int j=0; j<=i; j++) { if (j==0) { dp[i][j]=dp[i-1][j]; if (lv>=a[i]) dp[i][j]++; } else if (j+x-1>=i && i!=j) { dp[i][j]=dp[i-1][j]; if (lv+1>=a[i] && a[i]<6) dp[i][j]++; } else if (j+x+y-1>=i && j+x-1<i && i!=j) { dp[i][j]=dp[i-1][j]; if (a[i]==0) dp[i][j]++; } else if (i==j) { int st=max(0,j-x-y); for (int k=st; k>=0; k--) { dp[i][j]=max(dp[i-1][k],dp[i][j]); } if (lv+1>=a[i] && a[i]<6) dp[i][j]++; } else { dp[i][j]=dp[i-1][j]; if (lv>=a[i]) dp[i][j]++; } } int ans=0; for (int i=0; i<=n; i++) ans=max(ans,dp[n][i]); cout<<ans<<endl; } 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 3741 魔禁 dp
- codeforces 61D Eternal Victory 树形DP
- Reality
- Eternal Flame
- zoj 1149 双向dp
- zoj 2402 简单dp
- zoj 2744 DP做法
- zoj 2704 dp
- 如何参与广州传智播客Java培训的优惠价格呢
- 1159. Sum 高精度的计算 注意细心啊 很好的题呢 有考察函数调用
- textField和textView的inputAccessoryView属性
- Spring Annotation(注解) @Scope ,@PostConstruct 和@PreDestroy
- 参加.Net培训就选广州传智播客
- zoj 3741 Eternal Reality DP
- UITextField
- c# 窗体 显示居中 wince
- 揭秘广州传智播客.Net学科为何将MVC设为重点课程
- 【U3D】Unity3D的脚本-script入门
- 关于兴森快捷做的Sate210-F金手指核心板的抗震能力测试结果
- EXCEL巧妙转移列与删除条件列
- Android向SD卡和ROM写文件
- 九度OJ 1510 替换空格