2021年10月31日
摘要: 分析 考虑对每一种花,它在区间内能做贡献当且仅当区间内有两朵以上该种类的花,所以我们对每一个右端点,使它左侧每一种花的倒数第二个位置做贡献,这样能保证贡献被统计正确,避免选漏,然后就转化为前缀问题,用树状数组 \(logn\) 即可解决,然后将询问按右端点排序,每次右移时将它前面同类型的贡献加一,前 阅读全文
posted @ 2021-10-31 11:43 漠寒· 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 分析 对连续值和求和的询问都是比较板的,这里讲修改,赋值和翻转分别设置一个标记,思考它们的优先级,显然赋值高于翻转,所以在赋值时应清空翻转标记,在翻转时优先考虑能不能直接将赋值标记异或一,否则在改变自身即可。 Code #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2021-10-31 11:29 漠寒· 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 分析 首先看题目发现这是一个连通性问题,就是在某个半径下一些塔的控制范围有重叠部分,两塔有重叠就说明它们连成了一片,同理若某塔控制了海滩边缘,这一侧边缘也与它相连,海滩受保护当且仅当左右摊联通,显然这是一个满足二分的东西,半径越大可连的边单调不降,但我们并不需要二分,只需要一次找出所有边,然后按边权 阅读全文
posted @ 2021-10-31 09:32 漠寒· 阅读(37) 评论(0) 推荐(0) 编辑