摘要: 题意 "题目链接" Sol 最直观的思路是求出删除每个点后的最长路,我们考虑这玩意儿怎么求 设$f[i]$表示以$i$结尾的最长路长度,$g[i]$表示以$i$开始的最长路长度 根据DAG的性质,显然我们删除一个点后,整个集合会被分成两部分:拓扑序小于/大于当前点 那么此时的最长路一定可以通过计算连 阅读全文
posted @ 2018-12-29 17:40 自为风月马前卒 阅读(294) 评论(2) 推荐(0) 编辑
摘要: 题意 "题目链接" Sol 神仙题Orz 我们考虑选的边的补集,可以很惊奇的发现,这个补集中的边恰好是原图中的一颗生成树; 并且答案就是所有边权的和减去这个边集中的边的权值; 于是我们只需要求最大生成树就好了; cpp include using namespace std; const int M 阅读全文
posted @ 2018-12-29 17:39 自为风月马前卒 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题意 "题目链接" 问从$0$出发能否回到$0$且边权为负 Sol 先用某B姓算法找到负环,再判一下负环上的点能否到$0$ cpp include define chmax(x, y) (x = (x y ? x : y)) define chmin(x, y) (x = (x define MP 阅读全文
posted @ 2018-12-29 17:36 自为风月马前卒 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题意 "题目链接" Sol 可以这样考虑,在原图中没有边相连的点的值肯定是a / c 那么直接二分图染色即可 cpp include define LL long long using namespace std; const int MAXN = 1001, INF = 1e9 + 10; inl 阅读全文
posted @ 2018-12-29 17:33 自为风月马前卒 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 题意 "题目链接" Sol 做的时候忘记写题解了 可以参考 "这位大爷" cpp include define Pair pair define MP make_pair define fi first define se second using namespace std; const int 阅读全文
posted @ 2018-12-29 17:30 自为风月马前卒 阅读(308) 评论(0) 推荐(1) 编辑
摘要: 题意 "题目链接" 有$n$张牌,每张牌有四个属性$(a, b, c, d)$,主人公有两个属性$(x, y)$(初始时为(0, 0)) 一张牌能够被使用当且仅当$a define Pair pair define MP(x, y) make_pair(x, y) define fi first d 阅读全文
posted @ 2018-12-29 17:04 自为风月马前卒 阅读(445) 评论(0) 推荐(1) 编辑
摘要: 题意 "题目链接" 在$n \times m$有坏点的矩形中找出两条从起点到终点的不相交路径的方案数 Sol "Lindström–Gessel–Viennot lemma" 的裸题? 这个定理是说点集$A = \{a_1, a_2, \dots a_n \}$到$B = \{b_1, b_2, \ 阅读全文
posted @ 2018-12-29 14:27 自为风月马前卒 阅读(626) 评论(0) 推荐(0) 编辑

Contact with me