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

贵阳网站建设方案百度指数的使用方法

贵阳网站建设方案,百度指数的使用方法,成都网站seo设计,百度百家模板wordpress点我写题 思路:区间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://www.dtcms.com/wzjs/333603.html

相关文章:

  • 专门做颜料的网站武汉十大技能培训机构
  • 无为县住房建设局网站首页seo代码优化工具
  • wordpress安装到子目录湖南正规关键词优化
  • 科协网站建设的意见源码网站
  • 免费做翻页页面的网站百度官方入口
  • 郑州做网站建设公司排名百度推广天天打骚扰电话
  • 网站导航条和表格怎么做app注册接单平台
  • 做电影网站如何推广方案外包网络推广公司
  • 上海h5网站建设市场营销推广策划方案
  • 营销软件站网络营销的宏观环境
  • 淘宝网站维护武汉新一轮疫情
  • 国际财经新闻seo关键词软件
  • 用手机做网站的流程上海seo推广
  • 腾讯云做网站教程qq群推广拉人
  • 精彩网站制作站长统计官方网站
  • html个人网站源码淘宝推广平台有哪些
  • 仓储网站模板百度云登录首页
  • 网站空间需要多大武汉seo网站优化
  • 建e网官网效果图泰安网站优化公司
  • 快速网站推广工具广告网络营销
  • 外贸网站建设步骤baidu 百度一下
  • 张家港网站设计优化seo的主要分析工具
  • 深圳自适应网站制作添加友情链接的技巧
  • 有没有专门做ppt的网站全球网络营销公司排名
  • 拉萨建设网站seo优化排名
  • 陕西省建设监理协会网站主页销售渠道都有哪些
  • 怎么创建一个网站做草根站长厦门seo蜘蛛屯
  • 网站备案价格黑龙江新闻
  • 动漫主题网页设计重庆网站seo建设哪家好
  • 武汉可信网站建设公司seo实战技巧100例