P4802 [CCO 2015]路短最
这题的题意是 求一条 经过 起点和终点的 最长路径。且一个点只能经过一次。
我们设定 \(dis_{i,j}\) 为 i 到 j 的距离(应该没有重边)
要注意的是 不能用 \(Floyd\) 求最长路 这样会挂掉
因为你这样 就没办法保证 点 \(i\) 只经过一次
显然是状压dp 我们考虑 dp 状态 \(dp_{i,j}\)
\(i\) 表示当前位置 \(j\)表示走过的地方
#include<bits/stdc++.h>
using namespace std ;
#define int long long
#define fi first
#define se second
#define pb push_back
inline int read() {
register int x = 0 , f = 1 ;
register char c = getchar() ;
for( ; ! isdigit(c) ; c = getchar()) if(c == '-') f = -1 ;
for( ; isdigit(c) ; c = getchar()) x = (x << 1) + (x << 3) + (c & 15) ;
return x * f ;
}
template < typename T > inline bool cmax(T & x , T y) {
return x < y ? (x = y) , 1 : 0 ;
}
template < typename T > inline bool cmin(T & x , T y) {
return x > y ? (x = y) , 1 : 0 ;
}
template < typename T > inline bool cabs(T & x) {
return x > 0 ? 1 : (x = - x) , 0 ;
}
inline int QP(int x , int y , int Mod) {
int ans = 1 ;
for( ; y ; y >>= 1 , x = (x * x) % Mod)
if(y & 1) ans = (ans * x) % Mod ;
return ans ;
}
int n , m ;
const int N = 19 ;
int dis[N][N] ;
int dp[N][1 << N] ;
signed main() {
memset(dis , 0xcf , sizeof(dis)) ;
memset(dp , 0xcf , sizeof(dp)) ;
n = read() , m = read() ;
for(register int i = 1 ; i <= m ; i ++) {
int u = read() , v = read() , w = read() ;
dis[++ u][++ v] = w ;
}
for(register int i = 2 ; i <= n ; i ++) dp[i][1 + (1 << i - 1)] = dis[1][i] ;
int s = (1 << n) - 1 ;
for(register int i = 2 ; i <= s ; i ++) {
for(register int j = 1 ; j <= n ; j ++) {
if((i & (1 << j - 1)))
for(register int k = 1 ; k <= n ; k ++) {
if(j ^ k && (! (i & (1 << k - 1)))) {
cmax(dp[k][i | (1 << k - 1)] , dp[j][i] + dis[j][k]) ;
}
}
}
}
int ans = 0 ;
for(register int i = (1 << n - 1) + 1 ; i <= s ; i ++)
cmax(ans , dp[n][i]) ;
printf("%lld\n" , ans) ;
return 0 ;
}
P4802 [CCO 2015]路短最的更多相关文章
- [ CCO 2015 ] Artskjid
\(\\\) \(Description\) \(N\)个点\(M\)条边的有向图,求从\(0\)号节点出发,\(N-1\)号节点结束,且图中每个点至多经过一次的最长路. \(N\in[2,18]\) ...
- linuxtoy.org资源
https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像 ...
- HDU 2544 最短路 (最短路,spfa)
题意:中文题目 思路:spfa+SLF优化.关于SPFA的详情请戳我 #include <bits/stdc++.h> using namespace std; , INF=0x7f7f7 ...
- POJ 3255 Roadblocks (次短路 SPFA )
题目链接 Description Bessie has moved to a small farm and sometimes enjoys returning to visit one of her ...
- 我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)
2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算 ...
- java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子
一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_ ...
- 路冉的JavaScript学习笔记-2015年2月5日
1.为Js原始值创建临时对象,并进行属性引用 var s="text"; s.len=4;//这里Js调用new String(s)的方法创建了一个临时对象,用来属性引用 cons ...
- 单路CPU性能排名 更新于2015.10.6
http://itianti.sinaapp.com/index.php/cpu 排名 处理器 图例 分数 1 Intel Xeon E5-2699 v3 @ 2.30GHz 22892 2 Inte ...
- 2015暑假acm短训小结
时间很快,短训已经结束,短短20天,心里有一些思绪想要记下. 收获: 从最近发的随笔中可以看出,做得最多的是搜索——Dfs,Bfs.对于搜索,如何描述状态,如何压缩状态,如何决定下一个结点,是否可以剪 ...
随机推荐
- 自学笔记系列:《Python学习手册 第五版》 -写在开始之前
今年双十一,在当当网上买了这本书,很厚很厚的一本书,大概有将近1700页左右,的确是一个“大工程”, 关于这本书的学习,我想采用一种博客的方式进行,既是写给自己,也想分享给每一个对Python学习感兴 ...
- MySQL必知必会官方提供的数据库和表
创建表 Create customers table CREATE TABLE customers ( cust_id int NOT NULL AUTO_INCREMENT, cust_name c ...
- html input元素的所有type属性
<input /> 属性 type="text" 输入框的类型为文本 type="password" 输入框的类型为密码 type="ra ...
- python OpenCV安装
linux系统 yum install -y libSM.x86_64 libXext.x86_64 libXrender.x86_64 pip install numpy Matplotlib pi ...
- 访问控制列表 ACL
访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.其目的是为了对某种访问进行控制. 作用 ACL可以限制网络流量.提高网络性能. ...
- [Redis-CentOS7]Redis安装(-)
系统环境 CentOS Linux release 7.7.1908 (Core) yum安装 yum install redis Loaded plugins: fastestmirror Load ...
- python安装模块速度慢的解决方法
1.Win+R,cmd 2.pip install pqi 3.pqi use aliyun
- cornerstone使用beyond compare比较工具
prefrences->general->external compare tool->open script foder 新建一个bc.sh文件(名字可以任意,sh后缀即可)保存到 ...
- python 解压、复制、删除 文件
一.python3解压文件 1.python 解压文件代码示例 如下代码主要实现zip.rar.tar.tar.gz四种格式的压缩文件的解压 def unzip_file(src_file, dst_ ...
- 量化投资学习笔记27——《Python机器学习应用》课程笔记01
北京理工大学在线课程: http://www.icourse163.org/course/BIT-1001872001 机器学习分类 监督学习 无监督学习 半监督学习 强化学习 深度学习 Scikit ...