传送门

文章目录

  • 题意:
  • 思路:

题意:

给你一天hhh小时,初始时间是000,每天可以使时间+ai+a_i+ai​或者+ai−1+a_i-1+ai​−1,问最多可以让多少天的时间在[l,r][l,r][l,r]范围内。

思路:

算是个比较简单的dpdpdp了,一直想贪心,没有转换到dpdpdp的思路,如果想到dpdpdp,那么这个题估计就直接秒了。
设f[i][j]f[i][j]f[i][j]表示到了第iii天,时间modh\bmod hmodh为jjj的情况,转移方程也比较明显了:f[i][j]=max(f[i−1][(j−a[i])modh],f[i−1][(j−a[i]+1)modh])+(l≤j≤r)f[i][j]=max(f[i-1][(j-a[i])\bmod h],f[i-1][(j-a[i]+1)\bmod h])+(l \le j \le r)f[i][j]=max(f[i−1][(j−a[i])modh],f[i−1][(j−a[i]+1)modh])+(l≤j≤r)
直接n2n^2n2转移就好啦。

// Problem: E. Sleeping Schedule
// Contest: Codeforces - Codeforces Round #627 (Div. 3)
// URL: https://codeforces.com/contest/1324/problem/E
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=2010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n,h,l,r;
int a[N];
int f[N][N],st[N][N];int check(int now) {return now>=l&&now<=r;
} int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);memset(f,-63,sizeof(f));scanf("%d%d%d%d",&n,&h,&l,&r);for(int i=1;i<=n;i++) scanf("%d",&a[i]);int ans=0;f[0][0]=0;for(int i=1;i<=n;i++) {for(int j=0;j<h;j++) {f[i][j]=max(f[i-1][(j-a[i]+h)%h],f[i-1][(j-a[i]+1+h)%h])+check(j);ans=max(ans,f[i][j]);}}cout<<ans<<endl;return 0;
}
/**/

Codeforces Round #627 (Div. 3) E. Sleeping Schedule dp相关推荐

  1. Codeforces Round #627 (Div. 3) E - Sleeping Schedule (线性dp)

    **E Sleeping Schedule ** 题目描述 Vova had a pretty weird sleeping schedule. There are h hours in a day. ...

  2. Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力

    传送门 文章目录 题意: 思路: 题意: 给你一个有nnn个像素的图像,每个像素都有一个颜色aia_iai​,保证每种颜色的图像不会超过202020个.你现在每次可以选择一个颜色,并选择一段连续的像素 ...

  3. Codeforces Round #709 (Div. 1) C. Skyline Photo dp + 单调栈优化

    传送门 文章目录 题意: 思路: 题意: 思路: 首先一个非常明显的dpdpdp式子就是f[i]=max(f[j]+val(j+1,i))f[i]=max(f[j]+val(j+1,i))f[i]=m ...

  4. Codeforces Round #717 (Div. 2) D(倍增dp)

    Codeforces Round #717 (Div. 2) D 题意:n个数 q个询问,每一个询问有l和r,问你l到r这段区间中最少能分成几段,每一段中的数都是互质的. 思路:首先预处理出每一个点向 ...

  5. Codeforces Round #121 (Div. 1) A. Dynasty Puzzles DP

    链接: http://codeforces.com/contest/191/problem/A 题意: 给出n个字符串,两个字符串如果前一个的尾与后一个的首相同,那么可以相连,最后得到的字符串要满足首 ...

  6. 思维dp ---- Codeforces Round #711 (Div. 2) - C. Planar Reflections[dp/记忆化搜索]

    题目链接 题目大意: 就是给你n个平面和一个寿命为k的衰变粒子.开始粒子从左向右飞行,粒子每经过一个平面就会产生一个副本粒子,这个副本粒子比原粒子的寿命少1,即为k-1,并且飞行方向是原粒子的反方向. ...

  7. Codeforces Round #319 (Div. 2)B. Modulo Sum DP

                                                             B. Modulo Sum time limit per test 2 seconds ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

最新文章

  1. 从头到尾使用Geth的说明-3-geth参数说明和环境配置
  2. 发改委:加速布局车联网与自动驾驶
  3. zigbee 协议栈数据类型及转换
  4. IP应用加速技术详解:如何提升动静混合站点的访问速率?
  5. 参数少一半、速度快3倍:最新目标检测核心架构来了
  6. bzoj2244 [SDOI2011]拦截导弹 cdq分治
  7. HA功能与DRS配合使用
  8. SQL数据库置疑数据怎么恢复
  9. 2021年安全员-A证(江西省)报名考试及安全员-A证(江西省)考试平台
  10. JSON.stringify(value [, replacer] [, space])
  11. Dynamic CRM 2016 IFD配置(1)证书颁发机构配置
  12. 一个公务员工作七年后的肺腑之言
  13. 移动端开发——flex布局
  14. 深度学习笔记:神经网络权重确定初始值方法
  15. 浪漫--》“慢”+“浪”
  16. Cyclen-PEG-Bodipy;大环配体-聚乙二醇-氟化硼二吡咯;大环配体-PEG-Bodipy
  17. Python多线程爬虫,主播信息资料爬取采集
  18. 华为云计算之rainbow迁移实验
  19. phpstudy本地配置教程You don't have permission to access解决
  20. 仓库无线覆盖解决方案

热门文章

  1. python后面空格报错_python中空格和table混用报错原因
  2. 一句话征服了美国人,这位饱受争议的数学博士竟从未上过学?
  3. 实用Python库,这几个你认识不?
  4. 如何把文件压缩变成一张图片?
  5. 计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...
  6. 3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络
  7. java sorted_Java记录 -59- SortedSet
  8. linux命令apprw,linux命令学习1(示例代码)
  9. 公众号滑动图代码_实用技巧:公众号封面图如何提取?
  10. 初二物理模型有哪些_初二是成绩下滑的高危期,做好这5点成绩涨涨涨!(附全学科提升技巧,家长转给孩子!)...