Nowcoder Training by Reconquista

太好了。没有交题权限不用补题了。弥天大雾


【ZYB Loves Graph】一张G(n,m)的无向图,每次操作可以翻转一段连续编号区间内的边的状态(1变0,0变1),也可以询问两个点的S(u) S(v)是否相等,S(x)代表点x的所有相邻点的集合。这是我听完直播以后最最想写的一个题。

可以给每个点随机一个权值,直接将S(x)转化成异或和的形式。每次修改操作,是在树状数组上面区间修改(xor)。

将每个点按照度数分成大点与小点。询问小点,则暴力询问它的每一条边的存在性。对于大点,在每次操作的时候暴力修改它的S;这样无论大小点都多了一个log。

“数据其实没有特意卡log”,但是还是要考虑把复杂度“匀一匀”。将边序列分块,这样每次询问到小点可以变成O(1)出结果。操作时候还需要维护所有块对于每个它能影响到的大点的贡献(只操作零碎块,但需要预处理出大块翻与不翻对大点的影响),询问到大点时,枚举所有的块,将贡献异或起来。


【Guessing ETT】端看了一会儿题解,发现ppt有一个地方写错了。现在就变成:理解了出题人的构造方法但没法证明它的100%正确性。不过反正也想不出其它的构造方法hhh

其实最好的方法还真的是写个贪心拍一拍。


【Removing stones】可以证明题目等价于,有多少个长度不小于2的连续子数列,使得其中最大值<=sum/2。

对于区间[L,R],找出里面最大值的位置K,枚举较短区间为一端点,二分另一边。然后递归分治[L,K-1] & [K+1,R],这样的复杂度是两个log的。

题外话( 被指路咖啡鸡的代码,怎么都不应该是线性做法。。。。。。


【Median】需要发现任何一组合法解经过修改,都能够使得每一个a[i]都是受其影响的三个中位数之一。那这样就可以dp了。

枚举第i位与第i-1、i-2位的所取数字。疯狂的分情况讨论。复杂度是线性的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值