10月29
加训记录(10/29)
灵茶每日一题
很好的双指针题,数据范围看假了,也漏了点情况
Educational Codeforces Round 171
Dashboard - Educational Codeforces Round 171 (Rated for Div. 2) - Codeforces
这场被狠狠教育了
\(B\)题一开始想贪,结果错了,然后发现可以二分,而且\(n\)只有\(2000\),就大胆二分了
\(C\)读题卡了挺久的,然后就是类似括号匹配的
\(D\)题狠狠的教育了,不亏是EDU,前缀和套前缀和,细节超多
\(a[i]\)的前缀和\(s[i]=\sum_{i=1}^na[i]\)
\(s[i]\)的前缀和\(col[i]=\sum_{i=1}^ns[i]\)
将\(B\)数组分成\(n\)份的第\(i\)组\(p[i]=\sum_{j=i}^ns(i,j)=col[n]-col[i-1]-(n-i+1)*s[i-1]\)
\(B\)数组的前缀和\(pel[i]=\sum_{i=1}^np[i]\)
ABC377
TOYOTA SYSTEMS Programming Contest 2024(AtCoder Beginner Contest 377) - AtCoder
\(A、B、C\) 都比较水,套个map就行了
\(D\)题,要保证\((l,r)\)不包含任何的\((L_i,R_i)\),即对于每一个\(l\),都有\(r<min(R_i)\),其中\(L_i\ge l\),单调栈维护一下右边界就行
\(E\)题,就是要知道排列的下一次位置可以抽象成在一个环中进行操作就行,操作的数量为\(k\),那么环上移动的位置就是\(2^k\)次,参考嵌套函数的用法,然后快速幂很好写了。