区间dp,要明确当前区间到哪里去

#include<bits/stdc++.h>
using namespace std;
const int INF=(int)1e9+7;
int a[5010];
int dp[5010][5010][2];
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int l=1;l<=n;l++){for(int r=l;r<=n;r++){dp[l][r][1]=dp[l][r][0]=INF;if(l==r)dp[l][r][0]=dp[l][r][1]=0;}}for(int l=n;l>=1;l--){for(int r=l;r<=n;r++){for(int i=0;i<=1;i++){int tmp;if(i==0)tmp=a[l];elsetmp=a[r];if(l>1)dp[l-1][r][0]=min(dp[l-1][r][0],dp[l][r][i]+(tmp!=a[l-1]));//原来的状态要到哪里去 if(r<n)dp[l][r+1][1]=min(dp[l][r+1][1],dp[l][r][i]+(tmp!=a[r+1]));}}}printf("%d\n",min(dp[1][n][0],dp[1][n][1]));
}

转载于:https://www.cnblogs.com/lishengkangshidatiancai/p/10362301.html

cf1114 D. Flood Fill相关推荐

  1. LeetCode Number of Islands(flood fill)

    问题:给出一个由0和1组成的二维网格图(m*n),1表示陆地,0表示水.要求统计有多少块陆地 思路:常见的flood fill算法有三种,深度优先搜索.广度优先搜索以及广度扫描法.广度扫描法其实原理与 ...

  2. flood fill算法

    flood fill算法实现有三种形式 1.depth first search 2.breadth first search 3.breadth first scan 基本思想是找到还没有分配com ...

  3. usaco The Castle(flood fill)

    问题:城堡有n*m个方块组成,方块四周可能有墙,分别用1(W),2(N),4(E),8(S)来表示,每个方块由一个数字来表示,由四周的分布的墙值和来表示.要求求出城堡有多少个房间,最大房间的大小及删除 ...

  4. 算法提高课-搜索-Flood fill算法-AcWing 1106. 山峰和山谷:flood fill、bfs

    题目分析 来源:acwing 分析:这道题还是flood fill算法的应用,不同点在于八个方向扫描,习惯性采用二重循环来扫描周围的8个方向:其次,这里需要统计周围比它高的和比它矮的,这点用bool变 ...

  5. 算法提高课-搜索-Flood fill算法-AcWing 1098. 城堡问题:flood fill、bfs

    题目分析 来源:acwing 分析:找房间个数,也就是找连通的个数. 样例画出来的房间个数如下图:其中'|' 和'-'不是墙,只有#是墙. 分析:这题不用建图,直接bfs(flood fill)来做, ...

  6. 算法提高课-搜索-Flood fill算法-AcWing 1097. 池塘计数:flood fill、bfs

    Flood fill 算法简介: 像洪水一样,一圈一圈往外蔓延,像bfs. flood fill 算法可以在线性复杂度内,找到某个点所在的连通块. 题目分析 来源:acwing ac代码 #inclu ...

  7. C语言flood fill 泛洪算法(附完整源码)

    C语言flood fill 泛洪算法 泛洪算法引出 C语言flood fill 泛洪算法完整源码(定义,实现,main函数测试) 泛洪算法引出 给定2D屏幕,像素的位置和要填充的颜色的新值,请用新颜色 ...

  8. 洪水填充算法_洪水填充(Flood fill)算法

    洪水填充(Flood fill)算法 从一个起始节点开始把附近与其连通的节点提取出或填充成不同颜色颜色,直到封闭区域内的所有节点都被处理过为止,是从一个区域中提取若干个连通的点与其他相邻区域区分开(或 ...

  9. 图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能

    泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能.算法的原理很简单,就 ...

最新文章

  1. Matplotlib使用日期作为横坐标
  2. Visual Transformers: Token-based Image Representation and Processing for Computer Vision
  3. 如何删除输入文本元素上的边框突出显示
  4. Win32ASM-进程学习【2】
  5. Hibernate上路_16-继承关系映射
  6. LeetCode 373. 查找和最小的K对数字(自定义优先队列BFS)
  7. RBF的一维和二维逼近
  8. BZOJ4358: permu(带撤销并查集 不删除莫队)
  9. MTK 驱动开发(3)---GPIO口的使用方法汇总
  10. IIS和tomcat共用80端口
  11. Linux ssh 配置
  12. 使用C语言进行面向对象的开发--GObject入门[4]
  13. windows11 scp
  14. 使用微搭搭建天气预报小程序
  15. Android 图片压缩技术
  16. Linux网卡配置文件详解:
  17. Linux内核内存检测工具KASAN
  18. Squeeze-and-Attention Networks for Semantic Segmentation解读
  19. 高考作文做个标题党,有何不好!
  20. 9.二重循环:什么是二重循环???

热门文章

  1. tomcat 热部署、热加载 精析
  2. Canny边缘检测及C++实现
  3. react直接使用bootstrap失效的原因
  4. trigger_name 的命名规范
  5. Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现
  6. 装NOILinux的奇妙经历
  7. Java多线程--对象的可见性
  8. 三、面向对象——9-初始化块
  9. javascript中的字符串编码、字符串方法详解
  10. C++类中的枚举类型