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 能转移到哪。

貌似是找到一个欧拉回路。不会

posted on 2023-11-12 18:08  Evan_song  阅读(39)  评论(0)    收藏  举报