ZOJ 3741 魔禁 dp
来源:互联网 发布:入驻淘宝天猫商城 编辑:程序博客网 时间:2024/04/30 14:32
题意:
一个人等级为L , 与n个人对打(当自己等级高于或者和对方相同时自己胜利)
第二行输入n个人的等级
有一个技能可以暂时提升等级(使用后x天内提升一级,技能效果过后y天内进入虚弱等级变为0,并且不能使用技能。再过y天恢复到原先等级)
与n个人从第一天开始按顺序每天与一个人对打一次,问:最多的胜利次数。
(注意:等级5 和等级6 无法使用该技能)
思路:
三维dp
注意0代表的含义。
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;#define N 101#define ll intll L, n, x, y;ll dp[N][2][N], non[N], a[N];// dp[i][0][j]表示第i天 使用了升级技能后的第j天 的最大值 j=0表示这一天不升级的最大值// dp[i][1][j]表示第i天 处于虚弱状态的第j天的最大值 j=0表示刚用完技能还没开始休息int main(){ll i, j;while(~scanf("%d%d%d%d",&L,&n,&x,&y)){for(i=1;i<=n;i++)scanf("%d",&a[i]);memset(non, 0, sizeof(non));memset(dp, 0, sizeof(dp));for(i=1;i<=n;i++)non[i] = (L>=a[i]) + non[i-1];if(L==5){printf("%d\n", non[n]);continue;}for(i=1;i<=n;i++){dp[i][0][0] = non[i]; //不变身dp[i][0][0] = max(dp[i][0][0], dp[i-1][1][y]+(L>=a[i]));dp[i][0][0] = max(dp[i][0][0], dp[i-1][0][0]+(L>=a[i]));dp[i][0][1] = dp[i][0][0] - (L>=a[i]) + (L+1>=a[i]);for(j = 2; j <= x; j++)dp[i][0][j] = dp[i-1][0][j-1]+(L+1>=a[i]);if(i>=x)dp[i][1][0] = dp[i][0][x];for(j=1;j<=y;j++)dp[i][1][j] = dp[i-1][1][j-1]+(0>=a[i]);}ll ans = 0;for(j=0;j<=x;j++)ans = max(ans, dp[n][0][j]);for(j=1;j<=y;j++)ans = max(ans, dp[n][1][j]);printf("%d\n",ans);}return 0;}/*3 6 1 21 3 4 5 6 46 6 1 21 3 4 5 6 40 6 1 1000 0 0 0 0 01 4 1 11 0 1 00 4 1 11 1 0 10 6 1 21 0 1 0 1 10 6 1 11 2 1 0 1 03 10 2 21 2 4 4 5 0 5 3 4 13 10 2 01 2 4 4 5 0 5 3 4 13 10 0 24 4 4 4 4 4 4 4 4 43 10 1 24 4 4 4 4 4 4 4 4 43 10 1 04 4 4 4 4 4 4 4 4 43 10 0 04 4 4 4 4 4 4 4 4 45 1 1 06*/
0 0
- ZOJ 3741 魔禁 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 简单dp
- zoj 1149 双向dp
- zoj 2402 简单dp
- zoj 2744 DP做法
- zoj 2704 dp
- zoj 1738 dp
- zoj 1027 dp
- zoj 2401 dp
- zoj 3502 Contest //dp
- zoj 1558【DP】
- 【DP】ZOJ 2068
- VC调用C#生成的类库DLL方法
- 黑马晓志
- 关于Apache的25个初中级面试题
- UVA - 11987 Almost Union-Find
- ubuntu ftp server
- ZOJ 3741 魔禁 dp
- 前端质量保证工具
- 数的长度--斯特林公式的运用
- CodeForces 373B Making Sequences is Fun
- <微积分五讲>读后感
- Codeforces Round #211 (Div. 2)(二分贪心)
- 开源网络爬虫介绍及其比较
- 常见异常以及异常的处理
- Redsuns PHP Site System設計簡介