Codeforces1102F Elongated Matrix 【状压DP】
题目分析:
这题瞎搞一个哈密尔顿路,对于起点不同的分开跑就可以过了。
$O(n^3*2^n)$
#include<bits/stdc++.h>
using namespace std; const int maxn = ;
const int maxm = ; int n,m;
int a[maxn][maxm],f[maxn][maxn],g[maxn][maxn]; int dp[maxn][(<<)+],arr[maxn][(<<)+]; void init(){
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
f[i][j] = g[i][j] = 1e9;
for(int k=;k<=m;k++)f[i][j] = min(f[i][j],abs(a[i][k]-a[j][k]));
for(int k=;k<m;k++) g[i][j]=min(g[i][j],abs(a[i][k+]-a[j][k]));
}
}
} queue<pair<int,int> > q;
void divide(){
int ans = ;
for(int i=;i<=n;i++){
memset(dp,,sizeof(dp));
memset(arr,,sizeof(arr));
dp[i][<<i-] = 1e9; arr[i][<<i-] = ;
q.push(make_pair(i,<<i-));
while(!q.empty()){
pair<int,int> k = q.front(); q.pop();
for(int j=;j<=n;j++){
if(k.second&(<<j-)) continue;
dp[j][k.second|(<<j-)] =
max(dp[j][k.second|(<<j-)],min(dp[k.first][k.second],f[k.first][j]));
if(!arr[j][k.second|(<<j-)]){
q.push(make_pair(j,k.second|(<<j-)));
arr[j][k.second|(<<j-)] = ;
}
}
}
for(int j=;j<=n;j++){
if(i == j) continue;
ans = max(ans,min(dp[j][(<<n)-],g[i][j]));
}
}
printf("%d\n",ans);
} void read(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) for(int j=;j<=m;j++) scanf("%d",&a[i][j]);
} int main(){
read();
if(n == ){
int ans = 1e9;
for(int i=;i<=m;i++){ans = min(ans,abs(a[][i]-a[][i-]));}
printf("%d\n",ans);
return ;
}
init();
divide();
return ;
}
Codeforces1102F Elongated Matrix 【状压DP】的更多相关文章
- Codeforces 1102F Elongated Matrix 状压dp
Elongated Matrix 预处理一下两两之间的最小值, 然后直接dp. #include<bits/stdc++.h> #define LL long long #define f ...
- cf1102F. Elongated Matrix(状压dp)
题意 题目链接 Sol \(n \leqslant 16\)可以想到状压 我们可以预处理出任意两行之间每列的最小值以及相邻两列的最小值 然后枚举一个起点,\(f[sta][i]\)表示走过了\(sta ...
- Codeforces Round #531 (Div. 3) F. Elongated Matrix(状压DP)
F. Elongated Matrix 题目链接:https://codeforces.com/contest/1102/problem/F 题意: 给出一个n*m的矩阵,现在可以随意交换任意的两行, ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
- BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )
状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...
- hdu 2825 aC自动机+状压dp
Wireless Password Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- BZOJ_2734_[HNOI2012]集合选数_构造+状压DP
BZOJ_2734_[HNOI2012]集合选数_构造+状压DP 题意:<集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x ...
- 【XSY2745】装饰地板 状压DP 特征多项式
题目大意 你有\(s_1\)种\(1\times 2\)的地砖,\(s_2\)种\(2\times 1\)的地砖. 记铺满\(m\times n\)的地板的方案数为\(f(m,n)\). 给你\(m, ...
- 2018.09.28 hdu5434 Peace small elephant(状压dp+矩阵快速幂)
传送门 看到n的范围的时候吓了一跳,然后发现可以矩阵快速幂优化. 我们用类似于状压dp的方法构造(1(1(1<<m)∗(1m)*(1m)∗(1<<m)m)m)大小的矩阵. 然后 ...
- Educational Codeforces Round 13 E. Another Sith Tournament 状压dp
E. Another Sith Tournament 题目连接: http://www.codeforces.com/contest/678/problem/E Description The rul ...
随机推荐
- Timeline Style
from: https://freefrontend.com/css-timelines/ https://bootstrapthemes.co/items/resources/timeline/ h ...
- vue+axios 前端实现的常用拦截
一.路由拦截使用 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利进入路由,否则就进入登录页面,路由配置如下: cons ...
- [python爬虫]Requests-BeautifulSoup-Re库方案--Requests库介绍
[根据北京理工大学嵩天老师“Python网络爬虫与信息提取”慕课课程编写 文章中部分图片来自老师PPT 慕课链接:https://www.icourse163.org/learn/BIT-10018 ...
- Dynamics 365-ExecuteWorkflowRequest
一般是通过对CRM上的数据进行手动操作,来触发Workflow,但是如果碰到数据量比较大的时候,纯手动操作无疑是一个耗时费力的事.这个时候,可以通过使用ExecuteWorkflowRequest来实 ...
- 逛csdn看见的一个知识阶梯,感觉不错
逛csdn看见的一个知识阶梯,感觉不错: 计算机组成原理 → DOS命令 → 汇编语言 → C语言(不包括C++).代码书写规范 → 数据结构.编译原理.操作系统 → 计算机网络.数据库原理.正则表 ...
- 浅谈SPA
最近一直在学习关于Vue的一些知识,由于遇到了问题,去网上查找资料,收获颇丰,在此分享. 1. 什么是SPA? 单页Web应用(single page web application, SPA),就是 ...
- DAS、SAN和NAS三种存储方式
DAS存储 DAS存储在我们生活中是非常常见的,尤其是在中小企业应用中,DAS是最主要的应用模式,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上. DAS ...
- Pycharm使用技巧(转载)
Pycharm使用技巧(转载) 转载自:http://www.cnblogs.com/cloudtj/articles/5980666.html pycharm使用技巧 https://python. ...
- JavaScript(二)数据类型(一)
计算机程序的运行需要对值进行操作,在编程语言中值的类型被称作数据类型,编程语言最基本的特性就是能够支持多种数据类型.当程序需要将值保存起来以备将来使用时,便将其赋值给一个变量.变量是一个值的符号名称, ...
- powerdesigner生成mysql带注释的ER图
1.安装PowerDesigner的 参考 https://blog.csdn.net/sinat_34104446/article/details/79885141 2配置逆向工程 2.1新建模型p ...