9.26杂题选讲

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

T1

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

T2

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

复杂度玄学,但是能过。

T3

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

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

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

T4

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

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

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

T5

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

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

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

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

转载于:https://www.cnblogs.com/p-b-p-b/p/11594616.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值