ABC323

发布时间 2023-10-08 14:21:18作者: Simex

Link
A 很简单
B sort+struct+cmp函数
C 排个序举行
D 显然的,我们可以从最小的开始进行合并,合并的越多越好。但是可以注意到\(S_i\)的跨度相当的大,这怎么办呢?
我们可以使用STl中的map来解决,每一次取出map.begin()出来并且将其删除来解决。
E 一个很简单的线形DP,定义\(dp_i\)为在i处有一首歌停下的概率,那么显然的\(dp_i=\sum_{j-1}^{n}dp_{i-T_j}\times n^{-1}\) 然后运用费马小定理去求一下乘法逆元就可以了。


F 我们把这个题分为两部分进行求解,首先是抵达一个很好的位置去推,然后是推箱子。对于第一部分,和第二部分分别进行讨论就可以了。