sol:较简单的dp题,n4随便写写,n3需要加一个小优化

int i,j,k,i1,j1,i2,j2;memset(dp,63,sizeof dp);for(i=0;i<n;i+=2) dp[1][i][i+1]=dp[1][i+1][i]=W[i][i+1];for(i=2;i<=m;i++){int tmp=Bin[i-1];for(j=0;j<n;j+=Bin[i]){int l=j,r=j+Bin[i]-1,mid=l+tmp-1;for(i1=l;i1<=mid;i1++) for(j1=l;j1<=mid;j1++) if(i1!=j1){for(i2=mid+1;i2<=r;i2++) for(j2=mid+1;j2<=r;j2++) if(i2!=j2){cmin(dp[i][i1][j2],dp[i-1][i1][j1]+dp[i-1][i2][j2]+W[j1][i2]);cmin(dp[i][j2][i1],dp[i-1][j2][i2]+dp[i-1][j1][i1]+W[i2][j1]);}}}}int ans=inf;for(i=0;i<Bin[m-1];i++){for(j=Bin[m-1];j<n;j++){ans=min(ans,dp[m][i][j]);}}Wl(ans);

n^4

#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{ll s=0;bool f=0;char ch=' ';while(!isdigit(ch)){f|=(ch=='-'); ch=getchar();}while(isdigit(ch)){s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{if(x<0){putchar('-'); x=-x;}if(x<10){putchar(x+'0'); return;}write(x/10);putchar((x%10)+'0');return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=1505,inf=0x3f3f3f3f;
int n,m,Bin[15];
int W[N][N];
int dp[15][N][N],f[N][N];
inline void cmin(int &x,int y) {x=min(x,y);}
namespace alb
{inline void Solve(){int i,j,k,i1,j1,i2,j2;memset(dp,63,sizeof dp);for(i=0;i<n;i+=2) dp[1][i][i+1]=dp[1][i+1][i]=W[i][i+1];for(i=2;i<=m;i++){int tmp=Bin[i-1];for(j=0;j<n;j+=Bin[i]){int l=j,r=j+Bin[i]-1,mid=l+tmp-1;for(i1=l;i1<=mid;i1++) for(i2=mid+1;i2<=r;i2++) f[i1][i2]=inf;for(i1=l;i1<=mid;i1++) for(j1=l;j1<=mid;j1++) if(i1!=j1) for(i2=mid+1;i2<=r;i2++){cmin(f[i1][i2],dp[i-1][i1][j1]+W[j1][i2]);}for(i1=l;i1<=mid;i1++) for(i2=mid+1;i2<=r;i2++) for(j2=mid+1;j2<=r;j2++) if(i2!=j2){cmin(dp[i][i1][j2],f[i1][i2]+dp[i-1][i2][j2]);dp[i][j2][i1]=dp[i][i1][j2];}}}int ans=inf;for(i=0;i<Bin[m-1];i++){for(j=Bin[m-1];j<n;j++) ans=min(ans,dp[m][i][j]);}Wl(ans);}
}
int main()
{freopen("alb.in","r",stdin);freopen("alb.out","w",stdout);int i,j;Bin[0]=1; for(i=1;i<=10;i++) Bin[i]=Bin[i-1]<<1;R(m); n=Bin[m];for(i=0;i<n;i++) for(j=0;j<n;j++) R(W[i][j]);alb::Solve();return 0;
}
/*
input
2
0 7 2 1
7 0 4 3
2 4 0 5
1 3 5 0
output
13
*/

n^3

转载于:https://www.cnblogs.com/gaojunonly1/p/11185924.html

****题(alb)相关推荐

  1. 【软考软件评测师】2017综合知识历年真题

    [软考软件评测师]2017综合知识历年真题 2017软件评测师综合知识历年真题 [软考软件评测师]2017综合知识历年真题 [2017年评测真题第01题:红色] 01.在Excel中,设单元格F1的值 ...

  2. 微型计算机技术历年真题,历年真题《微型计算机接口技术》2010.01

    全国2010年1月高等教育自学考试 微型计算机原理及应用试题 课程代码:02277 一.单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其 ...

  3. nginx upstream配置aws alb域名导致timeout报错

    目录 问题描述 问题分析 问题结论 解决方法 问题描述 先贴nginx的配置,下面是我的nginx ingress的upstream配置,将流量转发到aws的 alb  上,通过alb的负载均衡策略, ...

  4. 牛年前的一小结——打响本命年的第一枪,继续刷题!

    经过一段时间的小尝试,摸索出了一点点头儿吧. 总结一下子. 关于面试的java,像我这个经验层次(1-2year普通厂)的都不会太难.最多超不出力扣中等难度. 多练习链表.树.指针类的比较基础的题目: ...

  5. 快起床刷题去,别人把你offer拿走啦

    好久没有上力扣刷题咯,又到了关键的时刻,却忘得零零散散,囧~ 话说,刷题.学算法.常用,这些技能才能长在身上! 上一道刚刚遇到的正菜~ 题:给定一个整数数组 nums 和一个目标值 k,请实现一个方法 ...

  6. LeetCode简单题之删除字符使字符串变好

    题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...

  7. LeetCode中等题之区域和检索 - 数组可修改

    题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...

  8. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  9. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

最新文章

  1. java中 如何用if_不在Java中使用if语句
  2. 10个机器学习的JavaScript示例
  3. 陪孩子一起学python第二季_陪伴作文开头和结尾
  4. 一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本)
  5. Sim300设计手册(转)
  6. 用GDB Server进行远程调试
  7. 常用的几种编程语言的介绍
  8. linux 自动化管理工具,linux环境下搭建自动化Jenkins管理工具
  9. IT民工系列——通用7130芯片视频采集卡 SDK 兼容任意天敏 宏视 等板卡
  10. ok6410开发板移植DirectFB手记
  11. 视觉媒体通信作业记录(四)视频网络传输
  12. 联想服务器无线网卡被禁用,无线网卡被禁用怎么办
  13. 认识心理学上的自我界限(学习记录)
  14. django踩坑记录
  15. latex里图片大小如何调整_LATEX图片位置调整
  16. 《小狗钱钱》读书笔记
  17. 推荐一款IDEA 快捷键 自动提示插件
  18. n2n内网穿透及代理服务
  19. 让我们来谈谈python中的prettyprint和pprint
  20. 腾讯大逆转阿里,夺回港股王,马化腾“拍了拍”马云

热门文章

  1. Ionic 2 Beta 11 升级 RC 0 的坑 (update: RC 1 已经出来了,稍微没那么坑一点点)
  2. Redis学习笔记——初级
  3. 第四条:通过私有构造器强化不可实例化的能力
  4. 【hibernate系列】采用p6spy+SQLProfiler完整显示hibernate的S...
  5. cf1139D. Steps to One(dp)
  6. 查找运行时间超过1天的frmweb进程
  7. 浅谈script标签中的async和defer
  8. LeetCode---------Longest Substring Without Repeating Characters解法
  9. Oracle创建表空间(转)
  10. petshop4.0 具体解释之中的一个(系统架构设计)