洛谷P4170 [CQOI2007]涂色题解
废话:
这个题我第一眼看就是贪心呐, 可能是我之前那做过一道类似的题这俩题都是关于染色的
现在由于我帅气无比的学长的指导, 我已经豁然开朗, 这题贪心不对啊,
当时感觉自己好厉害贪心都能想出来
差点就觉得自己感动中国了
现在感觉自己仿佛是个zz
但是50分的话, 还是比较可观的(我在瞎说不要信
正文:
区间DP, 枚举区间 ,分为两个情况讨论
第一种情况:你现在枚举的这个区间[i, j], 两边的颜色是一样的那么就从[i + 1. j]和[i, j - 1]里面选择较小的那一个
第二种情况:就是两边颜色不一样的情况, 直接枚举一个k合并区间即可
最后一定要注意:
f数组一定要初始化!
memset (f, 0x3f3f3f, sizeof (f));for (int i = 1; i <= len; i++)f[i][i] = 1;
AC程序(我真的很喜欢自己的码风,等待挨喷):
#include <cstdio> #include <cstring> #include <iostream> using namespace std; const int N = 110; char ch[N]; int f[N][N], len; int main () {scanf ("%s", ch + 1);len = strlen (ch + 1);memset (f, 0x3f3f3f, sizeof (f));for (int i = 1; i <= len; i++)f[i][i] = 1;for (int l = 2; l <= len; l++) for (int i = 1; i + l - 1 <= len ; i++) {int j = i + l - 1;if (ch[i] == ch[j])f[i][j] = min (f[i + 1][j], f[i][j - 1]);else for (int k = i; k < j; k++) f[i][j] = min (f[i][j], f[i][k] + f[k + 1][j]);}printf ("%d\n", f[1][len]);return 0; }
谢谢收看, 祝身体健康!
转载于:https://www.cnblogs.com/yanxiujie/p/11345671.html
洛谷P4170 [CQOI2007]涂色题解相关推荐
- 洛谷P4170 [CQOI2007]涂色 题解
洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...
- 【算法•日更•第三十期】区间动态规划:洛谷P4170 [CQOI2007]涂色题解
废话不多说,直接上题: P4170 [CQOI2007]涂色 题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符 ...
- 【题解】洛谷P1283 平板涂色(搜索+暴力)
思路 看到n<16 整个坐标<100 肯定想到暴力啊 蒟蒻来一发最简单易懂的题解(因为不会DP哈 首先我们用map数组来存坐标图 注意前面的坐标需要加1 因为输入的是坐标 而我们需要的是格 ...
- 洛谷 P1162 填涂颜色题解
题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6) ...
- 【动态规划】P4170 :涂色(区间dp)
初始化: 因为要求 最小值,所有dp初始化为INF 当区间长度为1时,dp为1 枚举时先枚举小区间 #include<iostream> #include<cstring> # ...
- [BZOJ1260][CQOI2007]涂色paint 区间dp
1260: [CQOI2007]涂色paint Time Limit: 30 Sec Memory Limit: 64 MB Submit: 1575 Solved: 955 [Submit][S ...
- bzoj 1260: [CQOI2007]涂色paint(区间DP)
1260: [CQOI2007]涂色paint Time Limit: 30 Sec Memory Limit: 64 MB Submit: 1681 Solved: 1018 [Submit][ ...
- 洛谷P1129 [ZJOI2007] 矩阵游戏 题解
洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...
- 洛谷P3336 [ZJOI2013]话旧 题解
洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...
最新文章
- Python API vs C++ API of TensorRT
- 腾讯曝光新型AI攻击手法:“黑”掉神经网络,构造后门,最主流模型均不能幸免...
- C++中的STRING数据 重载 = 和数组下标
- matlab 常用m文件,MATLAB基础课程 第三章 M文件知识(4)
- 计算机应用基础知识点提纲,计算机应用基础复习提纲
- android没有蓝牙设备,【Android】没有触发LeScanCallback导致无法搜索到蓝牙设备
- linux环境下protobuf的安装与使用
- python AttributeError: 'module' object has no attribute 'dumps'解决办法
- 翻译:神经网络 为什么要通过减去数据集的图像均值来标准化图像,而不是深度学习中的当前图像均值?
- 根据Word模板动态生成PDF
- 智慧园区SaaS管理系统解决方案:赋能园区实现信息化、数字化管理
- 计算机网络释疑与解答第六版 pdf,计算机网络释疑与习题解答第5版.pdf
- uniapp上传图片视频插架分享
- [转载] 晓说——第24期:“看美国”系列之人类精华犹太人(下)
- 用malloc开辟二维数组的三种办法
- 关闭msmpeng_关闭Windows Defender与性能提升测试
- BadBoy录制JMeter脚本
- 将文件复制到FTP服务器时发生错误。 的解决办法
- pytho编码,关键字,注释,字符串形式,替换等变化基础常识
- 这几款数据恢复神器,希望你永远都不要用到