牛客某天比赛的简要题解+思路

T1

对于长度>=2的环直接后手胜利,因为只要一直对角线后手就能把先手给活活玩死

如果有长度1的环,先手者可以给其染色,这样就自己变成后手了,所以两边一定是疯狂涂1抢后手,记录下这些环的总数是奇数就先手赢,偶数后手赢。

T2

树上容斥计数。

第一个问维护下k阶子树的size以及k阶祖先,加加减减无脑容斥算一下就行了,复杂度O(nk)

第二个问维护下k阶子树的乘积和,然后发现除了自己以及自己的祖先,所有的贡献都可以直接用这个乘积和算,把加加减减换成乘乘除除,改动目测不大,需要逆元。

对于不能这样算的点,由于只有k+1个不能这样算的点,这些点单独统计下贡献,最后乘到答案里面去就行了,目测O(nk)或者O(nk^2),都可以接受。

T3

hzhT2连边法之后 观察到基环树=全覆盖,树=必定有一个无法覆盖。

扫描二维码关注公众号,回复: 7686129 查看本文章

也就是说如果你的顺子在树上就扑街了。

对于每颗树,找出其最小值和最大值当成区间,如果你的询问包含了一个树的区间,那就炸了。

个人觉得答案还是可以双指针统计覆盖,也就是维护起点,每一次往前推起点的时候,接着推终点。可能要数据结构来维护?不太清楚。

这题放了二分图过,其实给个60分还是合理,放过去太扯了。但是相比T2的80分暴力来说这个还没那么扯。

这个题目我觉得出的挺好,就是数据SB了点。

链接:https://ac.nowcoder.com/acm/contest/1100#question

猜你喜欢

转载自www.cnblogs.com/YoOXiii/p/11764159.html
今日推荐