ABC245 做题记录
作者:互联网
目录
- A - Good morning
- B - Mex
- C - Choose Elements
- D - Polynomial division
- E - Wrapping Chocolate
- F - Endless Walk
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
板子题。
缩点之后建反图跑一边拓扑排序即可。
标签:记录,多项式,Wrapping,times,cdots,即可,ABC245,aligned 来源: https://www.cnblogs.com/Silymtics/p/ABC245.html