摘要:
题解 随机跳题真好玩 这个就是考虑我们怎么判断点在多边形内,就是点做一条射线,穿过了奇数条边 我们只需要记录一个二进制状态表示每个点的射线穿过路径的次数的奇偶性 枚举起点,然后用BFS的方式更新dp状态 代码 cpp include define fi first define se second 阅读全文
posted @ 2018-10-30 18:16
sigongzi
阅读(265)
评论(0)
推荐(0)
摘要:
题解 这道题维护方法比较简单,也有点奇妙 我们可以很容易求出经过所有点的路径条数,和初始时分子的大小 然后单点修改的时候,相当于给当前点$v$加上$delta (siz[v] 1)$ $v$到根的路径上每个祖先都要加上设$t$为$k$在路径上的儿子,$delta (siz[k] siz[t])$ 如 阅读全文
posted @ 2018-10-30 16:44
sigongzi
阅读(283)
评论(0)
推荐(0)
摘要:
C Align 考的时候,我大胆猜了结论,就是一小一大一小一大这么排 证明的话,由于我们总是要加上相邻的最大值而减去最小值,我们就让最大值都保持在前面 如果长度为奇数,要么就是大小大小大,要么是小大小大小 第一种要求是靠中间的位置填(n + 1) / 2个最大值中较大的,两边填较小的(两边只被加了一 阅读全文
posted @ 2018-10-30 11:09
sigongzi
阅读(412)
评论(0)
推荐(0)

浙公网安备 33010602011771号