GZOI-NOIP2023模拟测试赛(六十)
T1 购买饮料 (buy)
秒了
可以看作 ax-b 元钱 a 瓶饮料,前提是有 ax 元。或者 x 元 1 瓶
先用 ax-b 元购买直到不行,然后剩下的全部买 x 元的。
T2 多边形(polygon)
想了一个奇怪的做法。但太难写了。
如果只有两种颜色,则 Impossible!。
否则由于保证相邻颜色不同,一定有相邻的三个颜色不同。
若某种颜色只有一个,直接和其他所有点连边。反之选择一个相邻三个颜色不同的点,删掉。继续。
用链表维护容易发现是 O(n) 的。
T3 二分图最大权匹配(match)
什么模拟费用流。
曼哈顿距离转化为切比雪夫距离。
两个点距离则为 \(max(|x_1-x_2|,|y_1-y_2|)\)
相当于对每个点选定一个值 \(val_i \in \{x_i,-x_i,y_i,-y_i\}\)。
要满足 黑点 x 的个数等于白点 -x 的个数。黑点 -x 的个数等于白点 x 的个数。y 同理
建图。
然后发现复杂度炸了。
模拟费用流。
T4 飞毯(carpet)
更是重量级。
会发现对于长度为 n 的01串一定有长度为 \(2^n+n-1\) 的01串满足所有长度为 n 的01串都是其子串:
例如:n = 3,01 串: 0001011100。
这种情况下,长度小于 n 的01串一定都出现过,任意长度大于 n 的子串都不同。此时本质不同字串个数的最大的。
赛时只想到这,题解没听懂。
我们画出一个有向图,代表每个点在其后加入 0/1 能转移到哪。
貌似是找到一个欧拉回路。不会
浙公网安备 33010602011771号