- 博客(4)
- 收藏
- 关注
原创 CF1467(Round 695 div2)题解
CF1467A显然:nnn 为 111 时答案为 999nnn 为 222 时答案为 989898nnn 为 333 时答案为 989989989当 n>3n>3n>3 时,假设我们在第 xxx 秒选择让第 iii 个位置暂停,如果 i>2i>2i>2 或 i=1i=1i=1,那么最终得到的答案的前三位一定比 989989989 要小。因此当 n>3n>3n>3 时最优方案就是 n=3n=3n=3 时的方案:在第 888 秒时暂停第 22
2021-01-09 01:18:52
288
1
原创 【学习笔记】最大流
(本博客同步于洛谷博客)非天赋型选手学了三天总算是在rqy神仙和CYjian神仙的帮助下(特别感谢!)弄明白了最大流和dinic算法(我好菜啊/ll),特地来写一篇学习笔记流网络流函数啥的oi-wiki上和xht的博客以及这篇博客已经讲的足够明白了,这里我只讲解比较难理解的、而且我认为前两者讲的不太明白的部分(可能有些地方不太严谨,求轻喷>_<)。增广路与反向边增广路是指由S到T的、由剩余流量大于0的边组成的一条路径。一条增广路的权值等于其包含的路径的剩余流量的最小值。比如下图标红的
2021-01-07 23:19:32
185
原创 CF1471(Round 694 div2) 题解
CF1471A先从最简单的情况入手:数组中只有两个数 aaa 和 bbb。令 a=cx+d,b=mx+k(0≤d,k<x)a=cx+d,b=mx+k(0\le d,k < x )a=cx+d,b=mx+k(0≤d,k<x)。d,kd,kd,k 均为 000。不合并:c+mc+mc+m,合并:c+mc+mc+md,kd,kd,k 有一个为 000。不合并:c+m+1c+m+1c+m+1,合并:c+m+1c+m+1c+m+1d,kd,kd,k 均不为 000,且 d+k≤xd+k\
2021-01-06 11:57:43
329
原创 【学习笔记】kruskal 重构树
写这篇博客主要是因为oi-wiki上写得太精简了……我对着这几段话弄了一晚上才搞明白/kk前置知识:最小生成树,与 kruskal 算法在进行 kruskal 算法时,我们会将当前边的两个端点 xxx 和 yyy 所在的树合并成一棵,即连一条由 xxx 的树根指向 yyy 的树根的边,写成代码就是f[xx]=yy(假设 xxxxxx 和 yyyyyy 分别为 xxx 和 yyy 对应的根结点)。而 kruskal 重构树则是在合并时引入一个新的结点 nodnodnod,用 nodnodnod 作为 x
2021-01-04 23:19:57
470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人