CYEZ 弹珠
key:思维题,完全背包。
先每个组分一个小球。等价于 n − k n-k n−k 拆分为任意个 [ 1 , k ] [1,k] [1,k] 的数的方案数。
本质是根据面积的转换,直观解释:
完全背包即可。代码。
No Bug No Game
key:exchange argument,背包。
子序列
SOL1:
key:动态开点,线段树
记 f i f_i fi 为以 a a a 中第 i i i 个数结尾的最长的好的子序列。
f i = max j < i , a j ⋅ b f j ≤ a i f j + 1 f_i = \max\limits_{j<i,a_j \cdot b_{f_j} \le a_i} {f_j +1} fi=j<i,aj⋅bfj≤aimaxfj+1
可以用动态开点权值线段树优化。代码。