树状数组
小菜鸡啦啦啦
这个作者很懒,什么都没留下…
展开
-
牛牛的Link Power II
设pre = 前缀1的数量,suf = 后缀1的数量,ppre = 前缀1的位置和,psuf = 后缀1的位置和。假设现在第i个1的位置是pos每个1对答案的贡献 = prepos - ppre + suf(n-pos+1) - psuf建四个树状数组,分别维护pre、suf、ppre、psuf#include <cstdio>#include <cstring>...原创 2020-02-10 23:06:36 · 137 阅读 · 0 评论 -
变成单峰序列
题意:给你一个序列,问你把它变成单峰序列最小要交换多少次,每次交换只能发生在相邻的两个数之间。题解:贪心。对于单峰序列,肯定是小的数放外面,大的数放中间,无论先移哪个数,最后肯定都是要移到他应该在的位置,所以应该先移哪个数字不重要。那我们从小到大移动好了,我们先预处理出每个a[i]的位置,然后从小到大遍历每个数字,如果这个数字存在在序列中,l是这个数字在序列中的第一个位置,r是这个数字在序列中的...原创 2020-01-06 22:11:19 · 707 阅读 · 0 评论