题意:有最多100天 每天有一个食物量 你一开始有一个最大胃口表示你最开始能吃多少食物

   如果你昨天吃了 那么今天的胃口为昨天的2/3 如果你前天吃了 昨天没吃 那么你的胃口可以恢复到前天的情况

   如果你有连续两天没吃了 那么你就可以恢复到最大胃口了 问怎样安排使一共吃到的食物最多

题解:就裸裸的DP了,反正从没出过DP(的DP选手

   dp[i][j][k]表示第i天结束后 当前的胃口能级为j 这一天进行的操作k k为0表示今天吃了 k为1表示今天没吃

   那么转移也没什么难的了  转移模拟这几种状态即可

   今天吃由昨天转移来的

   dp[i][j][0] = max(dp[i][j][0], dp[i - 1][j - 1][0] + 今天吃);
       dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j][0]);  今天不吃

   今天吃由前天转移来的  dp[i][j][0] = max(dp[i][j][0], dp[i - 2][j][0] + 今天吃]));

   还要处理一下由大前天转移过来的 这时候你今天吃 能级就为1 今天不吃能级就为0

   反正就xjb搞吧... 我和铜牌题打起来了

#include <bits/stdc++.h>
using namespace std; int q[];
int e[];
int dp[][][]; int main()
{
int n, m;
scanf("%d%d", &n, &m);
memset(dp, , sizeof(dp)); for(int i = ; i <= n; i++) scanf("%d", &q[i]);
e[] = m;
for(int i = ; i <= n; i++) e[i] = e[i - ] * / ; for(int i = ; i <= n; i++)
{
dp[i][][] = min(q[i], e[]);
if(i > )
{
for(int j = ; j <= i - ; j++)
{
dp[i][][] = max(dp[i][][], dp[i - ][j][] + min(q[i], e[]));
dp[i][][] = max(dp[i][][], dp[i - ][j][] + min(q[i], e[]));
}
} if(i > )
{
for(int j = ; j <= i - ; j++)
{
dp[i][][] = max(dp[i][][], dp[i - ][j][]);
dp[i][][] = max(dp[i][][], dp[i - ][j][]);
}
} for(int j = ; j <= i; j++)
{
dp[i][j][] = max(dp[i][j][], dp[i - ][j - ][] + min(q[i], e[j]));
dp[i][j][] = max(dp[i][j][], dp[i - ][j][]);
if(i > )
dp[i][j][] = max(dp[i][j][], dp[i - ][j][] + min(q[i], e[j]));
}
} int ans = ;
for(int i = ; i <= n; i++)
{
for(int j = ; j <= i; j++)
for(int k = ; k < ; k++)
ans = max(ans, dp[i][j][k]);
}
printf("%d\n", ans);
return ;
}
/*
8 900
900 600 40 400 20 266 10 177
*/

gym101673G. A Question of Ingestion (DP)的更多相关文章

  1. Gym-101673 :East Central North America Regional Contest (ECNA 2017)(寒假自训第8场)

    A .Abstract Art 题意:求多个多边形的面积并. 思路:模板题. #include<bits/stdc++.h> using namespace std; typedef lo ...

  2. 2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) Solution

    A:Abstract Art 题意:给出n个多边形,求n个多边形分别的面积和,以及面积并 思路:模板 #include <bits/stdc++.h> using namespace st ...

  3. ECNA 2017

    ECNA 2017 Abstract Art 题目描述:求\(n\)个多边形的面积并. solution 据说有模板. Craters 题目描述:给定\(n\)个圆,求凸包的周长. solution ...

  4. Careercup 论坛上较有意思的题目整理

    # 数据结构类 ### 线段树 segment tree http://www.careercup.com/question?id=5165570324430848 找区间内的value的个数 二维线 ...

  5. LeetCode OJ:Climbing Stairs(攀爬台阶)

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  6. Wannafly挑战赛1

    地址:https://www.nowcoder.com/acm/contest/15#question A(树形dp) 分析 dp[i][0],dp[i][1]分别表示以i为根的子树中,有多少个点到i ...

  7. hdu 3401 单调队列优化DP

    Trade Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  8. dp --- hdu 4939 : Stupid Tower Defense

    Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  9. CF687C. The Values You Can Make[背包DP]

    C. The Values You Can Make time limit per test 2 seconds memory limit per test 256 megabytes input s ...

随机推荐

  1. python开发【第1篇】【基础知识】

    1.python解释执行原理 python代码——字节码——机器码——计算机 每次运行都要进行转换成字节码,然后再有虚拟机把字节码转换成机器语言,最后才能在硬件上运行. 2.python编码 unic ...

  2. MyEclipse,Eclipse注释规范模板

    注释的作用:myeclipse中java文件头注释格式设置,最终可用于javadoc.exe生成API文档,同时提高了代码的可读性 设置方法: windows->preferences-> ...

  3. 【bzoj2464】中山市选[2009]小明的游戏

    直接转换成最短路 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstr ...

  4. Android studio导入项目时的问题(Re-download dependencies and sync project (requires network))

    引入了别人的项目出现了这种情况提示是跟gradle cache有关,我的解决方法是跟gragle的配置有关 改下这个: distributionUrl=https\://services.gradle ...

  5. 【CSU 1803】2016

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 Solution: 考虑两个数x,y乘积%2016=0 x×y≡0(MOD 2016) x= ...

  6. 830C

    分块+二分 这道题思路很巧妙 我们大概可以推出一个式子sigma(d-[(ai-1)%d+1])<=k,要求求出d的最大值 然后我们化简一下,sigma(d-[(ai-1)-[(ai-1)/d] ...

  7. Java序列化系列教程(下)

    一引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口 ...

  8. linux中touch命令参数修改文件的时间戳(转载)

    转自:http://os.51cto.com/art/200908/144237.htm linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存 ...

  9. P4244 [SHOI2008]仙人掌图 II

    传送门 仙人掌直径,以前好像模拟赛的时候做到过一道基环树的直径,打了个很麻烦的然而还错了--今天才发现那就是这个的弱化版啊-- 如果是树的话用普通的dp即可,记\(f[u]\)表示\(u\)往下最长能 ...

  10. vbnet 进程监控,监控Acad开启的数量,并且添加到开机启动

    1# 自定义函数,添加到注册表 Public Sub StartRunRegHKLM() REM HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Micro ...