摘要: 考虑把一次交换产生的贡献记录在交换的两个数字中较小的那个数字上。则构造一个好的序列的过程可以看成是:按照从小到大的顺序枚举每个数,每次选择将这个数放在序列的左边或右边。 不难发现,每次放到左边或右边需要移动的次数是初始序列中左边或右边比这个数大的数的个数,与其它数选择放在左边还是右边无关。 直接用树 阅读全文
posted @ 2022-10-17 18:47 Day_Dreamer_D 阅读(97) 评论(0) 推荐(0)
摘要: 一句话,大模拟,照着题意敲就完了。 写的期间甚至因为疫情导致程序被锁在了机房 www //3760. 魔兽世界(修订版) #include <iostream> #include <cstring> #include <string> using namespace std; /********** 阅读全文
posted @ 2022-10-17 18:35 Day_Dreamer_D 阅读(245) 评论(0) 推荐(0)
摘要: 0. 洛谷 P3987 我永远喜欢珂朵莉~ 算法:树状数组。 模型抽象 Trick:$\forall k \ge 2$,最多 $\log a_i$ 次 $a_i \div k$ 使得 $a_i=1$。 证明:每次最少会使 $a_i$ 减半,最多 $\log$ 次就可以变为 $1$。 所以修改的复杂度 阅读全文
posted @ 2022-10-17 16:06 Day_Dreamer_D 阅读(285) 评论(0) 推荐(0)