摘要:
【题解】 最短路。那么直接写dijkstra就好了。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 20001 阅读全文
摘要:
【题解】 线段树基础题。对于每个修改操作把相应区间的sum改为区间长度-sum即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 阅读全文
摘要:
【题解】 就是个树链剖分的模板题。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 200010 7 #defi 阅读全文
摘要:
【题解】 线段树或者单调队列都可以。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 1000010 7 #de 阅读全文
摘要:
【题解】 最大值最小化,那么一般要联想到二分。二分一个最大值,然后check一下能否分成小于等于m段即可。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg 阅读全文
摘要:
【题意概述】 给出一个长度为n的序列a,求有多少对[i,j]满足i<j且a[i]>max(a[i+1],a[i+2],...,a[j]). 【题解】 单调栈。 倒着处理序列的元素,维护一个单调递减的栈,同时记录栈中的每个元素进栈的时间。如果当前元素x大于栈顶元素,那么栈顶到第二个元素在原素列之间的这 阅读全文