传送门

  • 题目:
  • 思路:
    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=1i​ak​
    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)相关推荐

  1. E:Sleeping Schedule(DP)

    或许更好的阅读体验 Sleeping Schedule 思路 这道题读题就感觉像时DPDPDP,读完题后更加坚定了,这是一道DPDPDP题目. 我们考虑状态转移方程,dp[i][j]dp[i][j]d ...

  2. 【ARC064-F】【XSY2575】Rotated Palindromes(DP)(字符串)

    Description 然而,由于小C沉迷于制作游戏,他完全忘记了自己作为国家集训队的一员,还有156道作业题等他完成.还有一天作业就要截止了,而他一题还没有做.于是他赶紧挑了一道看起来最简单的题: ...

  3. 【CF480E】Parking Lot(DP)(单调性)

    传送门 题解: 为什么我会在某人的数据结构讲义里面看到这道题... 首先我们可以DP求出最大子正方形,设f[i][j]f[i][j]f[i][j]表示以i,ji,ji,j为右下角的最大正方形边长,则对 ...

  4. 【UVa】Wavio Sequence(dp)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. 【状压DP】【cofun1373】中国象棋(cchess)

    [cofun1373]中国象棋(cchess) Description 在N行M列的棋盘上,放若干个炮(可以是0个),使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国象棋中炮的行走方式 ...

  6. 【CF 149D】Coloring Brackets(dp)

    [CF 149D]Coloring Brackets(dp) D. Coloring Brackets time limit per test 2 seconds memory limit per t ...

  7. 【分享】常用JS(2)

    ============================================== 1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 ...

  8. 【GAMES101】作业3(提高)与法线贴图原理和渲染管线框架分析

    目录 1. 作业描述 1.1 任务 1.2 编译与运行 1.3 框架与代码说明 2. 需要注意的问题 3. 解 3.1 rasterize_triangle 3.2 get_projection_ma ...

  9. 【JDK7】新特性(2) 语法

    2019独角兽企业重金招聘Python工程师标准>>> JDK7对Java语法有少量更新,重点是在易用性和便捷性的改进.     1.二进制字面量 JDK7开始,终于可以用二进制来表 ...

  10. 【Python】将字典(dict)转化为Dataframe

    [Python]将字典(dict)转化为Dataframe_张欣的博客-CSDN博客_python字典转dataframe dictory = {'a':1,'b':2} df = pd.DataFr ...

最新文章

  1. Cacti安装插件:email,msn,fetion报警(转载)
  2. 为什么要低温保存_超低温冰柜需求缺口加大,海尔海信长虹迎来利好
  3. rk3399性能_AIIA AI公布首轮评估结果:瑞芯微RK3399数据抢眼
  4. [蓝桥杯2015决赛]积分之迷-枚举(水题)
  5. Node js开发中的那些旮旮角角 第一部
  6. 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)
  7. jQuery+AJAX+PHP+MySQL数据库开发搜索功能,无跳转无刷新搜索。
  8. java opencv 轮廓检测,OpenCV 轮廓检测 - 雷霄骅(leixiaohua1020)的个人页面 - OSCHINA - 中文开源技术交流社区...
  9. 4.5 NiN CNN、tensorflow实现——python实战
  10. vue element 调用后台下载文件
  11. python3 zip命令_在打包为zip文件的应用程序上从命令行运行pdb?
  12. html5 自动分享到朋友圈,html5手机端分享微信朋友圈代码
  13. YOLO算法(一)——Yolo介绍 Yolov1
  14. Qt小项目之txt文本替换
  15. js object 、 json转换
  16. linux使用matlab
  17. CH579实现一个最小外围设备(Peripheral)
  18. 拆卸U2000服务器注意事项
  19. 基于google升级版c++代码规范指南
  20. USB学习4-libusb的使用

热门文章

  1. mysql的时间类型的比较
  2. Coolite Toolkit学习笔记二:服务器端Alert,Confirm,Prompt
  3. 《MySQL必知必会》学习笔记——第六章(过滤数据)
  4. oracle中lang的作用,【Oracle】详解Oracle中NLS_LANG变量的使用
  5. logback.xml日志配置文件,springboot
  6. PetShop的系统架构设计
  7. 新的文档类型定义模型带来的问题--javascirpt/CSS
  8. GoJS图表组件简介
  9. intra调用order
  10. Python中的*args和**kwargs的理解与用法