摘要:
考虑到这种对于某种操作顺序有一个权值。 且这个权值有一个$O(n)$或者更好的复杂度求出。 求最值。 那可以用模拟退火。 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> # 阅读全文
摘要:
一个很经典的做法。 $k$个最值的求法,先对每个元素进行最操作,再对堆顶进行次操作丢入堆。 考虑怎么进行次操作。 每次把可操作的区间按最操作的位置切开。 #include<iostream> #include<cstdio> #include<queue> #define ll long long 阅读全文
摘要:
考虑到一次答案就是两点的子树和乘积。 我们先维护一个整个大树。 用并查集做小树的情况,树剖做子树大小的维护。 #include<iostream> #include<cstdio> #define ll long long #define N 100005 ll n,q; struct P{ ll 阅读全文