【双指针优化DP】The 2022 Hangzhou Normal U Summer Trials H
Problem - H - Codeforces
题意:

思路:
首先很明显是DP
因为只有1e6个站点,因此可以以站点作为阶段
注意到K很小,因此可以尝试把这个当作第二维
设dp[i][j]为到达第i个站点,已经花了j元钱的最小步数
然后就想了一个n^2的做法,枚举两个指针,第i个站点从第p个站点转移,讨论是走过来的还是骑过来的,计算贡献
但是这样n^2肯定超时,因此我们去考虑特殊性质来枚举上一个状态
特殊性质是,K很小,因此考虑去枚举这次花了l元钱到第i个站点
但是这样的话从什么位置转移过来就不知道了,因此需要预处理从位置和花的钱数的关系

Code:
#include <bits/stdc++.h>#define int long longusing namespace std;const int mxn=1e6+10;
const int mxv=1e6+10;
const int mod=1e9+7;int N,P,S,K;
int a[mxn],dp[mxn][6],lx[6];void solve(){cin>>N>>P>>S;for(int i=1;i<=N;i++) cin>>a[i];cin>>K;memset(dp,0x3f,sizeof(dp));for(int i=0;i<=K;i++) dp[1][i]=a[1],lx[i]=1,dp[0][i]=0;for(int i=1;i<=N;i++){for(int j=0;j<=K;j++){while(a[i]-a[lx[j]]>j*S) lx[j]++;dp[i][j]=dp[i-1][j]+a[i]-a[i-1];for(int l=1;l<=j;l++){dp[i][j]=min(dp[i][j],dp[lx[l]][j-l]);} }}int ans=1e9;for(int i=1;i<=N;i++) ans=min(ans,dp[i][K]+P-a[i]);cout<<ans<<'\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;//cin>>__;while(__--)solve();return 0;
}
相关文章:
【双指针优化DP】The 2022 Hangzhou Normal U Summer Trials H
Problem - H - Codeforces 题意: 思路: 首先很明显是DP 因为只有1e6个站点,因此可以以站点作为阶段 注意到K很小,因此可以尝试把这个当作第二维 设dp[i][j]为到达第i个站点,已经花了j元钱的最小步数 然后就想了一…...
[论文笔记] LLM数据集——金融数据集
一、chatglm_金融 ModelScope 魔搭社区 请将modelscope sdk升级到v1.7.2rc0,执行: pip3 install "modelscope1.7.2rc0" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html # 方式1 git clone http://www.modelscope…...
在亚马逊平台,如何有效举报违规行为?
众所周知,在每个行业都有一些违规现象,甚至这些违规现象还会给自己带来利益方面的损失,一旦触犯到自己的利益的话,那自己是需要想办法解决的,想办法规避。 就拿开亚马逊店铺来说,比较容易遇到的就是产品侵…...
深度学习入门教学——神经网络
深度学习就是训练神经网络。 1、神经网络 举个最简单的例子,以下是一个使用线性回归来预测房屋价格的函数。这样一个用于预测房屋价格的函数被称作是一单个神经元。大一点的神经网络,就是将这些单个神经元叠加起来。例如:神经网络根据多个相…...
阿里Java开发手册~OOP 规约
1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用 类名 来访问即可。 2. 【强制】所有的覆写方法,必须加 Override 注解。 说明: getObject() 与 get 0 bject() 的问题。…...
【Mysql数据库面试01】内连接 左连接 右连接 全连接
【Mysql数据库】内连接 左连接 右连接 全连接 0.准备1.内连接1.1 SQL(不带where)1.2 SQL(带where)1.3总结 2.左连接2.1SQL(不带where)2.2SQL(带where)2.3总结 3.右连接3.1 SQL(不带where&#x…...
事务隔离:为什么你改了我还看不见
前提概要 你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就 是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法…...
吴恩达ChatGPT《LangChain Chat with Your Data》笔记
文章目录 1. Introduction2. Document Loading2.1 Retrieval Augmented Generation(RAG)2.2 Load PDFs2.3 Load YouTube2.4 Load URLs2.5 Load Notion 3. Document Splitting3.1 Splitter Flow3.2 Character Splitter3.3 Token Splitter3.4 Markdown Spl…...
https和http有什么区别
https和http有什么区别 简要 区别如下: https的端口是443.而http的端口是80,且二者连接方式不同;http传输时明文,而https是用ssl进行加密的,https的安全性更高;https是需要申请证书的,而h…...
振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测
振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测 近年来,随着城市化的不断推进和基础设施建设的不断发展,隧道建设也日益成为城市交通发展的必需品。然而,隧道建设中存在着一定的安全隐患,如地质灾害、地下水涌流等&…...
linux基础学习
1.day1 2.day2 1、VIM配置; 2、安装SSH,调用putty接入终端; 3、shell命令; *:匹配任意长度的字符 ?:匹配一个长度的字符 [...]:匹配其中指定的一个字符 [-]:匹配指定…...
android 前端常用布局文件升级总结(二)
问题一: android:name“android.support.v4.content.FileProvider” 报红 问题解决方案: 把xml布局文件里面: android.support.v4.content.FileProvider 更换成 androidx.core.content.FileProvider 问题二: android.support.design.wid…...
Linux复习——基础知识
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 1. 有关早期linux系统中 sysvin的init的7个级别描述正确的是( )[选择1项] A. init 1 关机状态 B. init 2 字符界面多用户模式 …...
【数据结构】实验三:链表
实验三链表 一、实验目的与要求 1)熟悉链表的类型定义; 2)熟悉链表的基本操作; 3)灵活应用链表解决具体应用问题。 二、实验内容 1)请设计一个单链表的存储结构,并实现单链表中基本运算算…...
第4集丨webpack 江湖 —— loader的安装和使用
目录 一、loader简介1.1 使用 loader1.1.1 配置文件方式1.1.2 内联方式 1.2 loader 特性1.3 解析 loader1.4 命名规范 二、css loader的安装和使用2.1 安装2.2 配置2.3 测试 三、 less-loader 的安装和使用3.1 安装3.2 配置3.3 测试3.4 附件3.4.1 webpack.config.js3.4.2 index…...
【Lua学习笔记】Lua进阶——协程
文章目录 协程协程的定义和调度StatusRunning 协程 协程是一种并发操作,相比于线程,线程在执行时往往是并行的,并且线程在创建销毁执行时极其消耗资源,并且过长的执行时间会造成主进程阻塞。而协程可以以并发时轮值时间片来执行&…...
亚马逊云科技纽约峰会,充分释放数据价值和生成式AI的潜力
生成式AI将深刻改变每个公司的运营方式,标志着人工智能技术发展的新转折点。亚马逊云科技昨日在纽约峰会上宣布,推出七项生成式AI新功能,进一步降低了生成式AI的使用门槛,让无论是业务用户还是开发者都能从中受益。借助这些新功能…...
什么是 web3?
在百度搜索引擎输入 “Web3”、“大厂”。跳出来基本都是这样的标题. 以及如今的互联网行业 “哀鸿遍野”,不仅内卷,还裁员。然后掀起一阵风,猛吹 Web3 的好,数据回归用户……最后再 “威逼利诱” 一下,Web3 就是 20 年…...
[驱动开发]字符设备驱动应用——点灯
点亮开发板stm32mp157的三盏灯 //头文件 #ifndef __LED_H__ #define __LED_H__//封装GPIO寄存器 typedef struct { volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsign…...
前端学习——Vue (Day5)
自定义指令 <template><div><h1>自定义指令</h1><input v-focus ref"inp" type"text" /></div> </template><script> export default {// mounted(){// this.$ref.inp.focus()// }// 2. 局部注册指令di…...
Qwen3-ASR-1.7B与QT集成:开发跨平台语音识别桌面应用
Qwen3-ASR-1.7B与QT集成:开发跨平台语音识别桌面应用 1. 引言 想象一下,你正在开发一个需要语音输入功能的桌面应用。传统的语音识别方案要么需要联网调用云端API,要么识别准确率不够理想。现在,有了Qwen3-ASR-1.7B这个强大的开…...
解密ARM多核调度:从Linux内核源码看SMP负载均衡如何玩转Cortex-A系列
ARM多核调度实战:从Linux内核视角剖析SMP负载均衡的艺术 在移动计算和嵌入式系统领域,ARM架构凭借其出色的能效比已经占据了主导地位。随着Cortex-A系列处理器核心数量的不断增加,如何高效地管理这些计算资源成为系统性能优化的关键。本文将带…...
C# Enumerable类 之 高效数据转换实战指南
1. 为什么需要数据转换? 在C#开发中,我们经常会遇到需要处理不同类型数据集合的场景。比如从数据库读取的数据可能是object类型,或者老项目中还在使用非泛型的ArrayList。这时候就需要将这些"原始"数据转换成我们需要的特定类型&am…...
OpenClaw+GLM-4.7-Flash:个人财务管理自动化方案
OpenClawGLM-4.7-Flash:个人财务管理自动化方案 1. 为什么需要自动化财务管理? 作为一个长期被个人账务困扰的技术从业者,我每个月最头疼的就是整理各种消费记录。银行卡、支付宝、微信支付、信用卡账单分散在不同平台,手动统计…...
经典游戏现代化:让魔兽争霸III重获新生的适配工具
经典游戏现代化:让魔兽争霸III重获新生的适配工具 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当你在4K显示器上启动魔兽争霸III时&…...
UE5材质贴图避坑指南:为什么你的金属材质看起来不对劲?
UE5金属材质表现不佳的7个关键原因与解决方案 当你在UE5中精心制作的金属材质始终缺乏真实感时,问题往往隐藏在贴图交互与参数设置的细节中。本文将解剖金属材质表现不佳的典型症状,并提供可直接落地的调试方法。 1. 金属材质表现不佳的典型症状诊断 金属…...
别再让数据库“吃”脏数据了!一文讲透MySQL约束,从入门到精通
作为一名程序员,我们每天都在和数据库打交道。不知道你有没有遇到过这样的情况:用户注册时填写的年龄是200岁,性别是“未知”,或者明明员工表里存了一个部门ID,但在部门表里却根本找不到这个部门。这些“脏数据”就像定…...
springboot-vue+nodejs的宠物医院电子病历管理系统的设计与实现
目录技术栈选择系统模块划分开发阶段规划关键实现细节部署方案测试与优化项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 后端采用Spring Boot框架,提供RESTful API接口,处理业务逻辑和数据持…...
springboot-vue基于web的智慧游乐场游乐园门票售票系统网站的设计与实现
目录技术选型核心功能模块数据库设计安全与性能部署方案测试计划项目里程碑文档规范项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型 后端框架:Spring Boot 2.7.x(集成Spring Security、JWT、My…...
LeetCode 283. Move Zeroes 题解
LeetCode 283. Move Zeroes 题解 题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输…...
