我的天哪是味大的466,那必须狠狠参加啊
A
!?区区?!
拿脚都能一遍过的题目啊
B
!?区飞起来了?!
还是区
思路:每次拿个 \(map\) 记录当前颜色的大小最大值即可
C
不是你谁?
AT有交互了?!
注意到这道题是按升序排序,然后没然后了
注意到连续点对必须连续
首先C题一定是区,所以这条最多算个B29(
题目中只能询问 \(2N\) 次,那也就是说相当于每个点都会被扫到一次……双指针!是双指针!
然后双指针一快一慢典中典剧情然后没了
核心伪代码:
for i 1~n:r=i;while r<n :if ask(i,r+1):r++else:breakans+=r-i-1
D
简单吧不算,难的话也不算
法1:反向考虑,正难则反:
对于每个操作选择倒序操作,如果这个加点操作在之后也就是按倒序排序之前的清空操作包含,就跳过,否则 \(ans++\)
法2:真男人不打邪门做法,正面猛攻才是王道:
豪情在天!
孩子们,因为加入的点为\((C_i,R_i)\),所以我们考虑使用二维线段树(大草
因为 \(M,N\le 3e5\) , 所以 \(N+M \log^2 N\) 可过说是
E
注意到 \(K\) 小的可怜啊……
因为我们不会反转一张卡片两次或以上,这是显然的(那不然跟翻一次或不翻有什么区别吗?)
那就是从 \(\{B_1-A_1,B_2-A_2,……,B_i-A_i……B_n-A_n\}\) 中选取不超过 \(K\) 个和最大的连续独立集,然后把这玩意与 \(A_i\) 的总和相加就好了
