gym101673G. A Question of Ingestion (DP)
题意:有最多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)的更多相关文章
- Gym-101673 :East Central North America Regional Contest (ECNA 2017)(寒假自训第8场)
A .Abstract Art 题意:求多个多边形的面积并. 思路:模板题. #include<bits/stdc++.h> using namespace std; typedef lo ...
- 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 ...
- ECNA 2017
ECNA 2017 Abstract Art 题目描述:求\(n\)个多边形的面积并. solution 据说有模板. Craters 题目描述:给定\(n\)个圆,求凸包的周长. solution ...
- Careercup 论坛上较有意思的题目整理
# 数据结构类 ### 线段树 segment tree http://www.careercup.com/question?id=5165570324430848 找区间内的value的个数 二维线 ...
- 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 ...
- Wannafly挑战赛1
地址:https://www.nowcoder.com/acm/contest/15#question A(树形dp) 分析 dp[i][0],dp[i][1]分别表示以i为根的子树中,有多少个点到i ...
- hdu 3401 单调队列优化DP
Trade Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- dp --- hdu 4939 : Stupid Tower Defense
Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/ ...
- 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 ...
随机推荐
- 【Qt入门实践】Qt之哲学家问题(linux 多线程)
转载请注明出处:http://blog.csdn.net/feng1790291543 linux多线程实现哲学家问题,依据哲学家吃饭.拿筷子.放下筷子...... watermark/2/text/ ...
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用
12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...
- MSD6A628开发资料与技术支持
MSD6A628VX/VXM是mstar推出的低成本安卓智能网络电视方案,628分两个版本,一个是内置512MB内存,一个是外挂1G内存, 安卓4.4系统,4核A7处理器,Mali450MP2 GPU ...
- Linux-----Kconfig文件的简介
内核源码树的目录下都有两个文件Kconfig和Makefile.分布到各目录的Kconfig构成了一个分布式的内核配置数据库, 每个Kconfig分别描述了所属目录源文件相关的内核配置菜单.在内核配置 ...
- 牛客网NOIP赛前集训营 提高组(第七场)
中国式家长 2 链接:https://www.nowcoder.com/acm/contest/179/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K, ...
- 给独立搭建的博客启用https的过程
申请SSL证书 我自己独立搭建的博客部署在阿里云服务器上,因此我就先搜索阿里云启用https的方法,网上有比较详细的讲解,在此提供一个参考网址: https://blog.csdn.net/csluc ...
- Linux学习系列八:操作网口
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...
- 基于.Net Core的API框架的搭建(4)
6.加入日志功能 日志我们选用log4net,首先引入程序包: 选择2.0.8版本安装.然后在项目根目录新增log4net的配置文件log4net.config: <?xml version=& ...
- [Code+#1]大吉大利,晚上吃鸡!
输入输出样例 输入样例#1: 7 7 1 7 1 2 2 2 4 2 4 6 2 6 7 2 1 3 2 3 5 4 5 7 2 输出样例#1: 6 输入样例#2: 5 5 1 4 1 2 1 1 3 ...
- [Usaco2018 Open]Milking Order
Description Farmer John的N头奶牛(1≤N≤10^5),仍然编号为1-N,正好闲得发慌.因此,她们发展了一个与Farmer John每天早上为她们挤牛奶的时候的排队顺序相关的复杂 ...