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

外贸网站建设需要注意事项微网站平台建设方案

外贸网站建设需要注意事项,微网站平台建设方案,定制手机软件,php的网站模板文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴区间DPUnique函数一、题目 1、原题链接 3996. 涂色 2、题目描述 有 n 个砖块排成一排#xff0c;从左到右编号为 1∼n。 其中#xff0c;第 i 个砖块的初始颜色为 ci。 … 文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴区间DPUnique函数一、题目 1、原题链接 3996. 涂色 2、题目描述 有 n 个砖块排成一排从左到右编号为 1∼n。 其中第 i 个砖块的初始颜色为 ci。 我们规定如果编号范围 [i,j] 内的所有砖块的颜色都相同且当第 i−1 和 第 j1 个砖块存在时这两个砖块的颜色和区间 [i,j] 的颜色均不同, 则砖块 i 和 j 属于同一个连通块。 例如[3,3,3] 有 1 个连通块[5,2,4,4] 有 3 个连通块。 现在要对砖块进行涂色操作。 开始所有操作之前你需要任选一个砖块作为起始砖块。 每次操作 任选一种颜色。将最开始选定的起始砖块所在连通块中包含的所有砖块都涂为选定颜色 请问至少需要多少次操作才能使所有砖块都具有同一种颜色。 输入格式 第一行包含整数 n。 第二行包含 n 个整数 c1,c2,…,cn。 输出格式 一个整数表示所需要的最少操作次数。 数据范围 前六个测试点满足1≤n≤20。 所有测试点满足1≤n≤50001≤ci≤5000。 输入样例1 4 5 2 2 1输出样例1 2输入样例2 8 4 5 2 2 1 3 5 5输出样例2 4输入样例3 1 4输出样例3 0输入样例4 5 1 3 1 2 1输出样例4 3样例4解释 注意每次染色操作所涉及的连通块必须包含所有操作开始前选定的起始砖块。 因此答案是 3而不是 2。 二、解题报告 1、思路分析 思路来源y总讲解视频 y总yyds 1因为每次都是改变起始点所在的连通块所以颜色相同的砖块一定是一起改变的所以我们可以先将原序列中颜色相同的砖块简化成一个砖块。 2 dp[i][j]表示所有在[i,j]中选择起点并且将[i,j]的所有砖块染成同一种颜色的所有方案数中的最小操作次数。 根据第i个砖块和第j个砖块颜色是否相同进行划分 ①第i个砖块和第j个砖块颜色不同 最后染色的为i即先求出[i1,j]染成相同颜色的最小操作次数即dp[i1][j]再加一次即将i染成与[i1,j]相同的颜色最小操作次数即为dp[i1][j]1。最后染色的砖块为j同理最小操作次数为dp[i][j-1]1。 ②第i个砖块和第j个砖块颜色相同 先将[i,j-2]染成相同颜色再将j-1和[i,j-2]染成相同颜色最后将j和[i,j-1]染成相同颜色由于该方案是在dp[i][j-1]中的某些方案也就是其子集所以将[i,j-1]染成相同颜色的操作数是大于等于dp[i][j-1]。即总操作次数大于等于dp[i][j-1]1。先将[i1,j-1]染成相同颜色再将i和[i1,j-1]染成相同颜色最后将j和[i,j-1]染成相同颜色即ij最后染色即总操作次数为dp[i1][j-1]1。由于第二种情况操作的区间比第一种情况操作的区间要短所以可知上述两种情况的最小操作次数为dp[i1][j-1]1。 综合上面三种情况即第i个砖块和第j个砖块颜色不同时dp[i][j]min(dp[i1][j]1,dp[i][j-1]1否则第i个砖块和第j个砖块颜色相同时dp[i][j]dp[i1][j-1]1。 3利用上述思路输出dp[1][n]即为答案。 2、时间复杂度 时间复杂度为O(n2) 3、代码详解 #include iostream #include algorithm using namespace std; const int N5010; int c[N],dp[N][N]; int n; int main(){cinn;for(int i1;in;i) cinc[i];nunique(c1,cn1)-(c1); //对数组去重即合并颜色相同的砖块//枚举所有可能的区间长度for(int len2;lenn;len){for(int i1;ilen-1n;i){int jilen-1;//i和j颜色不同时的转移方程if(c[i]!c[j]) dp[i][j]min(dp[i][j-1],dp[i1][j])1;//i和j颜色相同时的转移方程else dp[i][j]dp[i1][j-1]1;}}coutdp[1][n];return 0; }三、知识风暴 区间DP Unique函数 在头文件#include algorithm中包含。作用对数组的相邻重复元素去重并返回去重之后数组的尾地址一般用unique的返回值减去数组的首地址来求去重后数组的元素个数如果重复元素不相邻的话一般要先对原数组进行排序操作。
http://www.dnsts.com.cn/news/125676.html

相关文章:

  • 福建泉州网站建设公司wordpress怎么移动文章分类
  • 网站设置不安全创意图案设计网站
  • 做电商网站的感想城阳区规划建设局网站
  • 外贸网站服务器推荐资源网站优化排名优化
  • html php网站开发互联网推广开户
  • 网站编写流程杭州建站网站建设
  • 济南网站建设在哪里棋牌小程序开发一个多少钱啊
  • 站长统计官网大连开发区网站设计公司
  • 如何做好网站建设内容的策划漳州 做网站
  • 超频三网站谁家做的景观设计公司排行榜
  • 网站规划的任务帝国cms官方网站
  • 个人网站建设实训目的电商网站怎么制作
  • 网站代理合作wordpress 主题 设计
  • 短视频素材下载网站 免费个人备案能做什么网站
  • 厦门建设局公维金网站湛江网站制作网站
  • wordpress适合外贸站山东省建筑施工企业安全生产管理
  • wordpress网站描述插件正规网站模板设计图
  • 注册网站用于跳转虚拟货币网站违法国外网站设计公司
  • 手机网站封装小程序医疗器械分为哪三类
  • 网站开发制作创意手机网站
  • 南通给公司做网站的专业网站建设一条龙
  • 好的网站开发培训常德农科院网站
  • 怎么建网站赚钱枣庄网站建设电话
  • 深圳企业网站建设服务商建设一个高级网站的费用
  • 建站技术分享wordpress 服务器搬家
  • 网站开发工作总结如何在学校内网建立网站
  • 郑州网站建设361白云做网站的公
  • 为什么网站用静态页面wordpress主题添加授权
  • 钟村免费建站公司wordpress页面没有
  • 网站关键词优化软件效果山西品牌设计公司