摘要:
考虑到每个点就是0,1 那么相当于我们要得出一个序列$a_i$ 那么考虑到前缀异或,那么我们一次操作是$b_l \oplus b_r$的值。 我们只要有$n$个方程就行。 所以MST。 阅读全文
posted @ 2021-08-04 16:41
fhq_treap
阅读(41)
评论(0)
推荐(0)
摘要:
考虑到这种对于某种操作顺序有一个权值。 且这个权值有一个$O(n)$或者更好的复杂度求出。 求最值。 那可以用模拟退火。 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> # 阅读全文
posted @ 2021-08-04 15:58
fhq_treap
阅读(80)
评论(0)
推荐(0)
摘要:
一个很经典的做法。 $k$个最值的求法,先对每个元素进行最操作,再对堆顶进行次操作丢入堆。 考虑怎么进行次操作。 每次把可操作的区间按最操作的位置切开。 #include<iostream> #include<cstdio> #include<queue> #define ll long long 阅读全文
posted @ 2021-08-04 14:49
fhq_treap
阅读(48)
评论(0)
推荐(0)
摘要:
考虑到一次答案就是两点的子树和乘积。 我们先维护一个整个大树。 用并查集做小树的情况,树剖做子树大小的维护。 #include<iostream> #include<cstdio> #define ll long long #define N 100005 ll n,q; struct P{ ll 阅读全文
posted @ 2021-08-04 11:17
fhq_treap
阅读(33)
评论(0)
推荐(0)

浙公网安备 33010602011771号