摘要:
区间转化为点 前缀和与差分 通过预处理将区间操作转化为对点的操作,降低难度 其中差分思想应用较广,只要有二元性,就可以考虑差分。 如类似于加减这样的互逆的操作可用差分维护;如果一个点只有两种状态,或一个数在改变前后的奇偶性相反,都可以考虑差分。 P2882 [USACO07MAR]Face The 阅读全文
posted @ 2021-07-21 21:28
Wuhen_GSL
阅读(131)
评论(0)
推荐(0)
摘要:
二进制相关,但不知道是哪个库的 __builtin_ffs(x) 返回 x 的最后一位 1 是从后向前第几位 __builtin_clz(x) 返回 x 二进制下前导 0 的个数 __builtin_ctz(x) 返回 x 二进制下末尾 0 的个数 __builtin_popcount(x) 返回 阅读全文
posted @ 2021-07-21 21:27
Wuhen_GSL
阅读(74)
评论(0)
推荐(0)
摘要:
题目只要求合法的方案数 我们不难发现,如果当前状态合法,那么右端点右面的所有状态也合法。 先用ST表保证 \(O(1)\) 算出区间最小值,方便判断当前区间是否有合法的咖啡店,再用vector记录每个色调出现的位置,然后一个色调一个色调的计算,若合法则ans加右指针之后所有的点(包括右指针),同时左 阅读全文
posted @ 2021-07-21 21:24
Wuhen_GSL
阅读(40)
评论(0)
推荐(0)
摘要:
由题意得,只有强连通分量之间传递才能最终得到自己的编号。 可以用$tarjan$找出强连通分量,并从中找出大于1的最小的强连通分量则是最小的游戏回合数 //AC代码 //找SCC #include<iostream> #include<cstdio> #include<algorithm> #inc 阅读全文
posted @ 2021-07-21 21:23
Wuhen_GSL
阅读(55)
评论(0)
推荐(0)

浙公网安备 33010602011771号