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) 编辑
  2021年10月19日
摘要: T1万花筒 Descrption 初始 \(m\) 条边,如果 \((u,v)\) 在图中,那么将 \(((u+1)modn+1,(v+1)modn+1)\) 也加入图中。求该图的最小生成树,\(1≤n≤10^9,1≤m≤10^5\)。 Solution 对于加入每条边,考虑它对连通块的贡献,你可以 阅读全文
posted @ 2021-10-19 08:39 漠寒· 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 分析 题意 给出 \(n\),\(m\),\(k\),给出一个大小为 \(nm\) 的矩形。矩形仅包含 " * " 和 " . "。需要你用任意个仅包含 " * " 的开口向上 v 形结构,两边斜率为1,且边长严格大于 \(k\)(包含交点),来包含所有矩形的 " * "。 做法 用 \(vis(i 阅读全文
posted @ 2021-10-19 08:16 漠寒· 阅读(69) 评论(0) 推荐(0) 编辑
  2021年9月23日
摘要: 分析 给出 \(n\) 个数,每次向集合增加或去掉其中一个数,求集合内有多少无序数对互质。 考虑计算每一次操作对答案的影响,在总个数的基础上,减去与其不互质的个数,就是与其互质的个数,但如果枚举因数直接相减,显然会减重,所以考虑容斥。 比如你你用 \(cnt_i\) 表示以 \(i\) 为因数的数有 阅读全文
posted @ 2021-09-23 21:57 漠寒· 阅读(37) 评论(0) 推荐(0) 编辑
  2021年9月15日
摘要: 分析 这是一道典型的差分题。差分指的就是两项之间的差,即 \(b[i]=a[i]-a[i-1]\),而题目中影响温度变化的正是这一值。 所以我们就可以直接用 \(b\) 数组来直接判断三个规则来做这道题,那修改呢?这就是差分最重要的一个性质,修改一个片段只会影响差分数组内的两个值,其它修改的位置,它 阅读全文
posted @ 2021-09-15 21:41 漠寒· 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 什么是 SAT 问题 k-SAT:k-satisfiability,中文名叫“k-适应性问题”,它描述的是这样一类问题。 给你 \(n\) 个变量 \(a_i\),每个变量有 \(a_i\) 种取值,称变量 \(a_i\) 的取值集合为 \(a_i\) 的值域。同时还有一些约束,例如当 \(a_i\ 阅读全文
posted @ 2021-09-15 21:40 漠寒· 阅读(45) 评论(0) 推荐(0) 编辑
  2021年9月10日
摘要: 分析 对于每一个位置,它的积水能否达到某一个高度,要求的便是它附近是否有完全封闭的由原高度大于等于该高度的位置连线组成的封闭图形。 所以我们便枚举每一次所需达到的高度,看有多少个比该高度低的能达到该高度,我们发现需要在整个图形上去掉两类,一是原来就比它高的,二是在所有封闭图形外的点。于是考虑 dfs 阅读全文
posted @ 2021-09-10 07:49 漠寒· 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 分析 第一次写二维线段树,四叉树的写法。改了将近两个小时,结果最后发现把 long long 去掉时间复杂度就行了,哭掉。 这是图解。摘自一篇博客。 也就是每一个线段树的子节点,代表一个矩形,它的四个儿子,分别代表它的左上,左下,右上,右下。 其它方面就和普通的线段树无异了,唯一的变化就是你的处理由 阅读全文
posted @ 2021-09-10 07:49 漠寒· 阅读(35) 评论(0) 推荐(0) 编辑