摘要: 代码在最后 [HNOI2013]比赛 记忆化搜索 把每一位还需要多少分用$27$进制压进$long$ $long$,$map$记忆化一下即可 [HNOI2013]消毒 先考虑在二维平面 问题就是最小点覆盖 最小点覆盖 = 二分图最大匹配 对于每个点$(x,y)$,$x$连向$y$一条边,然后跑最大匹 阅读全文
posted @ 2019-02-20 14:57 zzy2005 阅读(250) 评论(1) 推荐(0) 编辑
摘要: 题面 永无乡包含 $n$ 座岛,编号从 $1$ 到 $n$ ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 $n$ 座岛排名,名次用 $1$ 到 $n$ 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 $a$ 出发经过若干座(含 $0$ 座)桥可以 到达岛 $b$ 阅读全文
posted @ 2019-01-30 09:36 zzy2005 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题面 "luogu" 题解 什么是启发式合并? 小的合并到大的上面 复杂度$O(nlogn)$ 这题颜色的修改,即是两个序列的合并 考虑记录每个序列的$size$ 小的合并到大的 存序列用链表 但是有一种情况, $x y$ $siz[x] siz[y]$ 这个时候我们可以新建一个$f$数组,存一个真 阅读全文
posted @ 2019-01-28 08:42 zzy2005 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题解 "动态树Link cut tree(LCT)总结" LCT常数大得真实 没有环,就是$lct$裸题吧 有环,我们就可以绕环转一圈,缩点 怎么搞? 当形成环时,把所有点的值全部加到一个点上,用并查集维护加到哪个点上 判断连通性再用一个并查集 Code cpp include define LL 阅读全文
posted @ 2019-01-26 17:27 zzy2005 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题面 弱化版: "luogu" 强制在线版: "bzoj" 题解 本题有两种解法 离线算法:线段树合并 先看一道简单题 "[USACO18JAN]MooTube" 本题就是在此基础上求第$k$高的点 首先把询问和路径都排一下序 然后记一个指针,如果当前路径可以对这个询问有贡献,就加入这条边 本题也是 阅读全文
posted @ 2019-01-25 15:10 zzy2005 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 参考资料 https://www.cnblogs.com/zhoushuyu/p/9069164.html https://www.cnblogs.com/candy99/p/dsuontree.html https://www.cnblogs.com/zcysky/p/6822395.html 简 阅读全文
posted @ 2019-01-24 17:47 zzy2005 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 题面 "luogu" 题解 LCT "动态树Link cut tree(LCT)总结" 考虑先按边权排序,从小到大加边 如果构成一颗树了,就更新答案 当加入一条边,会形成环. 贪心地想,我们要最大边权 最小边权最小 最大边权固定就是新加入的这条边,我们要让最小边权尽量地大 那么我们可以去掉原先路径上 阅读全文
posted @ 2019-01-24 10:34 zzy2005 阅读(238) 评论(1) 推荐(0) 编辑
摘要: 动态树是个好玩的东西 "LCT题集" 预备知识 "Splay" 树链剖分(好像关系并不大) 动态树(Link cut tree) 先搬 "dalao博客" 什么是LCT? 动态树是一类要求维护森林的连通性的题的总称,这类问题要求维护某个点到根的某些数据,支持树的切分,合并,以及对子树的某些操作。其中 阅读全文
posted @ 2019-01-24 10:22 zzy2005 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 题面 "luogu" 题解 矩阵快速幂$+dp$ ~~其实也不是很难~~ 先考虑朴素状压$dp$ $f[i][S]$ 表示最慢的车走到了$i$,$[i, p+i 1]$的覆盖情况 状态第一位一定是$1$ 那么显然$f[i][S] = \sum f[i 1][S']$($S'$能转移到$S$) 什么情 阅读全文
posted @ 2019-01-22 08:02 zzy2005 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题面 "luogu" 题解 最小费用最大流 先假设剩下$m$场比赛,双方全输。 考虑$i$赢一局的贡献 $C_i (a_i+1)^2+D_i (b_i 1)^2 C_i a_i^2 D_i b_i^2$ $=C _i+2 a_i C_i+D_i 2 b_i D_i$ 建$m$个点限制每场比赛只有一个 阅读全文
posted @ 2019-01-21 15:47 zzy2005 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Description 小R最近遇上了大麻烦,他的程序设计挂科了。于是他只好找程设老师求情。善良的程设老师答应不挂他,但是要 求小R帮助他一起解决一个难题。问题是这样的,程设老师最近要进行一项邪恶的实验来证明P=NP,这个实验一共 持续n天,第i天需要a[i]个研究生来给他搬砖。研究生毕竟也是人,所 阅读全文
posted @ 2019-01-21 10:10 zzy2005 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题解 Dinic求最小割 题目其实就是求最小的代价使得每个纵轴被分成两部分 最小割!!! 我们把每个点抽象成一条边,一个纵轴就是一条$S T$的路径 但是题目要求$|f(x,y) f(x’,y’)| ≤D$ 不能直接跑最小割 考虑如何限制 首先,$|f(x,y) f(x’,y’)| ≤D$是相互的 阅读全文
posted @ 2019-01-19 23:24 zzy2005 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题解 最小费用最大流 ~~n和m是反着的~~ 首先, $$ ans = \sum{cost[i][j]} k $$ 其中,$k$为它在当前技术人员那里,排倒数第$k$个修 我们可以对于每个技术人员进行拆点, 对于每个技术人员的各个点,表示倒数第几次修 然后每个人连向技术人员,显然花费是根据连的点来算 阅读全文
posted @ 2019-01-19 09:44 zzy2005 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题解 二分答案+Dinic最大流 二分答案$mid$ 把门拆成$mid$个时间点的门 相邻时间的门连一条$inf$的边 预处理出每个门到每个人的最短时间 为$dis[k][i][j]$ 在$(i,j)$的人到第$k$个门最短时间 然后一个人连向每个第$dis[k][i][j]$那个时刻的门,容量为$ 阅读全文
posted @ 2019-01-18 21:39 zzy2005 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题面 "Loj" 题解 ~~感觉挺难的啊~~~ 状压$dp$ 首先,有一个性质 对于一个序列的最大前缀和$\sum_{i=1}^{p} A[i]$ 显然对于每个$\sum_{i=p+1}^{x}A "i" 0$ 那么$sum[S] += sum[S (1 define LL long long de 阅读全文
posted @ 2019-01-18 17:39 zzy2005 阅读(180) 评论(0) 推荐(0) 编辑