摘要: http://poj.org/problem?id=3177 题目描述 给一个连通图,问最少加几条边可以得到边双连通图。 分析: 模板题 ,复习一下 tarjan双向边缩点,再找 叶子结点(即出度为1的点) 其实本题可以不用缩点,只用 维护low数组 就行, 只要low数组的值相等,就是属于同一连通 阅读全文
posted @ 2019-10-09 19:17 wzx_believer 阅读(88) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/571/A 冥思苦想怎么加才能保证能组成三角形,并且要求其方案数 然后就无奈看题解 发现其实可以 容斥一下 , 总方案数 不合法的方案数=答案 普及一下排列组合 P(n,m)表示n个中选出m个排列 P(n,m)=n(n 阅读全文
posted @ 2019-10-09 15:48 wzx_believer 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 首先能够想到是 状压dp模板 取 dp[state,i,j] 表示state状态下倒数第二个岛为i,最后一个岛为j时的最优解, num[state,i,j] 为相应的路径数目,其中 state 的二进制表示的i位为1表示岛i被访问过,反之为0。 则显然当有 边(i,j) 存在时,有如下初值可赋: d 阅读全文
posted @ 2019-10-09 11:47 wzx_believer 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 哎,题型真的变化无穷啊 先考虑如果 每个点只能走一次 ,那么这就是 个典型的状压dp的裸题 , 但这时候每个点可以 最多走两次 ,怎么办? 当每个点只能走两次的时候, 我们用二进制的的0表示该点没有被选到,1表示该点被选到 这时候我们就可以用 三进制 的2表示该点被经过了两次 code(写的很清晰, 阅读全文
posted @ 2019-10-09 10:20 wzx_believer 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 状压模板题,不多述,复习一下而已 code: 阅读全文
posted @ 2019-10-09 09:44 wzx_believer 阅读(84) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problem/P1858 模板题,套路东西,思路代码里,很清晰,很明了 code : c++ include define IL inline define RI register int using namespace std; IL void in( 阅读全文
posted @ 2019-10-09 09:03 wzx_believer 阅读(87) 评论(0) 推荐(0) 编辑
摘要: https://nanti.jisuanke.com/t/A1108 本题又叫缺点最短路,数据卡的很好, 一N×N×N×N 恰好过不了 二 N×N×N×logN才行 如果一的话就可以再在floyed的基础上多枚举一维 这一维表示不经过该点 floyed的本质是一个 增量算法 ,最外一维枚举的是k,但 阅读全文
posted @ 2019-10-09 08:29 wzx_believer 阅读(97) 评论(0) 推荐(0) 编辑