09 2023 档案
摘要:考虑从小到大加入每种权值,同时维护一个状压数组 $f$。 具体的,我们对于在输入矩形中出现过的数,直接转移;否则枚举当前的数放在哪一位,判断合法性之后转移就行了。 判断合法其实有一种比较简便的方法,每次加入一个数时,如果他在某个三元组的中间位置,且左右的点恰好填了一个,那么就证明这个三元组是单调的,
        阅读全文
                
摘要:题目链接 这道题一个朴素的思路就是:维护 \(f_{i,j}\) 表示第 \(i\) 轮后 \(x=j\) 的方案数。时间复杂度 \(O(k\times 2^k)\)。显然过不了。 我们尝试寻找一个能抛开 \(x\) 的值域的做法。不妨重新设 \(f_{i,j}\) 表示第 \(i\) 轮结束时的 
        阅读全文
                
摘要:题目链接 显然答案下界为 \(\lfloor\frac{n}{2}\rfloor\)。采用一种对着题意模拟的策略:假设我们初始的区间为 \([l,r]\),然后逐步向左平移,也就是:\([l,r],[l-1,r-2],[l-2,r-4],\dots\) 直到碰到边界(平移的次数 \(+1\) 就等于
        阅读全文
                
摘要:题目链接 关于这类问题的一个经典的套路就是:利用差分将区间翻转转换为点对翻转。 既然操作差分了,那么原序列初始时也得以差分的形式进行表示。我们发现,原序列中一定恰好有 \(4\) 个 \(1\)。 根据题目,翻转操作就是对两个端点采取异或运算。不妨把所有这样的两个端点连上一条边权为 \(r-l+1\
        阅读全文
                
摘要:关于这类问题的一个经典的套路就是:利用差分将区间翻转转换为点对翻转。 既然操作差分了,那么原序列初始时也得以差分的形式进行表示。我们发现,原序列中一定恰好有 $4$ 个 $1$。 根据题目,翻转操作就是对两个端点采取异或运算。不妨把所有这样的两个端点连上一条边权为 $r-l+1$ 的边,我们发现,一
        阅读全文
                
摘要:题目链接 一个比较显然的思路就是:我们按照右端点从小到大的顺序(右端点相同按左端点从大到小)去考虑每个好的区间。 由于是连通性问题,不难想到用并查集去实时维护连通性。 根据定义,一个好的区间必定对应了一个连通块;我们考虑的是好的区间,所以当前并查集中的每个连通块必定都是一个区间。而在加入某个点前,这
        阅读全文
                
摘要:题目链接 注:为了方便叙述,在下文中,我们用 \(\text{next}(i)\) 表示第 \(i\) 个人右边的食物,\(\text{pre}(i)\) 表示第 \(i\) 个人左边的食物。 看到题目时一个直观的想法:对于所有 \(c_{\text{pre}(i)}\geq c_{\text{ne
        阅读全文
                
摘要:题目链接 这类题着重于抓住充分条件进行构造。 解决这道题,就得抓住题目中最为特殊的条件:\(s_c\leq {n_c}^2\)。我们不难找出一种关于它的充分条件:\(\max_{u\in S_c}d_u\leq n_c\)。 尝试在此充分条件下设计构造方法:不妨按照 \(d_u\) 进行排序,之后从
        阅读全文
                
摘要:题目链接1、题目链接2 注意到这道题本质就是一个矩形求和矩形赋值的操作。其中满足:对于任意一个点,每次赋予的权值是单调递增的。 这看起但就像是一个二维线段树能做的范畴。但是众所周知,二维线段树的外层无法进行标记上传操作(无法 pushup),故而这题我们考虑标记永久化。同时,为了简化问题,我们先关心
        阅读全文
                
摘要:题目链接 以下设 \(B\) 为一个阈值,同时也表示值域分块的块长。 先考虑所有 \(b\) 都不为 \(0\) 的情况。对于一组询问,我们设一个 \(x\) 表示:当前已搬完所有 \(a\leq x\) 的砖。那么每次只可能是以下两种情况之一: 有至少一摞砖在当前这个单位时间内被搬完 拿 \(x\
        阅读全文
                
摘要:题目链接 先考虑如何判定一个集合是否存在两个异或和相同的子集 \(s,t\),不然解决这道题就是无稽之谈。 根据异或的优良性质,不妨在 \(s,t\) 中分别去掉 \(s\cap t\),之后从 \(s\) 中任意移动 \(|s|-1\) 个元素到 \(t\) 中去,易发现此时两个集合的元素异或和还
        阅读全文
                
摘要:[题目链接](https://codeforces.com/problemset/problem/724/G) 不妨先看一道更为基础的题:[CF845G](https://codeforces.com/problemset/problem/845/G)以及[它的题解](https://www.cnb
        阅读全文
                
摘要:[原题链接](https://codeforces.com/problemset/problem/845/G) 不妨先了解几个前置知识/引理: 异或的抵消性质: * $a\oplus a=0$ * $\forall b[b\not= a],a\oplus b\not=0$ * $(a\oplus b
        阅读全文
                
摘要:不妨先了解几个前置知识/引理: 异或的抵消性质: $a\oplus a=0$ $\forall b[b\not= a],a\oplus b\not=0$ $(a\oplus b)\oplus (a\oplus c)=b\oplus c$ 引理 $1$:$\forall u,v\in\text{Tre
        阅读全文
                
摘要:思路 $1$:一眼 set 维护区间的模板。每次打击一个位置就把区间分裂,重新统计贡献—— $[l,r]$ 这个闭区间最多能放的战舰数为 $\lfloor\frac{(r-l+1)+1}{a+1}\rfloor$($a+1$ 是因为战舰之间有空格)。 思路 $2$:二分答案。其中判断答案是否合法就只
        阅读全文
                
摘要:[题目链接](https://codeforces.com/problemset/problem/765/E "题目链接") ## 题意 给出一颗无根树,你可以钦定一个根,并进行若干次下述操作: * 选择一个点 $v$,以及 $v$ 延伸出去的两条长度相同的路径(两条路径没有重叠的边)。删去其中任意
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号