【CF1324E】Sleeping Schedule(dp)
传送门
- 题目:
- 思路:
h用处不大,因为上次睡的时间和下次醒的时间是一样的,每次都面临两种选择。
dp[i][j]dp[i][j]dp[i][j]表示前iii次选择jjj次“ai−1a_i-1ai−1”这种方案能够获得的最大good sleeping数(0≤j≤I0≤j≤I0≤j≤I)
sum[i]=∑k=1iaksum[i]=\sum_{k=1}^i a_ksum[i]=∑k=1iak
dp[i][j]=max(dp[i−1][j]+∣(sum[i]−j)%h∈[l,r]∣,dp[i−1][j−1]+∣(sum[i]−j)%h∈[l,r]∣)dp[i][j]=max(dp[i-1][j]+|(sum[i]-j)\%h\in[l,r]|, dp[i-1][j-1]+|(sum[i]-j)\%h\in[l,r]|)dp[i][j]=max(dp[i−1][j]+∣(sum[i]−j)%h∈[l,r]∣,dp[i−1][j−1]+∣(sum[i]−j)%h∈[l,r]∣)
dp[i][j]=max(dp[i−1][j],dp[i−1][j−1])+∣(sum[i]−j)%h∈[l,r]∣dp[i][j]=max(dp[i-1][j], dp[i-1][j-1])+|(sum[i]-j)\%h\in[l,r]|dp[i][j]=max(dp[i−1][j],dp[i−1][j−1])+∣(sum[i]−j)%h∈[l,r]∣ - ac代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2010;
const ll mod = 998244353;
int n, h, l, r, x;
int dp[maxn][maxn], sum[maxn];
bool check(int x)
{x%=h;return l<=x && x<=r;
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);scanf("%d %d %d %d", &n, &h, &l, &r);for(int i = 1; i <= n; i++) scanf("%d", &x), sum[i]=sum[i-1]+x;for(int i = 1; i <= n; i++){dp[i][0] = dp[i-1][0]+check(sum[i]);for(int j = 1; j <= i; j++)dp[i][j] = max(dp[i-1][j], dp[i-1][j-1])+check(sum[i]-j);}int ans = 0;for(int i = 0; i <= n; i++) ans = max(ans, dp[n][i]);printf("%d\n", ans);return 0;
}
【CF1324E】Sleeping Schedule(dp)相关推荐
- E:Sleeping Schedule(DP)
或许更好的阅读体验 Sleeping Schedule 思路 这道题读题就感觉像时DPDPDP,读完题后更加坚定了,这是一道DPDPDP题目. 我们考虑状态转移方程,dp[i][j]dp[i][j]d ...
- 【ARC064-F】【XSY2575】Rotated Palindromes(DP)(字符串)
Description 然而,由于小C沉迷于制作游戏,他完全忘记了自己作为国家集训队的一员,还有156道作业题等他完成.还有一天作业就要截止了,而他一题还没有做.于是他赶紧挑了一道看起来最简单的题: ...
- 【CF480E】Parking Lot(DP)(单调性)
传送门 题解: 为什么我会在某人的数据结构讲义里面看到这道题... 首先我们可以DP求出最大子正方形,设f[i][j]f[i][j]f[i][j]表示以i,ji,ji,j为右下角的最大正方形边长,则对 ...
- 【UVa】Wavio Sequence(dp)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- 【状压DP】【cofun1373】中国象棋(cchess)
[cofun1373]中国象棋(cchess) Description 在N行M列的棋盘上,放若干个炮(可以是0个),使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国象棋中炮的行走方式 ...
- 【CF 149D】Coloring Brackets(dp)
[CF 149D]Coloring Brackets(dp) D. Coloring Brackets time limit per test 2 seconds memory limit per t ...
- 【分享】常用JS(2)
============================================== 1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 ...
- 【GAMES101】作业3(提高)与法线贴图原理和渲染管线框架分析
目录 1. 作业描述 1.1 任务 1.2 编译与运行 1.3 框架与代码说明 2. 需要注意的问题 3. 解 3.1 rasterize_triangle 3.2 get_projection_ma ...
- 【JDK7】新特性(2) 语法
2019独角兽企业重金招聘Python工程师标准>>> JDK7对Java语法有少量更新,重点是在易用性和便捷性的改进. 1.二进制字面量 JDK7开始,终于可以用二进制来表 ...
- 【Python】将字典(dict)转化为Dataframe
[Python]将字典(dict)转化为Dataframe_张欣的博客-CSDN博客_python字典转dataframe dictory = {'a':1,'b':2} df = pd.DataFr ...
最新文章
- Cacti安装插件:email,msn,fetion报警(转载)
- 为什么要低温保存_超低温冰柜需求缺口加大,海尔海信长虹迎来利好
- rk3399性能_AIIA AI公布首轮评估结果:瑞芯微RK3399数据抢眼
- [蓝桥杯2015决赛]积分之迷-枚举(水题)
- Node js开发中的那些旮旮角角 第一部
- 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)
- jQuery+AJAX+PHP+MySQL数据库开发搜索功能,无跳转无刷新搜索。
- java opencv 轮廓检测,OpenCV 轮廓检测 - 雷霄骅(leixiaohua1020)的个人页面 - OSCHINA - 中文开源技术交流社区...
- 4.5 NiN CNN、tensorflow实现——python实战
- vue element 调用后台下载文件
- python3 zip命令_在打包为zip文件的应用程序上从命令行运行pdb?
- html5 自动分享到朋友圈,html5手机端分享微信朋友圈代码
- YOLO算法(一)——Yolo介绍 Yolov1
- Qt小项目之txt文本替换
- js object 、 json转换
- linux使用matlab
- CH579实现一个最小外围设备(Peripheral)
- 拆卸U2000服务器注意事项
- 基于google升级版c++代码规范指南
- USB学习4-libusb的使用
热门文章
- mysql的时间类型的比较
- Coolite Toolkit学习笔记二:服务器端Alert,Confirm,Prompt
- 《MySQL必知必会》学习笔记——第六章(过滤数据)
- oracle中lang的作用,【Oracle】详解Oracle中NLS_LANG变量的使用
- logback.xml日志配置文件,springboot
- PetShop的系统架构设计
- 新的文档类型定义模型带来的问题--javascirpt/CSS
- GoJS图表组件简介
- intra调用order
- Python中的*args和**kwargs的理解与用法