Codeforces Round #627 (Div. 3) E. Sleeping Schedule dp
传送门
文章目录
- 题意:
- 思路:
题意:
给你一天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相关推荐
- 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. ...
- Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力
传送门 文章目录 题意: 思路: 题意: 给你一个有nnn个像素的图像,每个像素都有一个颜色aia_iai,保证每种颜色的图像不会超过202020个.你现在每次可以选择一个颜色,并选择一段连续的像素 ...
- 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 ...
- Codeforces Round #717 (Div. 2) D(倍增dp)
Codeforces Round #717 (Div. 2) D 题意:n个数 q个询问,每一个询问有l和r,问你l到r这段区间中最少能分成几段,每一段中的数都是互质的. 思路:首先预处理出每一个点向 ...
- Codeforces Round #121 (Div. 1) A. Dynasty Puzzles DP
链接: http://codeforces.com/contest/191/problem/A 题意: 给出n个字符串,两个字符串如果前一个的尾与后一个的首相同,那么可以相连,最后得到的字符串要满足首 ...
- 思维dp ---- Codeforces Round #711 (Div. 2) - C. Planar Reflections[dp/记忆化搜索]
题目链接 题目大意: 就是给你n个平面和一个寿命为k的衰变粒子.开始粒子从左向右飞行,粒子每经过一个平面就会产生一个副本粒子,这个副本粒子比原粒子的寿命少1,即为k-1,并且飞行方向是原粒子的反方向. ...
- Codeforces Round #319 (Div. 2)B. Modulo Sum DP
B. Modulo Sum time limit per test 2 seconds ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- 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 ...
最新文章
- 从头到尾使用Geth的说明-3-geth参数说明和环境配置
- 发改委:加速布局车联网与自动驾驶
- zigbee 协议栈数据类型及转换
- IP应用加速技术详解:如何提升动静混合站点的访问速率?
- 参数少一半、速度快3倍:最新目标检测核心架构来了
- bzoj2244 [SDOI2011]拦截导弹 cdq分治
- HA功能与DRS配合使用
- SQL数据库置疑数据怎么恢复
- 2021年安全员-A证(江西省)报名考试及安全员-A证(江西省)考试平台
- JSON.stringify(value [, replacer] [, space])
- Dynamic CRM 2016 IFD配置(1)证书颁发机构配置
- 一个公务员工作七年后的肺腑之言
- 移动端开发——flex布局
- 深度学习笔记:神经网络权重确定初始值方法
- 浪漫--》“慢”+“浪”
- Cyclen-PEG-Bodipy;大环配体-聚乙二醇-氟化硼二吡咯;大环配体-PEG-Bodipy
- Python多线程爬虫,主播信息资料爬取采集
- 华为云计算之rainbow迁移实验
- phpstudy本地配置教程You don't have permission to access解决
- 仓库无线覆盖解决方案
热门文章
- python后面空格报错_python中空格和table混用报错原因
- 一句话征服了美国人,这位饱受争议的数学博士竟从未上过学?
- 实用Python库,这几个你认识不?
- 如何把文件压缩变成一张图片?
- 计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...
- 3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络
- java sorted_Java记录 -59- SortedSet
- linux命令apprw,linux命令学习1(示例代码)
- 公众号滑动图代码_实用技巧:公众号封面图如何提取?
- 初二物理模型有哪些_初二是成绩下滑的高危期,做好这5点成绩涨涨涨!(附全学科提升技巧,家长转给孩子!)...