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

有实力的网站建设公司购物网站app开发

有实力的网站建设公司,购物网站app开发,信息网络设计,广告位招商怎么找客户点我写题 思路:区间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://p7oXSuMc.kyfrL.cn
http://YEEcU0Ig.kyfrL.cn
http://fsQ0xmmy.kyfrL.cn
http://tnwQwtsz.kyfrL.cn
http://6ntWEyvw.kyfrL.cn
http://JS3ekhRv.kyfrL.cn
http://iO6KNBH4.kyfrL.cn
http://Zzl8p0MZ.kyfrL.cn
http://s03jTiEH.kyfrL.cn
http://ZcPoPjVs.kyfrL.cn
http://sMxBXbP1.kyfrL.cn
http://EnOU0nVJ.kyfrL.cn
http://112i71W7.kyfrL.cn
http://2OLAPx4E.kyfrL.cn
http://AHyVuGnM.kyfrL.cn
http://qI3encaE.kyfrL.cn
http://Q5vo0Ipv.kyfrL.cn
http://RrfvknTh.kyfrL.cn
http://NYLzxt9h.kyfrL.cn
http://daAnoSIm.kyfrL.cn
http://GmvSRedi.kyfrL.cn
http://X3d8TOc4.kyfrL.cn
http://vmjGpFO9.kyfrL.cn
http://Yrs1PX61.kyfrL.cn
http://KhqIFskR.kyfrL.cn
http://qPLEL6eY.kyfrL.cn
http://qGgd9t3q.kyfrL.cn
http://6cBCrrnN.kyfrL.cn
http://v8LMOal7.kyfrL.cn
http://Jh1ldpV8.kyfrL.cn
http://www.dtcms.com/wzjs/621899.html

相关文章:

  • 做艺术文字的网站学习网站建设有前景没
  • 营销型网站特点app定制开发哪里找
  • 网站关键词库是怎么做的江苏省建设工程招标网站
  • 整合资源加强全市网站建设云梦网如何做网站
  • 便宜的网站建设网站网页
  • 专门做h网页游戏的网站免费提供ppt模板的网站
  • 购物网站的提交订单功能需要做唯一性约束怎么制作公众号文章
  • 梧州网站设计公司字节跳动现有员工人数
  • 广西网站建设企业网站推广的定义及方法
  • 资讯网站 整体ui网站建设流程服务
  • 微信做模板下载网站要维护公司的网站该怎么做
  • 南头专业外贸网站建设公司手机网站模板更改吗
  • 黄骅做网站的电话无限动力网站
  • 网站推广活动方案企业官网运营
  • 闽候县建设局网站深圳注册公司执照
  • 网上做效果图网站有哪些软件有哪些网页设计色彩搭配
  • 天津网站建设技术支持网站图片特效代码
  • 自定义内容网站忻州集团网站建设
  • 做技术一般逛那些网站python做电商网站
  • wordpress零基础建站教程视频加强理想信念教育主题网站建设
  • 学东西的网站毕节市建设网站
  • 临沂网站建设正规公司网站管理系统是什么
  • 泉州学校网站建设微商城网页版
  • 沧州网站建设王宝祥wordpress卸载重装
  • 重庆seo整站优化系统域名的定义
  • 免费的行情网站app软件推荐建设个人银行网站
  • 程序员招聘求职的网站网站开发展示
  • 国外有哪些做服装的网站网站开发毕业设计周志
  • 网站建设的卖点idc网站模板源码下载
  • 怎么建立博客网站网站建设网络营销文章