暑期集训 Day11 —— 模拟赛复盘
${\color{Green} \mathrm{Problem\ 1 :Subarray }} $
签到失败...
直接二进制分组,找出所有二进制位=0
的方法。
死因:
二进制分组没想出来...
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{Green} \mathrm{Problem\ 2 :小z玩游戏 }} $
什么玄学图论题。
其实是把两个可以达到的点之间连一条边,然后用 Tarjan 缩点,如果一个游戏所处的强联通分块中,分块大小大于 \(2\),那么这个游戏就是可以玩两次的。
后来发现,只要连质数即可,什么玄学优化法。
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{Green} \mathrm{Problem\ 3 :IOI计数}} $
线段树,但是不会,赛时枚举区间中的 O
,然后用前缀和处理出 O
两边的 I
,在把乘积累加起来,就好了,暴力走人。
后来发现我已经想对一半了QwQ。
用线段树维护区间 I,O,IO,OI,IOI
的个数,Answer = IOI + (Left(I)+Right(OI)) + (Left(IO)+Right(I))
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{Green} \mathrm{Problem\ 4 :DNA}} $
玄学二分 + Hash
。
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
${\color{White} \mathrm{}} $
总结
期望:\(100+70+30+0=200\)
实际:\(0+70+30+0=100\)