当前位置: 首页 > news >正文

A - Block Sequence

思路:

(1)对于每一个位置,有三种选择,一是选择删除,二是选择当排头清洗,三是被前面的排头清洗;

(2)注意到总是要求将最后一位数清洗完,即前面信息依赖后面信息,于是考虑从后往前分析,令f[i]描述i~n最小代价,则对于第i位,可选择

  1. 删除: f[i] = f[i +1] + 1;
  2. 清洗:f[i] = f[i + a[i] + 1]
  3. 等待清洗:由于我们只讨论i~n位的信息,所以必须保证第i位被清洗,故不可等待。

代码:

#include <iostream>
#include <queue>
using namespace std;
const int maxn = 2e5 + 10;
int dp[maxn], a[maxn];void solve() { int n;cin >> n;for (int i = 1; i <= n; ++i) {cin >> a[i];}dp[n] = 1;dp[n+1] = 0;for (int i = n - 1; i >= 1; --i) {dp[i] = 1 + dp[i+1]; // 删除第i个if (i + a[i] <= n) { // 利用第i个做为区间起点dp[i] = min(dp[i], dp[i+a[i]+1]);}}printf("%d\n", dp[1]);
}
int main() 
{int t;cin >> t;while(t --){solve();}return 0;
}

http://www.lryc.cn/news/207717.html

相关文章:

  • 0031【Edabit ★☆☆☆☆☆】【使用箭头函数】Using Arrow Functions
  • C#,数值计算——分类与推理,基座向量机(SVM,Support Vector Machines)的计算方法与源程序
  • 面试总结之消息中间件
  • Java零基础入门-逻辑运算符
  • 图的应用3.0-----拓扑排序
  • Unity之ShaderGraph如何实现冰冻效果
  • 解决 viteprees 中 vp-doc 内置样式影响组件预
  • flask 和fastdeploy 快速部署 yolov3
  • Go 反射
  • 竞赛选题 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序
  • ts-node模块
  • 【VUE】ElementPlus之动态主题色调切换(Vue3 + Element Plus+Scss + Pinia)
  • MySQL数据库基本操作1
  • Webpack简介及打包演示
  • 面向对象设计模式——命令模式
  • selenium测试框架快速搭建(ui自动化测试)
  • TypeScript中的类型映射
  • 系统平台同一网络下不同设备及进程数据通讯--DDS数据分发服务中间件
  • golang小技巧
  • JavaWeb——IDEA操作:Project最终新建module
  • 前端开发技术栈(工具篇):2023深入了解webpack的安装和使用以及核心概念和启动流程(详细) 63.3k stars
  • [SQL开发笔记]LIKE操作符:在 WHERE 子句中搜索列中的指定模式
  • flutter深研
  • TypeScript中的declare关键字
  • 玫瑰红葡萄酒的基本知识
  • HTTP 协议参考文档
  • Python遍历删除列表元素的一个奇怪bug
  • Elasticsearch部署中的两大常见问题及其解决方案
  • 【计网 CDN】计算机网络 CDN(Content Delivery Network)分布式网络架构详解:中科大郑烇老师笔记 (八)
  • C# 图解教程 第5版 —— 第9章 表达式和运算符