
【算法】基于连通性的动态规划
文章平均质量分 82
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ3814】【UOJ39】【清华集训2014】简单回路
【题目链接】BZOJUOJ【思路要点】直接进行\(Q\)次基于连通性的动态规划可以获得60分。注意到一定需要经过的边只有竖直的,而没有水平的。我们可以在完成一行的动态规划时顺便记录在第1行到第\(i\)行的区域中,第\(i\)行的插头为\(Mask\)的方案数以及第\(i\)行到第\(N\)行的区域中,第\(i\)行的插头为\(Mask\)的方案数。在询问时将经过某条边的配对的插头对应的方案数相乘...原创 2018-02-28 08:45:53 · 580 阅读 · 0 评论 -
【USACO】USACO 2019 US Open Contest, Platinum题解
【T1】 Tree Boxes【题目链接】点击打开链接【题解链接】点击打开链接【思路要点】考虑在 N×NN\times NN×N 的网格内构建一个 NNN 个点的树,使得任意一个节点 xxx 与其任意一个祖先 yyy 所在位置为两角的矩形恰好包含 xxx 到 yyy 路径上的所有点。以如下方式构造即可:(1)(1)(1) 、将根节点置于 (1,1)(1,1)(1...原创 2019-04-14 14:37:25 · 1628 阅读 · 0 评论 -
【LOJ6412】「ICPC World Finals 2018」骑士之旅
【题目链接】点击打开链接【思路要点】可以用基于连通性的动态规划计算 NNN 较小时的结果,例如 N≤80N\leq 80N≤80 时的结果。观察得到的结果,对于给定的 MMM ,存在 A,B,CA,B,CA,B,C 使得对于 N≥AN\geq AN≥A ,有 Ans(M,N)=Ans(M,N−B)+CAns(M,N)=Ans(M,N-B)+CAns(M,N)=Ans(M,N−B...原创 2019-03-24 13:46:13 · 464 阅读 · 0 评论 -
【省内训练2018-11-25】Chess
【思路要点】求出 SSS 到 TTT 的路径长度 mmm 以及路径上的每一个点 pathipath_ipathi 。记路径上 S→TS\rightarrow TS→T 的方向为向前, T→ST\rightarrow ST→S 的方向为向后。注意到若在 aaa 处的障碍移动到了 bbb 处, bbb 处的障碍移动到了 ccc 处,那么我们也可以认为是 aaa 处的障碍穿过了 bbb 处移...原创 2018-11-27 14:29:11 · 291 阅读 · 1 评论 -
【LOJ2321】「清华集训 2017」无限之环
【题目链接】 点击打开链接 【思路要点】 先说这道题的正解: 将棋盘看做一张二分图,每一条边拆成两个点,分别属于二分图的一边。 我们需要做一件类似于匹配的事情,同一条边的两侧或是都没有管道,或是都有管道。 通过合适的建边我们能够用最小费用最大流来解决本题。 时间复杂度O(MinCostFlow(N∗M,N∗M))O(MinCostFlow(N∗...原创 2018-06-26 21:09:16 · 524 阅读 · 0 评论 -
【BZOJ2310】ParkII
【题目链接】点击打开链接【思路要点】基于连通性的的动态规划。时间复杂度\(O(4^N*N*M)\)。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 105#define MAXM 10#define CURR 262144#define HASH 2000005#define MOD 100003in...原创 2018-04-20 20:53:36 · 264 阅读 · 0 评论 -
【BZOJ1187】【HNOI2007】神奇游乐园
【题目链接】点击打开链接【思路要点】基于连通性的的动态规划。时间复杂度\(O(3^M*N*M)\)。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 105#define MAXM 7#define CURR 30005#define INF 1e9int ans[2][CURR], num[MAXM];...原创 2018-04-20 19:48:39 · 211 阅读 · 0 评论 -
【BZOJ2331】【SCOI2011】地板
【题目链接】点击打开链接【思路要点】基于连通性的的动态规划。时间复杂度\(O(3^{Min\{R,C\}}*R*C)\)。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 105#define HASH 1000005#define P 100003#define Q 20110520struct Has...原创 2018-04-20 15:50:57 · 225 阅读 · 0 评论 -
【BZOJ1814】Ural 1519 Formula 1
【题目链接】点击打开链接【思路要点】基于连通性的的动态规划模板题。时间复杂度\(O(3^M*N*M)\)。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 30#define TMPN 15#define HASH 1000005#define P 100003struct Hash_Table { i...原创 2018-04-19 20:28:17 · 304 阅读 · 0 评论 -
【BZOJ2595】【WC2008】游览计划
【题目链接】点击打开链接【思路要点】可以直接用基于连通性的的动态规划求解,或者可以用斯坦纳树DP+SPFA求解。时间复杂度\(O(N*M*3^K)\)。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 15#define MAXQ 2000005#define CURR 1024#define INF 1e...原创 2018-04-17 20:12:13 · 305 阅读 · 0 评论 -
【BZOJ1210】【HNOI2004】邮递员
【题目链接】点击打开链接【思路要点】基于连通性的的动态规划模板题。时间复杂度\(O(3^M*N*M)\),实现时需要手写一个小高精。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 30#define TMPN 15#define HASH 1000005#define P 100003#define Q...原创 2018-04-17 18:37:24 · 513 阅读 · 0 评论