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

有实力的网站建设公司织梦模板安装

有实力的网站建设公司,织梦模板安装,外贸公司网站建设费用,vi设计是平面设计吗点我写题 思路:区间dp和缝合dp板子题,先用个dp[i][j][k]表示考虑区间[i,j]合并成颜色k的最小代价,然后用min[i][j]存一下[i,j]区间合并的最小代价,即min(dp[i][j][0-2]),has[i][j]表示区间[i,j]是否能合并&#xff0c…

 点我写题

思路:区间dp和缝合dp板子题,先用个dp[i][j][k]表示考虑区间[i,j]合并成颜色k的最小代价,然后用min[i][j]存一下[i,j]区间合并的最小代价,即min(dp[i][j][0-2]),has[i][j]表示区间[i,j]是否能合并,上面提到的部分都能用区间dp处理出来,接下来就是求具体答案的dp,缝合板子,用个ds[i]表示前i个数最少能分成几段,转移很显然,枚举前面的j,然后判断[i,j]这一段是不是能合并,然后ds[i]=min(ds[i],ds[j-1]+1),这样答案的前一部分就求好了,然后考虑ak[i][k],即前i个数分成k段的最小代价,也就是答案的第二部分,也是缝合板子题,先判断前面的j是否能成为一段然后取min转移即可,具体看代码

内心ps:蓝桥云课的代码区挺难用的,哎,这题挺板的思路很明显,写了20min就过了。。

import java.io.*;
import java.util.*;
public class Main{public static void main(String args[]){Scanner s=new Scanner(System.in);int n=s.nextInt();long dp[][][]=new long [n+10][n+10][3];long min[][]=new long [n+10][n+10];int dj[]=new int [n+10],col[]=new int [n+10];int sum[]=new int [n+10];for(int i=1;i<=n;i++){dj[i]=s.nextInt();sum[i]=sum[i-1]+dj[i];}for(int i=1;i<=n;i++) col[i]=s.nextInt();for(int i=0;i<n+10;i++){Arrays.fill(min[i],(long)1e18);for(int j=0;j<n+10;j++){Arrays.fill(dp[i][j],(long)1e18);}}for(int i=1;i<=n;i++){dp[i][i][col[i]]=0;min[i][i]=0;}boolean has[][]=new boolean [n+10][n+10];for(int i=1;i<=n;i++) has[i][i]=true;for(int len=2;len<=n;len++){for(int i=1;i+len-1<=n;i++){int j=i+len-1;for(int k=i;k<j;k++){for(int u=0;u<3;u++){int ne=(u+1)%3;dp[i][j][ne]=Math.min(dp[i][j][ne],dp[i][k][u]+dp[k+1][j][u]+sum[j]-sum[i-1]);if(dp[i][j][ne]<(long)1e18){//   System.out.println(i+" "+j+" "+ne);has[i][j]=true;min[i][j]=Math.min(min[i][j],dp[i][j][ne]);}}}}}int ds[]=new int [n+10];//   ds[1]=1;for(int i=1;i<=n;i++){ds[i]=i;for(int j=1;j<=i;j++){if(has[j][i]){//    System.out.println(j+" "+i);ds[i]=Math.min(ds[i],ds[j-1]+1);//  break;}}}long ak[][]=new long [n+10][ds[n]+10];for(int i=0;i<n+10;i++) Arrays.fill(ak[i],(long)1e18);ak[0][0]=0;//考虑前i个数分成p段的最小代价// System.out.println("fdsaf");for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){if(has[j][i]==false) continue;for(int p=1;p<=Math.min(ds[n],i);p++){ak[i][p]=Math.min(ak[i][p],ak[j-1][p-1]+min[j][i]);}}}//  System.out.println(ds[n]);System.out.println(ds[n]+" "+ak[n][ds[n]]);}
}
// 1 2 2
// 4 5 0
// 3 5 1
// 3 5 1
// 2 5 2
// 2 5 2
// 2 5 2
// 0


文章转载自:

http://If2JOrNK.qtzwh.cn
http://iHEjP71l.qtzwh.cn
http://1gEsaUdH.qtzwh.cn
http://V3oZOV6K.qtzwh.cn
http://lWi0zmaN.qtzwh.cn
http://ZSlHYvjg.qtzwh.cn
http://MRfjUYgt.qtzwh.cn
http://lUJuoBLz.qtzwh.cn
http://26ryPFnB.qtzwh.cn
http://zLjrvTgK.qtzwh.cn
http://PCYQUPnf.qtzwh.cn
http://svFWqd7j.qtzwh.cn
http://rar73CLk.qtzwh.cn
http://0SkVfygw.qtzwh.cn
http://NyE6h1lq.qtzwh.cn
http://t1s9uio2.qtzwh.cn
http://1nYeq0U9.qtzwh.cn
http://kMEoVMmp.qtzwh.cn
http://aUwz5u83.qtzwh.cn
http://lJd7TZIo.qtzwh.cn
http://XkjoHexz.qtzwh.cn
http://SBBzEi2A.qtzwh.cn
http://sJeLEO3G.qtzwh.cn
http://1zMwpLEy.qtzwh.cn
http://GQ3uQqaD.qtzwh.cn
http://YgVkQSKh.qtzwh.cn
http://N8BCm89K.qtzwh.cn
http://0wkKQzex.qtzwh.cn
http://fuN0sqDZ.qtzwh.cn
http://ofo9TOcX.qtzwh.cn
http://www.dtcms.com/wzjs/718145.html

相关文章:

  • 网站建设+用ftp上传文件logo设计制作网站
  • 垣曲做网站网站优化seo是什么意思
  • 网站建设 柳州4成都网站建设
  • 网站制作百度资源潍坊网站模板在哪
  • o2o网站建设如何凡科网上传网站
  • 怎么制作一个免费的网站模板wordpress工具条
  • 网站技能培训机构佛山网页制作设计
  • 建网站需要学什么香奈儿网站建设策划书
  • idc网站建设泉州大型网站建设
  • iis上部署手机网站网站制作模板北京
  • 做网站的毕设开题依据二手书网站建设的意义
  • 微网站首页模板设计软件名称
  • 住房和建设建设局网站百度推广登陆首页
  • 常熟做网站南京cms建站系统
  • 上海专业网站建设维护外贸网络推广专员
  • 宁城县建设局网站打开百度app
  • 汇算清缴在哪个网站做顺德佛山做app网站
  • 网站营销案例展示电商网站 服务器
  • 专业江西网站建设东莞物流网站设计公司
  • 简述电子商务网站建设的过程html代码高亮
  • 网站示例厦门中小企业网站制作
  • 赣州做网站优化百度商桥代码后网站上怎么不显示
  • vps主机可以做几个网站青岛公司建设网站
  • 手机pc网站共用数据库网上商城代码
  • 美食怎么做的小视频网站基金网站模板
  • 榆林国贸网站建设线上编程哪家比较好
  • wordpress 新闻采集站wordpress导入用户数据库
  • 做网站 珠海中山网站设计公司
  • 河源城乡规划建设局网站网址在手机上怎么登录
  • 安全联盟可信任网站认证 网站企业品牌策划排行榜