CF607B Zuma -提高+/省选-

CF607B Zuma

codeforces 原链接

题目描述

Genos\texttt{Genos}Genos 最近在他的手机上下载了祖玛游戏。在祖玛游戏里,存在 nnn 个一行的宝石,第 iii 个宝石的颜色是 CiC_iCi。这个游戏的目标是尽快的消灭一行中所有的宝石。

在一秒钟,Genos\texttt{Genos}Genos 能很快的挑选出这些有颜色的宝石中的一个回文的、连续的子串,并将这个子串移除。每当一个子串被删除后,剩余的宝石将连接在一起,形成一个新的行列。

你的任务是:求出把整个宝石串都移除的最短时间。

输入格式

第一行包含一个整数 n(1≤n≤500)n(1 \le n \le 500)n(1n500),表示宝石串的长度。第二行包含 nnn 个被空格分开的整数,第 i(1≤i≤n)i(1 \le i \le n)i(1in) 个表示这行中第 iii 个珠子的颜色。

输出格式

输出一个整数,把这行珠子移除的最短时间。

输入输出样例 #1

输入 #1

3
1 2 1

输出 #1

1

输入输出样例 #2

输入 #2

3
1 2 3

输出 #2

3

输入输出样例 #3

输入 #3

7
1 4 4 2 3 2 1

输出 #3

2

说明/提示

在第一个例子中,Genos\texttt{Genos}Genos 可以在一秒钟就把这行珠子全部移走。在第二个例子中,Genos\texttt{Genos}Genos 一次只能移走一个珠子,所以移走三个珠子花费他三秒。在第三个例子中,为了达到 222 秒的最快时间,先移除回文串 44\texttt{4 4}4 4,再移除回文串 12321\texttt{1 2 3 2 1}1 2 3 2 1

感谢 @Administrator2004 提供的翻译

solution

动态规划。对于区间 [l, r]。如果首尾相同,则首尾可以最后一次消去,此时可转换成 [l + 1, r - 1]。当然也可以不最后一次消去,则 [l, r] 必然可以分为两个部分消去,[l, k] + [k + 1, r]

  • 1 定义公式
    •  f[i][j]: 消去 [i, j] 最少的次数
      
  • 2 递推关系
    •  if a[i] == a[j]
      
    •      f[i][j] = min(f[i][j], f[i+1][j-1])
      
  •  f[i][j] = min(f[i][j], f[i][k] + f[k+1][j])
    
  • 3 结果
  •  f[1][n]
    
  • 4 初始值
    •  f[i][i] = 1
      
    •  f[i][i + 1] = 1 or 2 (相同就是1不同就是2)
      

代码

include "algorithm"
#include "iostream"
#include "unordered_map"
#include "cstring"using namespace std;/** CF607B Zuma** 题目大意:* 有一个n(n<=500)的点的序列,每次可以消去一段连续的回文序列,问最少几次可以将所有数都消去** 思路:动态规划。对于区间 [l, r]。如果首尾相同,则首尾可以最后一次消去,此时可转换成 [l + 1, r - 1]* 当然也可以不最后一次消去,则 [l, r] 必然可以分为两个部分消去,[l, k] + [k + 1, r]* * 1 定义公式*      f[i][j]: 消去 [i, j] 最少的次数* 2 递推关系*      if a[i] == a[j]*          f[i][j] = min(f[i][j], f[i+1][j-1])*      f[i][j] = min(f[i][j], f[i][k] + f[k+1][j])* 3 结果*      最大值 max(f[i][i + len - 1])*      取大值时 i 即为最开始去掉边* 4 初始值*      f[i][i] = 1*      f[i][i + 1] = 1 or 2 (相同就是1不同就是2)*/const int INF = 0x7f7f7f7f;int f[505][505], n, a[505];int main() {cin >> n;for (int i = 1; i <= n; i++) cin >> a[i], f[i][i] = 1, f[i - 1][i] = (a[i] != a[i - 1]) + 1;for (int len = 3; len <= n; len++) {for (int i = 1, j; (j = i + len - 1) <= n; i++) {f[i][j] = 500;if (a[i] == a[j]) f[i][j] = f[i + 1][j - 1];for (int k = i; k < j; k++) f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j]);}}cout << f[1][n] << endl;return 0;
}

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/922350.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/922350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拆分了解HashMap的数据结构

文章目录 前言 一、底层数据结构总览 二、核心组成部分详解 1. 数组&#xff08;哈希表&#xff09; 2. 节点&#xff08;Node&#xff09; 3. 红黑树&#xff08;TreeNode&#xff09; 三、哈希函数与索引计算 四、哈希冲突的解决 五、扩容机制 六、关键特性与注意事…

关于电脑连接不到5g的WiFi时的一些解决办法

方法一、设备管理器重卸载驱动后&#xff0c;重装驱动。方法二、打开控制面板 “控制面板\网络和 Internet\网络连接” &#xff08;亲测有效&#xff09;点击更改适配器配置右击当前的WLAN属性点击配置选择“高级” 802.11a/b/g 无线模式选项栏 值&#xff1a;6.的双…

Mathtype公式批量编号一键设置公式居中编号右对齐

插件[ygtools] 批量编号一键设置公式居中编号右对齐 单栏/多栏均可https://wwon.lanzout.com/i0NRf35vyw8j 下载密码8543

基于ssm的小橘子出行客户体验评价系统[SSM]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着出行行业的快速发展&#xff0c;客户体验评价对于出行服务质量的提升至关重要。本文设计并实现了基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架的小橘子出行客户体验评价系统。该系统涵盖系统用户管理、司机信息管理、客户评价管理等功…

算法日记---二分查找

目录 前言 一、二分查找 1.思想 2.简单二分 3.优点 4.局限性 二、模板 1.基本模板 2.简单例题&#xff08;LeetCode&#xff09; 4.有重复元素的二分 5.0-1问题 总结 前言 本文通过讲解简单的二分查找配合leetcode例题对二分查找本质、模板进行了基础的总结 提示&a…

Level Set(水平集)算法——形象化讲解

目录 维度一&#xff1a;核心思想与比喻&#xff08;它像什么&#xff1f;&#xff09; 维度二&#xff1a;要解决什么问题&#xff1f;&#xff08;它能干嘛&#xff1f;有什么用&#xff1f;&#xff09; 维度三&#xff1a;工作原理&#xff08;它是怎么做到的&#xff1…

DDoS 攻防“军备竞赛”的幕后

谈到 DDoS&#xff08;分布式拒绝服务攻击&#xff09;&#xff0c;很多人会想到“黑客租用肉鸡发流量&#xff0c;网站直接崩”。但事实上&#xff0c;如今的 DDoS 攻防早已变成一场 军备竞赛。攻击者的武器越来越“工业化”&#xff1a;僵尸网络商品化&#xff1a;黑市上&…

如何用 Rust 重写 SQLite 数据库(二):是否有市场空间?

用 Rust 实现一个类似 SQLite 的嵌入式数据库非常有意义&#xff0c;但需要结合具体目标和场景来评估其价值。以下从技术、生态、市场需求和个人成长等多个维度展开分析&#xff0c;并给出结论。一、技术价值&#xff1a;Rust 与数据库的天然契合 SQLite 作为全球装机量最大的数…

【Web】ImaginaryCTF 2025 wp

目录 imaginary-notes certificate codenames-1 passwordless pearl imaginary-notes I made a new note taking app using Supabase! Its so secure, I put my flag as the password to the "admin" account. I even put my anonymous key somewhere in the si…

oracel如何找到外键子表

要找到导致外键约束冲突的子表&#xff08;即包含"child record"的表&#xff09;&#xff0c;可以通过以下SQL查询在Oracle数据库中定位&#xff1a;1. 查询约束基本信息&#xff08;确定父表和子表&#xff09;SELECT owner, constraint_name, table_name AS child…

智源研究院新研究:突破物理世界智能边界的RoboBrain 2.0,将重构具身AI能力天花板

当你对着家用机器人说"把杯子放在笔筒和键盘之间&#xff0c;对齐杯身logo"时&#xff0c;它能精准理解空间关系并执行动作&#xff1b;当多台机器人在超市协作补货时&#xff0c;它们能自主规划轨迹、避免冲突并完成长周期任务——这些曾经出现在科幻电影中的场景&a…

【2025】Office核心组件Microsoft word,Excel,PowerPoint详细使用指南

Office 核心组件使用指南 Microsoft Word 文字处理 Word主要用于创建和编辑文档&#xff0c;如信件、报告、论文等。 2025Office&#x1f517; 1. 界面认识 快速访问工具栏&#xff1a;位于左上角&#xff0c;可自定义保存、撤销、恢复等常用命令。功能区&#xff1a;顶部…

【模型训练篇】VeRL的使用 - RL(PPO)与源码

继续学习字节家的VeRL&#xff0c;今天来看看VeRL的RL&#xff0c;是VeRL系列的第三篇文章&#xff08;话说近期好多大事儿&#xff0c;我司发布了Longcat、韩立结婴、阿里周五发布了QWen-Next都是好东西啊&#xff0c;学不过来了damn&#xff09; 底层分布式能力基础Ray&…

QML Charts组件之折线图的鼠标交互

目录前言相关系列代码示例详解&#xff08;LineSeriesDemo3.qml&#xff09;功能概览运行效果代码说明工程下载参考前言 接上文&#xff08;QML Charts组件之折线图的基础属性&#xff09;&#xff0c;本文将重点介绍LineSeries的鼠标交互&#xff0c;包括&#xff1a;鼠标拖拽…

二值信号量——学习笔记12

本文是笔者在学习 正点原子官方 的《【正点原子】手把手教你学FreeRTOS实时系统》系列视频时整理的笔记。 视频讲解清晰透彻&#xff0c;非常感谢UP主的无私奉献&#xff01;原课程链接如下&#xff1a; &#x1f449; B站视频链接&#xff1a;​​​​​​【正点原子】手把手教…

裸机开发 时钟配置,EPIT

1.概念时钟(clock)&#xff1a;在电子系统中是一个产生稳定、周期性振荡信号的电路或组件。这个信号像节拍器或心跳一样&#xff0c;为数字电路中的各种操作提供同步时序基准。PLL&#xff08;phase locked loop&#xff09;锁相环电路: 倍频PFD&#xff08;phase fractional P…

Linux-文本三剑客(grep、sed、awk)

Linux-文本三剑客前言一、grep二、sed三、awk模式 -- 正则表达式关系表达式、运算符表达模式匹配表达式动作 输出流程控制参数传递&#xff0c;awk接受外部变量统计数组的使用分组统计练习常用内置函数前言 grep、sed、awk 被称为 “文本三剑客”&#xff0c;它们是处理文本文…

主流反爬虫、反作弊防护与风控对抗手段

文章目录1. 写在前面2. 指纹检测3. 行为验证3. 加固防护4. 链路检测5. 风控埋点6. 游客注册7. 数据防护8. 账号权重9. 反调阻断【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、…

金蝶云星空插件开发记录(一)

实现目的&#xff1a;新增供应商保存后&#xff0c;触发钉钉审批流程&#xff0c;并根据钉钉审批结果回写是否合格供应商。实现思路&#xff1a;通过BOS平台供在应商管理界面新增两个复选框字段&#xff1a;是否钉钉审批、是否合格供应商&#xff0c;若在新建供应商档案时勾选是…

企业跨区域组网新解:SD-WAN技术打造安全稳定网络体系

前言在数字化浪潮席卷全球的今天&#xff0c;企业跨区域网络互联已成为支撑业务发展的关键基础设施。传统MPLS专线虽性能稳定&#xff0c;但高昂成本和漫长部署周期令众多企业望而却步。SD-WAN技术的出现&#xff0c;正以其智能、灵活和成本效益的优势&#xff0c;重塑企业组网…