非常开心,所有代码都咕掉了/cy

T1

简单计数题,树状数组维护即可。

T2

线段树维护,如果一个区间整除某个数的时候都等价于减同一个数,那么就打上区间减法的标记。

复杂度玄学,但是能过。

T3

把正着做换成倒着做,把操作变成减去两边的数。

考虑最大的那个数,显然在它没有变化的情况下两边的数都不能进行操作,所以如果它没有变成目标状态,就肯定要给它进行操作。

于是一个优先队列维护最大值就做完了。

T4

显然先要求出每个点的最小长度。

把每一条边分成多个,建几个虚点,然后按最短长度分层。

每一层做,先按字典序排序,然后更新后面。注意如果两个点的答案完全相同那么要一起更新。

T5

想了个假做法还乐滋滋的感觉自己菜得要死……

首先把询问的时候有环的情况判掉。

根据最小生成树的理论,询问的时候权值不同的边是独立的。

离线,按权值一种一种地做。每次把某个询问的集合加进去看是否有环,然后可撤销并查集退回去。

相关文章:

  • 2022-02-01
  • 2022-12-23
  • 2021-10-10
  • 2021-10-20
  • 2022-01-09
  • 2022-01-02
  • 2021-12-30
  • 2021-09-23
猜你喜欢
  • 2021-10-14
  • 2021-08-19
  • 2021-10-03
  • 2022-01-08
  • 2022-02-27
  • 2021-06-11
  • 2021-09-06
相关资源
相似解决方案