dmy 2.27
推歌:1000年生きてる
上午模拟赛奋战四小时获得 20+0+0,菜完了!
A
严肃被网络流创飞,但是要求写非平凡网络流是何意味,是让我们阅读何大哥论文吗,但是膜拜何大哥!
B
神秘数数题。
考虑先把最外侧的 \(B\) 侧点删掉,然后就变成了 \(m\le n\) 的 case。何大哥言:这样我们就能把分数翻倍了,但是 0 分还是 0 分。
考虑如何做!我们将边定向,考虑 \(f_{a,b}\) 表示叶子都是 \(A\) 侧点,有 \(a\) 个 \(A\) 侧点和 \(b\) 个 \(B\) 侧点的权值,\(g_{a,b}\) 表示同样的点,但叶子都是 \(B\) 侧点的权值。然后考虑如何 dp:分三种情况,每次加入一个环,每次加入一条链,每次加入一个环和一条链,然后对着这个东西 dp。
还没学懂,拜谢何大哥/bx/bx/bx
C
原来你也玩()但是阅读堪比小作文啊啊??赛时没读明白题,赛后读懂题一秒会了 30??
我方最优一定是把最前的 1 尽可能后移,对方最优策略一定是把最后的 1 拉到最前,直接模拟就有 30 分。然后手玩一下发现一回合对方操作完,对方行动顺序一定不变,伤害可以 \(O(1)\) 算。所以模拟我方的操作,然后上分块或者单边递归线段树就结束了。
何大哥:我觉得单边递归线段树比较帅。
GYM105401E Hexagonal Tiling
给定一个边长为 \(n\) 的正六边形。正六边形可以分割成若干个边长为 1 的单位等边三角形。我们将用由两个共享一条边的等边三角形拼接而成的、边长为 \(1\) 的单位菱形,将六边形完全填满。
对于每一个可以放置单位菱形的位置,放置该菱形的成本是给定的。求填满这个六边形所需的最小成本。
老生常谈的经典思考:三角形拼满菱形可以视作在一个立方体空间内堆放单位正方体。对于每个菱形,从一个菱形的底边画一条箭头指向另一个菱形的顶边。沿着这些路径,我们可以从六边形的底部构造一条通往六边形顶部的路径。
然后考虑费用流。每条水平单位线段建一个入点一个出点,一组点建 1 容 0 费的边。底部单位线段与源点有 1 容 0 费边,顶部单位线段与灰点有 1 容 0 费边。两段可以组成菱形的水平单位线段从下到上建 1 容 \(c_1-c_2\) 边,\(c_1\) 是形成的菱形代价,\(c_2\) 是上方线段作为对角线的菱形代价。
考虑这个流的意义:初始情况全都是竖着的菱形,每次添加一个横着的菱形就是流一条边,答案就是所有竖着的菱形代价加最小费用最大流。
但是点和边好像有点多??有平方个顶点和平方个边。但是最大流不超过 \(n\)!!所以再次严肃阅读何大哥的论文并学习 Johnson 势函数,然后就变成 \(O(n^3\log n)\) 的了。
ABC393G Unevenness
何大哥:杜老师说这是好题啊!!
给定一个 \(n\times n\) 的盘子,每个格子上有一个数 \(A_{i,j}\),每次可以用 \(x\) 的代价将 \(A_{i,j}\) 增加或减去 \(x\)。在总代价不超过 \(X\) 的情况下使相邻的格子差值之和最小。其中 \(x\) 是实数,\(X\) 是有理数。
不是很想再写一遍了喵,直接看这个吧喵!
P4897 【模板】最小割树
大学习!!何大哥还是太强了111
QOJ892 Minimal Cut
何大哥の集训队作业,膜拜何大哥/bx/bx/bx
挂一个何大哥的题解,还没学喵喵。

浙公网安备 33010602011771号