codeforces 1324E. Sleeping Schedule(动态规划)

正交试验minitab 1.创建正交试验 2.根据自己的实验选择水平数和因子数,并选定一个正交表 3.得到正交表 4.填写实验结果 5.进行正交分析 点击结果,点击分析 6.得到分析结果 7.方差分析 选择响应变量与因子,点击确定 得到方差分析的结果 ... 阅读详情

E. Sleeping Schedule(动态规划)

题目链接:codeforces 1324E

题意:

    n,h,l,r,给n个时间,从0开始睡觉,每天共有 h 小时,每次睡 Ai  或者 Ai-1 的 时间,如果在l 和 r段时间入睡 那么满意度+1,问满意度最高多少?

解题思路:

   动态规划问题,dp[i][j] 代表 第 i 段在第 j 小时睡觉的满意度

可以选择睡a[i]小时,可以选择睡a[i] - 1 小时,选择更优解

#include <bits/stdc++.h>
using namespace std;
int dp[2005][2005], a[2005];
int main(){
    int n, h, l, r;
    cin >> n >> h >> l >> r;
    memset(dp,-0x3f3f3f3f,sizeof(dp));
    dp[0][0] = 0;
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }
    for(int i = 1; i <= n; i++){
        for(int j = 0; j < h; j++){
            if((j + a[i]) % h >= l && (j + a[i]) % h <= r){ // 睡a[i]小时
                dp[i][(j+a[i])%h] = max(dp[i][(j+a[i])%h], dp[i-1][j] + 1);
            }
            else{
                dp[i][(j+a[i])%h] = max(dp[i][(j+a[i]) % h], dp[i-1][j]);
            }
            if((j + a[i] - 1) % h >= l && (j + a[i] - 1) % h <= r){ // 睡a[i]-1小时
                dp[i][(j+a[i]-1)%h] = max(dp[i][(j+a[i]-1)%h], dp[i-1][j] + 1);
            }
            else{
                dp[i][(j+a[i]-1)%h] = max(dp[i][(j+a[i]-1)%h], dp[i-1][j]);
            }
        }
    }
    int ans = 0;
    for(int i = 0; i < h; i++){
        ans = max(ans, dp[n][i]);
    }
    cout << ans << endl;
    return 0;
}

 

大数据知识面试题-通用(2026版) 序列号 内容 链接 1 大数据知识面试题-通用(2022版) 待续… 2 大数据知识面试题-Hadoop(2022版) 待续… 3 大数据知识面试题-MapReduce和yarn(2022版) 待续… 4 大数据知识面试题-Zookeepr (2022版) 待续… 5 大数据知识面试题-Hive (2022版) 待续… 6 大数据知识面试题-Flume(2022版) 待续… 7 大数据知识面试题-Hbase(2022版) 待续… 8 大数据知识面试题-sqoop(.... 阅读详情

相关推荐

从零到一:Cadence AC仿真中的运放性能参数深度解析与实战避坑指南

本文深度解析Cadence AC仿真中运放性能参数的精确测量方法,包括开环增益、带宽和相位裕度等关键指标。通过实战案例分享常见设置错误的避坑技巧,帮助工程师提升设计成功率和仿真效率,特别针对全差分运放和工艺角分析提供专业指导。

www00的博客 293

codeforces1324——E.Sleeping Schedule(DP+初始化)

原题链接 题意: (from洛谷) 思路: 很容易想到DP。 dp[i][j]表示选完前i个元素前缀和对h取余的值为j的优秀睡眠的个数。 划分依据就是选择第i个元素时是否将其减一,如果不减一的话,上一个状态就是dp[i-1][j-a[i]],即选完前i-1个元素后前缀和对h取余的值为j-a[i]的优秀睡眠的个数;减一的话也类似。 有两个需要注意的点: 一是初始化,因为有些状态不合法,要初始化为极小值。 二是关于取余的问题,应该要保证dp数组的第二维为正数。 代码: #pragma GCC optimize(

我们都有光明的未来 296

CLion与STM32CubeMX联调:JLink GDB Server高效调试指南

本文详细介绍了如何搭建并配置CLion、STM32CubeMX与JLink GDB Server联调的现代化STM32开发环境。通过一站式环境搭建、工程创建、核心调试配置及高级技巧(如RTT日志),该组合实现了高效的代码编辑、可视化配置与稳定调试,大幅提升嵌入式开发效率与体验。

web99的专栏 258

CodeForces - 1324 E. Sleeping Schedule 动态规划+循环数组

CodeForces - 1324 E. Sleeping Schedule 原题地址: http://codeforces.com/contest/1324/problem/E 基本题意: 给出一天有多少小时,一个好时间段 [ l , r ] ,和n种睡眠时长存在数组a中,对于每种睡眠时长你可以选择睡a[i]小时或a[i] - 1小时,如果你醒来的时间在[ l , r ]范围内,就认为这次醒...

SunsetColors的博客 283

Anomalib实战:5分钟搞定图像异常检测模型训练(附完整代码)

本文提供了一份基于Anomalib框架的图像异常检测快速实战指南。文章详细介绍了从环境搭建、数据准备到模型训练与推理的完整流程,重点推荐了训练速度快、效果稳定的PatchCore模型,并附带了可运行的完整代码,旨在帮助开发者快速上手工业质检等实际应用。

weixin_29039773的博客 420

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

E. Sleeping Schedule--------------------------思维(dp)

题意: 一天有h个小时,有n个时间间隔。每次睡觉只睡a[i]或者a[i]-1段时间。如果在[l,r]时间内睡觉。满意度+1 解析: 设f[i][j]:表示第i段,在第j个小时睡觉 那么我们就从第i-1个段,分析。 第i-1段有两种可能要么睡a[i]时间,要么睡a[i]-1时间。 所以状态转移方程: f[i][j]=max(f[i-1][(j-a[i]+h)%h],f[i-1][(j-(a[i]...

qq_43690454的博客 265

Ubuntu桌面消失?可能是lightdm配置在捣鬼:详细解析/etc/lightdm.conf的优先级机制与实战修复

本文详细解析了Ubuntu系统因lightdm显示管理器配置错误导致桌面消失的问题。通过分析/etc/lightdm.conf的优先级加载机制,提供了从systemctl诊断、调试模式运行到实战修复配置语法错误(如缺失[Seat:*]组)的完整方案。文章还探讨了在系统无法启动时使用chroot或恢复模式进行高级救援,并对比了lightdm与gdm3在NVIDIA驱动环境下的不同表现,帮助用户高效恢复图形界面。

weixin_29313547的博客 420

【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=1i​ak​...

Cassie_zkq的博客 425

Windows批处理脚本实战:用Ping命令打造简易网络监控工具(附完整代码)

本文介绍如何利用Windows批处理脚本和Ping命令,快速构建一个轻量级、自动化的网络监控工具。该方案无需额外安装软件,通过周期性探测目标IP连通性,并将结果(成功、失败及延迟)自动记录到带时间戳的日志文件中,适合中小团队或临时监控需求,实现低成本、高效率的网络状态监控。

5f4d3s2a1q的博客 494

【用unity实现100个游戏之34】使用环状(车轮)碰撞器(Wheel Collider)从零实现一个汽车车辆物理控制系统,实现一个赛车游戏

本文介绍了在Unity中使用Wheel Collider组件实现3D车辆物理控制系统的详细步骤。主要内容包括: Wheel Collider参数详解:包括基础参数(质量、半径等)、悬挂弹簧系统(弹力、减震等)和摩擦力设置(前向/侧向摩擦曲线)。 准备工作流程: 导入赛车模型、赛道和树木素材 为车身添加Rigidbody和MeshCollider 创建四个Wheel Collider并调整参数(半径、悬挂距离等) 优化摩擦系数设置防止侧滑 实现车辆控制: 通过代码控制车轮前后移动和转向 提供底盘系统设置(四轮

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2657

CF1324E Sleeping Schedule 题解

博客园同步 原题链接 简要题意: 每次可以将 aia_iai​ 减 111 或不变。求让 aia_iai​ 的前缀和 %h\% h%h 的值在 [l,r][l,r][l,r] 区间中的最多的个数。 E题是个水dp,也不怎样 用 fi,jf_{i,j}fi,j​ 表示前 iii 个数中,(∑k=1iak)%h=j\bigg ( \sum_{k=1}^{i} a_k \bigg ) \% h = j(...

bifanwen的博客 323

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Codeforces 1324 E. Sleeping Schedule(DP)

题意: nnn 个时间间隔,一天共有 hhh 小时,每次睡 aia_iai​ 或者 ai−1a_{i-1}ai−1​ 段时间,如果在 lll 和 rrr 段时间入睡 那么满意度 +1+1+1 ,问满意度最高多少 用 dp[i][j]dp[i][j]dp[i][j] 表示在第 iii 段在第 jjj 小时睡觉的最大满意值 。然后直接 dpdpdp 即可。 AC代码: const int N = 2...

邵光亮的博客 14万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CodeForces 1324E Sleeping Schedule(dp)

Vova had a pretty weird sleeping schedule. There are h hours in a day. Vova will sleep exactly n times. The i-th time he will sleep exactly after ai hours from the time he woke up. You can assume that...

starlet_kiss的博客 382

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[Codeforces Round #627]1324E - Sleeping Schedule[dp]

1324E - Sleeping Schedule[dpdpdp] time limit per test memory limit per test input output 2 seconds 256 megabytes standard input standard output Description: Vova had a pretty weird sleepin...

QAQ! 的博客 430

Codeforces 1324E. Sleeping Schedule(DP)

Description Vova had a pretty weird sleeping schedule. There are h hours in a day. Vova will sleep exactly n times. The i-th time he will sleep exactly after ai hours from the time he woke up. You can...

名字呢? 329

CodeForces - 1324E Sleeping Schedule (DP)

????‍♂️ ????‍♂️ ????‍♂️ 注意通过初始化控制非法状态转移,比如第一个睡觉的时间就只能是从dp[ 0 ][ 0 ]转移过来,不能是dp[0][ 1 ] 等,否则会出现多算 int dp[5555][5555]; void solve() { int n,h,l,r;cin>>n>>h>>l>>r; rep(i,n+1) rep(j,...

欢迎光临 我的心 254

CodeForces - 1324E Sleeping Schedule (dp)

题意:n个物品,顺序选择令t=a[i]或a[i]-1,即s=(s+t),问s在[l,r]的次数有多少次? 简单dp,dp[i][j]:选取前i个物品到j时最优的次数; dp[i][j]=max(dp[i-1][(j-a[i]+h)%h],dp[i-1][(j-a[i]+1)%h]); 在判断j是否在区间[l,r]内,若在dp[i][j]++; 具体见代码: #include <b...

xqx_Zi_yu 242

codeforces 627 div3 E. Sleeping Schedule

E. Sleeping Schedule time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vova had a pretty weird sleeping schedule. There areℎhhour...

黑码 800

Codeforces Round #627 (Div. 3) E. Sleeping Schedule 线性DP

题目链接:http://codeforces.com/contest/1324/problem/E 题意:每天有h小时,总共要睡n次,每次你可以选择在a[i] or a[i] - 1小时后睡觉。如果睡觉的区间在[l, r]的话认为是好的 求如何安排使得睡觉好的次数最多。 思路:f[i][j] 表示第i次在时间j睡觉的最多次数,有点类似背包的思想,我们枚举时间,每次只需要判断当前时间是否在[l...

独钓门前月 412

E. Sleeping Schedule(背包模型+初始化)

https://codeforces.com/problemset/problem/1324/E 给定正整数序列a,对于每个数可以选择是否−1,问答案%h处于[l.r]之间最多的次数。 思路:第一眼看到像个dfs,那么要优化的就是记忆化搜索,改成dp。 类似背包.dp[i][j]:对于当前第i个物品,处于j这个时间段的最大次数。如果取a[i],对应从j-a[i]+h %h,如果取a[i]-1,对应取j-a[i]+1+h %h。 但是如果直接这么做是存在问题的。因为刚开始有些状态就是不合法的。...

代码笔记本 330

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天,时间 mod h\bmod hmodh为jjj的情况,转移方程也比较明显了:f[i][j]=max

m0_51068403的博客 173

E. Sleeping Schedule

链接:https://codeforces.ml/contest/1324/problem/E Vova had a pretty weird sleeping schedule. There arehhhours in a day. Vova will sleep exactlynntimes. Theii-th time he will sleep exactly afterai...

Luoriliming的博客 880

A. Yet Another Tetris Problem

time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given some Tetris field consisting ofnncolumns. The initial height of th...

无知的我 1308

CF #627 div3 E. Sleeping Schedule 题解(dp)

题目链接 题目大意 一个人要睡n次,一天有h个小时,可以选择睡a[ i ]个小时或者a[ i ]-1个小时,起来之后又马上睡。 如果起来的时间在L和R中间(闭区间),则答案加1,求最大的答案。 题目思路 显然是要用dp的思路,但是自己实在太菜,根本不知道怎么用,这次也算学习一下dp吧 进入正题: 显然这个题目答案和前 i 个中有 j 个选减1有关,那么可以设 dp[ i ][ j ] 表示前i个中...

hunxuewangzi的博客 613

codforces E. Sleeping Schedule

题目 题意: 给你n,h,l,rn, h, l, rn,h,l,r每次睡觉可以睡aia_iai​或者ai−1a_i-1ai​−1小时,但是每天只有h小时,问入睡的时候是lll~rrr的次数有几次。 思路: 原来用的dfs,但是超时了,所以就用dp去求,首先就是状态的关系,因为每一次睡觉就是在前一次睡觉的基础上加上aia_iai​或者ai−1a_i - 1ai​−1但是我们很难计算出上一次的两个状...

忘梦心的博客 344
上一篇: codeforces 1324 D. Pair of Topics(思维)
下一篇: 什么是引用变量?在php中,用什么符号定义引用变量
error0318
博客等级 码龄9年 57粉丝 515原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值