摘要: LGV引理的题目。 我们考虑这道题目是从\((1,1)\)到\((n,m)\),然后选取不交叉的\(k-1\)条线插在中间,每一条划分出一个数值的范围,题目限制相当于\((r,c)\)坐下方要有\(v-1\)条线。 我们考虑把线实际化成为一个点,不交叉变为点不相交,可以使用LGV引理。\((r,c) 阅读全文
posted @ 2025-04-29 19:59 特别之处 阅读(19) 评论(0) 推荐(1)
摘要: 这个题目一眼不是很好维护,首先我们想到可以分块离线下来,每\(B\)个一块,提前跑完除了关键点位(也就是这\(B\)次询问的点位)以外的答案,然后容易发现这会形成一片二元点对\((x_i,y_i)\),容易发现\(x_i > x_{i-1} , y_i < y_{i-1}\),这\(B\)个点每一个 阅读全文
posted @ 2025-04-29 16:57 特别之处 阅读(11) 评论(0) 推荐(0)
摘要: 挨个加入每一个点,维护每一个点之前第一个和他相同的数,每加入一个新点最多影响两个区间的数出现恰好一次的个数,使用分块,二分查找,暴力\(O(n \log2 n)\)的复杂度即可。 代码: #include <bits/stdc++.h> #define int long long using nam 阅读全文
posted @ 2025-04-29 09:54 特别之处 阅读(20) 评论(0) 推荐(0)
摘要: 写数据结构的时候看错题目了,误入这道题目了…………(本来要写的叫:Yet Another Range Query Problem) 非常的简单,首先,只有奇数个数才可以进行操作。容易发现如果原本二进制下有偶数个就会变为0个(还是偶数个),如果有奇数个就都会有(还是奇数个),所以不改变个数的大小。 知 阅读全文
posted @ 2025-04-29 08:56 特别之处 阅读(13) 评论(0) 推荐(0)
摘要: 题目在一个环上连若干条边,两条边交叉也可互相抵达。 支持两个操作。 1.给出\(x\),\(y\)。连接\(x\),\(y\)。 2.给出\(x\),\(y\)。求出他们是否在一个联通块内。 首先,我们容易想到断环为链,那么我们要判断的就是给出\((x,y)\),找出之前是否有一条边\((a,b)\ 阅读全文
posted @ 2025-04-29 07:52 特别之处 阅读(22) 评论(0) 推荐(0)
摘要: 首先我们可以二分出第\(k\)条线的长度,然后统计长度大于等于这条线的线长度的总和(如果个数多了减去对应个数乘第\(k\)条线的长度即可,原因显然,在此略掉证明) 考虑转化题意,变成一条\(n\)个点,统计每一个点最后一次被哪一条线覆盖,如果说第\(i\)条线覆盖了第\(x\)条线\(l\)到\(r 阅读全文
posted @ 2025-04-28 19:06 特别之处 阅读(13) 评论(0) 推荐(0)
摘要: 题目询问在区间$[l,r]$内满足$l \le i < j \le r$这一条件的最小的$|a_i-a_j|$。 首先有一个想法是离线下来询问,然后对于每一个$i$找住$j$满足$j<i$且$a_j>a_i$,(绝对值把$a_i$变为$1e9-a_i$,也就是反过来即可)。 但是找到所有$j$复杂度 阅读全文
posted @ 2025-04-28 18:14 特别之处 阅读(11) 评论(0) 推荐(0)
摘要: 这是九大分块中最简单的一道题目,题面如下。 二阶堂真红给了你一个长为 $n$ 的序列 $a$,有 $m$ 次操作 把区间 $[l,r]$ 中大于 $x$ 的数减去 $x$。 查询区间 $[l,r]$ 中 $x$ 的出现次数。 对于 $100%$ 的数据,$1\le n\le 10^6$,$1\le 阅读全文
posted @ 2025-04-20 18:01 特别之处 阅读(23) 评论(0) 推荐(0)
摘要: 第十四分块的题目,我们考虑莫队二次离线。 题目中要求出满足$l \le x,y \le r$且$a_l | a_r$的个数。我们考虑定义函数$f(a,b,c)$表示满足$x=a,b \le y \le c$的答案的个数,那么一次询问就是求$\sum_{i=l}^{i \le r} f(i,l,r)$ 阅读全文
posted @ 2025-04-20 17:42 特别之处 阅读(14) 评论(0) 推荐(0)