ABC245 做题记录

A - Good morning

比大小

B - Mex

求一个序列的 mex,暴力

C - Choose Elements

\(f_{i,0/1}\) 表示第 \(i\) 位放 \(a_i\) 或者 \(b_i\) 的话前 \(i\) 位是否合法。

转移条件是绝对值差 \(\le K\) 直接转移即可,最后判断 \(f_{n,0/1}\) 是否有一个合法即可。

D - Polynomial division

给定多项式 \(A\) 和多项式 \(C\),求多项式 \(B\),已知 \(A * B = C\)

因为

\[\begin{aligned} c_{n+m} & = b_m \times a_n \\ c_{n+m-1} & = b_{m-1} \times a_n + b_{m} \times a_{n-1} \\ c_{n+m-2} & = b_{m-2} \times a_{n} + b_{m-1} \times a_{n-1} + b_{m} \times a_{n-2} \\ \cdots & = \cdots \end{aligned} \]

从上向下推下去即可。

注意要倒着,正着的话存在 \(a_0 = 0\) 就会寄掉!

E - Wrapping Chocolate

把两种点先按照 \(x\) 一维从小到大进行排序,

从小到大枚举第二种点 \(b_i\),把第一种点中 \(x\)\(\le b_{i.x}\) 的加进去。

然后第二种点匹配的时候,要找能匹配的点中 \(y\) 最大的。

不难发现这样贪心匹配是对的。

因为后面的第二类点已经保证了 \(x\) 值比当前这些大,但是并没有保证 \(y\) 值比当前这些大。

F - Endless Walk

板子题。

缩点之后建反图跑一边拓扑排序即可。

G - Foreign Friends

(补题)

多源最短路。

建一个超级源点把所有 popular 的人连起来。

对于每个点维护两个 \(dis\) 一个是被自己国家的更新的,另一个是被其他国家的更新的。

然后跑一边最短路 dij or spfa 做完了。

现在是 8:09 我开始写,我看我什么时候写完。

现在是 8:30 我写完了,但是 WA 28。

看来眼题解好像不能这样记录,需要把被哪个国家更新的存下来。

记录一个最短路和次短路,同时记录国家。

转移的时候注意最长度和次长路记录的国家不能相同。

posted @ 2022-03-27 08:01  Suzt_ilymtics  阅读(65)  评论(0编辑  收藏  举报