07 2023 档案

摘要:upd 2023/10/17 : 被人叉了,改了一下。/kk 更优质的阅读体验。 大概就是容斥一下,令: 至少被 1 种操作覆盖的格子数为 S1(允许算重,即一个格子对 S1 的贡献是它被覆盖的次数,下同)。 至少被 2 种操作覆盖的格子数为 S2。 至 阅读全文
posted @ 2023-07-29 15:40 Arghariza 阅读(85) 评论(0) 推荐(0) 编辑
摘要:难点在于卡 `__int128`(?)。 首先 N>K 显然无解,只需考虑 NK 的情况。然而这并没有什么用。 把 b 看作集合,显然 bibi+1。所以令 fn,i 为考虑到 bn|bn|=i 的方案数,集合元素无序,即选 阅读全文
posted @ 2023-07-27 18:17 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:**题意**: - 给定一棵根为 1 的二叉树 T,根上有 x 个水果。 - 某些枝条(二叉树的边)会断掉,留下一个包含根节点的联通块 T。 - 给剩下的 T 中每个点 u 赋点权 au 表示这个点上的水果数量,满足 a1=x 并且 $a_u\ge \sum\ 阅读全文
posted @ 2023-07-27 08:23 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:令 ci=w1iw2i,相当于找到 (r,P),满足: i=0nciri0(modP) 把这个东西写成多项式形式,令 f(x)=i=0ncixi,即找到一个 (r,P)阅读全文
posted @ 2023-07-26 16:52 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:参考了 cmd 的多项式计数杂谈,拜谢。 考虑题目给定的其实就是 x 分布的 PGF F(x)。那么令 Fi(x) 表示操作了 i 轮后 x 的 PGF,则 F0(x)=F(x)。 考虑一次操作对 x 的影响,若操作成了 k: $$[x^k]F_{i}(x)=\s 阅读全文
posted @ 2023-07-24 22:13 Arghariza 阅读(14) 评论(0) 推荐(0) 编辑
摘要:pb 讲课题,还是有点坑的。 考虑到 nk 都很小,可以先将所有点对于 x,y 坐标排序,枚举答案凸包最左边那个点 p。然后设 fi,j 表示走了 i 步,目前位于 j 点的最大面积,答案就是 fk,p。 考虑从 fi1,x 转移到 $f 阅读全文
posted @ 2023-07-24 16:52 Arghariza 阅读(22) 评论(0) 推荐(0) 编辑
摘要:pb 讲课没讲的题,感觉很牛逼啊!但不是牛逼在多项式,因为多项式大家应该都会。 考虑从前往后扫的过程,只要有正面就翻成反面,所以最后只有可能是当 $p_i #define int long long using namespace std; namespace vbzIO { char ibuf[( 阅读全文
posted @ 2023-07-23 21:40 Arghariza 阅读(33) 评论(0) 推荐(0) 编辑
摘要:感觉挺不错的一道题,不过课上 pb 好像没有讲。 显然树的具体形态对题目影响不大,那么我们知道 i=1ndi=2n2 即可扔掉树的条件。即: > 给定 ndi,和为 2n2,求 (x,y) 满足 0xn 且 $\ex 阅读全文
posted @ 2023-07-23 17:18 Arghariza 阅读(56) 评论(0) 推荐(0) 编辑
摘要:小清新 prufer 序列。 > 给定 n,m,求 n 个点且最大度数为 m 的有标号无根树个数。 看到度数,不难想到 prufer 序列。 众所周知,prufer 序列给出了长度为 n2 值域为 n 的序列与带标号无根树的双射。某个点的度数为 du,那么 u 在 p 阅读全文
posted @ 2023-07-21 15:44 Arghariza 阅读(21) 评论(0) 推荐(0) 编辑
摘要:目前为止我是 Luogu 上最优解,不保证后面会不会被神仙同学刷下来,比如 @sinsop90。 upd : 现在不是了,@JWRuixi 用循环展开把我爆踩/ll。 令 ai,0 表示第 i 层上面那个门,ai,1 表示右边的门,bi,0/1 分别表示**它们连向 阅读全文
posted @ 2023-07-21 08:26 Arghariza 阅读(18) 评论(0) 推荐(0) 编辑
摘要:这种点对移动互相感染的题,一般可以建笛卡尔坐标系。每个点 i 坐标为 (Vi,Xi),若有两个点 a,b 的相遇时间为 XaXbVbVa,即 kab。 所以当且仅当两个点连接直线的斜率为负数时,两个点会在时间 $t_{ab}=-k_{a 阅读全文
posted @ 2023-07-21 08:26 Arghariza 阅读(6) 评论(0) 推荐(0) 编辑
摘要:首先如果一开始 AB 相同,可以直接输出 0。 否则 O(n2) 枚举一个被操作的叶子 x,和 x 接到了的 y 点,此时 x 不能再被操作,所以将其当作新树 AB 的根节点。 由于操作是作用于叶子的,所以一个非叶节点想要被操作,当且仅当其所有 阅读全文
posted @ 2023-07-21 08:26 Arghariza 阅读(17) 评论(0) 推荐(0) 编辑
摘要:考虑先手操作完后得到的序列为 bi,后手如何操作得到最大答案。 由于不互质的数不能交换,所以任意一对 i<j,gcd(bi,bi)1,后手操作后相对顺序不变。 所以可以枚举每对不互质的数,编号小的往大的连边,然后用优先队列跑最大拓扑序。 再考虑先手如何操作。 容 阅读全文
posted @ 2023-07-21 08:26 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:神仙题。 由于时间限制 5s,我们可以整点怪的,比如根号分解质因子。 但是直接分解是 O(nw) 的,值域为 w1010,肯定会炸。 毛估估一下,如果需要分解质因数,大概只能分解到 O(w3) 的质数。 我们把小于 $\sqr 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(10) 评论(0) 推荐(0) 编辑
摘要:经典题。 考虑 dp,然后发现你根本 d 不动。 冷静思考,发现原因在于,无法在较小的复杂度内确定选数的状态。 遇到这种情况可以考虑容斥。设 f(i) 表示强制选 i 个位置满足 |pjj|=k。 显然 $\text{ans}=\sum\limits_{i=0}^n(-1)^if(i 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:sweet tea. 手玩一下发现「交换」的性质是具有传递性的,所以考虑一个 O(n2) 做法: 枚举每个点对,如果满足交换条件,则连双向边。显然一个连通块内的点可以互相交换,而不同连通块之间互相独立。答案就是 $\prod\limits_{i=1}^m\dbinom{size_i}{s_{i 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:简单题。 发现 m 很小,所以一个箱子可以用一个二进制数 ai 表示,值域 w=220。然后就变成取出若干个 ai 使得或起来为全集的方案数。 将所有 ai 按位取反,即求若干个 ai 与起来为空集的方案数,就是[这题](https://www.luogu.co 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:[更好的阅读体验。](https://www.cnblogs.com/Ender32k/p/17125914.html) 假设值域为 v105,显然每个质因数 p 独立,考虑计算每个 p 对答案的贡献。 p 对答案的贡献次数为 $\sum\limits_{S\subset 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:好像挺神奇的,也可能是我菜。 以下称前 n1 条边为「树边」,因为它们组成一棵树;后 n1 条边为「回边」,因为它们由树节点回到根。 就是对于一个询问,如果 vu 的子树内,发现无论如何答案都要包括 uv 的只经过树边的路径。那么只走这条路径一定是最优的,直接维 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(52) 评论(0) 推荐(0) 编辑
摘要:upd 2023/3/16:更改了时间复杂度的错误。 ~~其实是暴力。~~ 因为这是模板题,所以模板的前置知识也要讲。 - 前置知识:FWT 计算或卷积。 这里只需要掌握快速计算或卷积的方法,所以内容较少。如果向了解更多(比如异或卷积)的话可以去 [P4717](https://www.luogu. 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(13) 评论(0) 推荐(0) 编辑
摘要:太神仙了。 直接子集卷积肯定是不行的,1s 的时限和 62MB 的空间摆在那里。 那就要考虑使用模 4 的性质乱搞了。 我们考虑给每个 i,不管它符不符合条件,赋一个权值。如果 i and j0,它对答案是没有贡献的,否则它能贡献到 $i\ \text{or} 阅读全文
posted @ 2023-07-21 08:25 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:考虑先手必胜的充要条件。 实际上,只要 n 为奇数或者本质不同排列为偶数时先手必胜。 n 为奇数时,先手必胜,答案就是 knn 为偶数时,令 ai 为第 i 个字符出现次数,i=1kai=n。反面考虑,我们相当于求 $\dbinom 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(27) 评论(0) 推荐(0) 编辑
摘要:~~好像不是很难。~~ 有一个显然的状压,设 fS 表示划分完城市集合 S 之后的答案。 fS=Tf(ST)iTwiiSwi 要求 T 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(34) 评论(0) 推荐(0) 编辑
摘要:难点在于读题。 由于每个人有 6 种选法,答案其实就是某个人赢两次的方案数。 由于三个人本质没有差别,并且一种方案至多只有 1 个人赢两次。所以不妨设 A 赢了两次,答案就是方案数乘 3。 考察 A 对于 B 和 C 的比赛,每个人的投票结果,第 i 个人的投票为 Pi 和 $ 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(6) 评论(0) 推荐(0) 编辑
摘要:这东西在线不太能做,考虑离线扫描。扫描右端点 r,我们对每个位置 l 维护一个 pl 表示最小的 p 使得 [l,p][l,r] 的合法子区间。 考虑如何维护 pl。考虑新加入的右端点 r,加入一个数 ar,上一次出现的位置为 $lst_{a_r}=c 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(11) 评论(0) 推荐(0) 编辑
摘要:这个涂色很容易让人想到均摊的 set 维护,但是有可能修改同一个位置,不太可做。 同样地,我们考虑只带插入不同位置的情况。 考虑一个线段树做法,直接维护整行格子的权值和以及黑色格子的个数。考虑一个修改 (i,j) 相当于区间覆盖 [i,k] ,其中 [i,k] 中修改前白色格子的数量为 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(40) 评论(0) 推荐(0) 编辑
摘要:好神奇的做法,我称其为猪猪(猪笼原理)分治。 记 0,1,? 的个数分别为 a,b,c。有一个显然的 O(2c) 做法,对每个 ? 枚举其为 0/1 即可。 然后我们考虑只有 ?,1 的情况,把所有 ? 当成 0,答案就是一个超集和;同理,对于只有 ?,0 的情 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(11) 评论(0) 推荐(0) 编辑
摘要:### 题意: 给定长度为 n 的序列 aim 次操作,操作分为 3 种: 1. 给定两个整数 l,r,翻转区间 [l,r]。即 al,al+1,...,arar,ar1,...,al。 2. 给定三个整数 l,r,d,对于 $i\i 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(18) 评论(0) 推荐(0) 编辑
摘要:T 是节点数为 n 的那棵树,T 是 Trie 树。带 的,比如 depu,表示 Trie 上的信息(注意到 dep 要从 0 开始),不带的表示原树。[u,v] 表示 uv 的路径,S 是原树上无序点对的全集。 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:其实这题有两种建模方法,因为我都写了,所以两个都讲好了。 一眼二分答案,转为判定性问题: > 给定含有**无向边和有向边**的图 G,判断是否存在欧拉回路。 首先先判掉存在 u2degu 的情况。 不能简单地根据度数判断,考虑网络流建模。 - 方法 1阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:真的一点都不卡啊…… 首先这个最大公倍数 G 明显是诈骗,如果 GL 一定无解,直接判掉。否则我们将 L,XN 都除 GN 之所以能直接除 $\ 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(18) 评论(0) 推荐(0) 编辑
摘要:`divide and conquer`,简单分治题。 显然可以做二维前缀和,考虑令矩阵 (lx1,rx,ly1,ry)(lx,rx,ly,ry),方便统计答案,其实就是左端点减一。 考虑现在按照 x 坐标分治,计算所有跨过 x=mid 的矩形的 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(23) 评论(0) 推荐(0) 编辑
摘要:下面认为 m=n。 有一个显然的暴力:对每个点 (x,y),预处理出另外所有点 (p,q) 是否能到达 (x,y),记为 fp,q,x,y。查询 O(1),但是预处理 O(n4)。用 `bitset` 优化即可做到 $O(q+\frac{n^4}{\omega}) 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:![](https://cdn.luogu.com.cn/upload/image_hosting/rft7d5d2.png) 然而这个经典做法是分治,我不太会做,但这确实是一道经典题。 考虑扫描线,对从左到右每个点 r,统计以 r 作为右端点的区间个数。 由于 r 端点固定,$S(l) 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(37) 评论(0) 推荐(0) 编辑
摘要:大半个月前做的题,现在才写题解,/qd/qd。 贪心,选出 k 个不相交子段的和的最大值,其实相当于每次把序列最大子段拎出来,加上去,然后取相反数。 证明的话可以考虑模拟费用流,inSi 连边,ii+1 连边,iT 连边,边的流量均为 1,$ 阅读全文
posted @ 2023-07-21 08:24 Arghariza 阅读(13) 评论(0) 推荐(0) 编辑
摘要:考虑枚举选出来 i 个**没气**的篮球,那么答案可以表示成: ans=1(nk)i=0k(mi)(nmki)iL 注意到这里的组合数 $\dbinom{n}{m 阅读全文
posted @ 2023-07-20 21:26 Arghariza 阅读(98) 评论(0) 推荐(0) 编辑
摘要:这里只讲[加强版](https://www.luogu.com.cn/problem/CF280D),这是严格弱化。 结论是贪心。每次取出最大和连续子段,目前答案加上这个子段和,然后再把这个子段取反(相反数T),然后求整个过程答案的最大值。 考虑费用流模型。对于 inSi 阅读全文
posted @ 2023-07-20 18:42 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:小清新斜率优化题。 分段问题显然 dp,令 fi 为将第 1 根柱子和第 i 根柱子连接的最小代价。f1=0,每次枚举 i 向前直接连接的柱子: $$f_{i}=\min\limits_{j=1}^{i-1}\left\{f_j+(h_i-h_j)^2+\sum\limits 阅读全文
posted @ 2023-07-20 18:39 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:首先先证明几个引理。 - Lemma \#1: > 长度为 1 的线段上**随机**取 n1 个点,将其分成 n 段,长度最短段的长度期望为 1n2。 证明: 我不知道能不能 Min-Max 容斥,但有更简单的做法。 假设最 阅读全文
posted @ 2023-07-20 18:38 Arghariza 阅读(20) 评论(0) 推荐(0) 编辑
摘要:简单题。 ii 后**第一个** jajai 大的点连边,不难发现最后形成了一棵森林,并且一个点的父亲 fai>i。 题目变成了取 [l,r] 中的点为起点,向祖先方向走去并且终点编号 r 的最长链长度。 考虑离线,维护从每个 阅读全文
posted @ 2023-07-20 18:38 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:简单题。 先把树拍扁成序列,在 dfn 序上区间修改区间查询。 由于时限 4s,我们可以整点怪的,比如 `bitset`。 把区间内的数有/没有表示成 01 序列,考虑到区间加取模相当于区间内的数全部**循环右移**,用 `bitset` 可以做到 O(mω)。 然后 阅读全文
posted @ 2023-07-20 18:35 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:简单题,不知道为啥和[弱化版](https://codeforces.com/problemset/problem/526/F)一个 Difficulty。 考虑弱化怎么做。 区间 [l,r] 中的数是连续的,当且仅当区间最大值 max 减去区间最小值 minrl,即 $ 阅读全文
posted @ 2023-07-20 18:35 Arghariza 阅读(16) 评论(0) 推荐(0) 编辑
摘要:不难发现答案 15,极限的情况大概就是 aabbccgghh,此时跳一步和走一步等效。 这启示我们固定点 i,统计 d(i,j)=D,j15 的贡献。 为了方便,以下称从 ii+1i1 为「走」,在相同颜色的点之间移动为「跳」。对于既可 阅读全文
posted @ 2023-07-20 18:34 Arghariza 阅读(13) 评论(0) 推荐(0) 编辑
摘要:想复杂了…… 这种分到两边的问题,考虑建立费用流模型,建立两个点 A,B 表示分到 A 的数或者分到 B 的数: - SA,流量 p,费用 0。 - SB,流量 s,费用 0。 - Ai[1,n],流量 1,费用 ai阅读全文
posted @ 2023-07-20 18:34 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:列出转移方程就是傻鸟题了,具体地,令 fi,j 为前 i 球取出 j 组的方案数,有: fi,j=fi1,j1+fi1,j+fi2,j1 列出 fi 的 GF Fi(x): $$F_i(x)=F_{i-1}(1+x)+F_{ 阅读全文
posted @ 2023-07-20 18:32 Arghariza 阅读(6) 评论(0) 推荐(0) 编辑
摘要:为数不多不用多项式科技的单位根反演题。 A 不降比较难搞,所以首先令 Bi=Ai+i1,则 B 单调递增。转化为对任意的 k[0,MOD1],求在 [0,N+M1] 中选 N 个**不同**的数,总和对 MOD 取模为 k 阅读全文
posted @ 2023-07-20 18:32 Arghariza 阅读(22) 评论(0) 推荐(0) 编辑
摘要:煎蛋提。 不妨令 g(i)=(1)f(i),由 f(i) 的和性不难推出 g(i) 为**完全积性函数**,因此可以考虑杜教筛。 考察 g(n) 和恒等函数 I(n)=1 的卷积 gI,不难发现 $(g*I)(p^k)=\sum\limits_{i=0}^kg(p^ 阅读全文
posted @ 2023-07-20 18:30 Arghariza 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目中说 n 个点的无向完全图有 n!2 条哈密顿路径。如果我们考虑方向(即每条路径钦定起点终点)的话,一共就有 n! 条了,因为一条路径 (u,v) 可以钦定 uvvu。为了方便符号表达,**以下都按照哈密顿路径数为 n! 即路径 阅读全文
posted @ 2023-07-20 18:29 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:先考虑只能放**整点**的情况,不难想到考虑 dp。 对于环上的 dp,考虑**断环成链**,即钦定一条线段的左端点为**起点**。这里我们令长度**最长**的线段的左端点为环的起点。 这样做有一个好处:我们不用考虑**一条线段把环末尾覆盖再覆盖开头的空**的情况,而当我们钦定一个长度较小的线段作为 阅读全文
posted @ 2023-07-20 18:28 Arghariza 阅读(14) 评论(0) 推荐(0) 编辑
摘要:考虑一个**横向**单调数列 a<b<c 如何形成,我们**从小到大**填数,填到 b 时,假设 b 填在 (x,y) 处:若 (x,y1),(x,y+1) 两个格子上**恰有一个位置有值**就寄了。纵向的单调数列类似。 于是填数的过程中,我们只关心每个格子上有/没有数。如果这 阅读全文
posted @ 2023-07-20 18:27 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:应该是最简单的做法,同时也是 AT 官方题解做法。 考虑计算 min1ijn|aiaj|,乘二即为答案。 考虑 n 个线段中使 lx 最大的 x 以及使 ry 最小的 y。 - 若 lxry,那么 阅读全文
posted @ 2023-07-20 18:27 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:一个 O(n3logn) 的做法。 我们考虑枚举在环上连向外部的那个点 u,然后再在点集 {1,2,u1,u+1,n1,n} 的导出子图中跑 Floyd,枚举 u 在环上相邻的两个点 x,y,答案就是 $d_{x,y}+w_{x,u}+w 阅读全文
posted @ 2023-07-20 18:26 Arghariza 阅读(18) 评论(0) 推荐(0) 编辑
摘要:拉插优化 dp 在卷怪们眼里已经变成套路了吗,害怕。 考虑一个 dp 的推。设 fu,i 表示 u 子树中填 [1,i] 符合题目条件的方案数,此时不强制 ui,所以有: $$f_{u,i}=f_{u,i-1}+\prod\limits_{v\in \text{son 阅读全文
posted @ 2023-07-20 18:26 Arghariza 阅读(10) 评论(0) 推荐(0) 编辑
摘要:### Description 给定 N,M,求对于所有 N 个点的,满足恰有 M 条从小连向大的边,即 $\sum\limits_{(u,v)\in E}[u 给竞赛图每个 SCC (强连通分量)缩点后,剩下的是由一条**极长**的链与某些前向边组成的图。 于是 SCC 的数量能够转换 阅读全文
posted @ 2023-07-20 18:26 Arghariza 阅读(39) 评论(0) 推荐(0) 编辑
摘要:参考官方题解。 你发现这个覆盖不太好考虑,考虑时间倒流,变成如下形式: > 一开始,小 A 的位置上有一个数 an,然后对于接下来 n1 步,每次小 A 可以向左走/向右走/不动,然后如果此时小 A 所站的位置上**没有数**,就写上 ai,求最后形成序列的最长上升子序列长度。 考 阅读全文
posted @ 2023-07-20 18:25 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:应该是一个很通用的解法。 一个显然的分段 dp: > fj,i 表示前 i 个数分 j 段的方案数,fj,imink=0i1fj1,k+w(k+1,i)。 可以滚动数组,$f_{i}\gets \min\limits_{ 阅读全文
posted @ 2023-07-20 18:25 Arghariza 阅读(27) 评论(0) 推荐(0) 编辑
摘要:根据唯一分解定理,令 x=p1q1p2q2pmqm,y=p1k1p2k2pmkm,则 $\text{lcm}(x,y)=p_1^{\max(q_1,k_1)}p_2^{\max(q_2,k_2)}\cdots 阅读全文
posted @ 2023-07-20 18:24 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:这个人赛时只过了这题,但是同学 @[sinsop90](https://www.luogu.com.cn/user/141599) 赛时只没过这题,怎么会是呢? 考虑到 s,t 之间路径必须经过关键点,假设这个关键点为 k,那么路径形式一定是 skt(废话)。 画一下图发 阅读全文
posted @ 2023-07-20 18:23 Arghariza 阅读(25) 评论(0) 推荐(0) 编辑
摘要:考虑如何判断一个方案是合法的,很容易想到贪心,从左到右考虑第 i 棵树: - 如果这棵树能向左倒即 [xik,xi] 没有被占据,就向左倒。 - 否则向右倒。 显然向左倒对之前已经倒下的树没有影响,而对后面的树来讲,这棵树向左倒能留下尽量多的空间,所以优先向左倒一定不劣。 所以考虑一个 阅读全文
posted @ 2023-07-20 18:23 Arghariza 阅读(12) 评论(0) 推荐(0) 编辑
摘要:本来这篇题解是想在中考前写的,但是直到考前都没调出来,原因是 `pow()` 的精度感人。 由于 x0(modab),令 c=xab,答案即 abcn 的**无序**三元组 (a,b,c) 数量。 考虑把无序转成有序,即 $a\ 阅读全文
posted @ 2023-07-20 18:23 Arghariza 阅读(5) 评论(0) 推荐(0) 编辑
摘要:你也许说得对,但我是真看不懂第一篇题解那个答案式子…… 预处理是差不多的。 设 fu 表示从 ufa(u) 的期望步数,gufa(u)u 的期望步数,duu 的度数。 那么显然有: $$f_u=\frac{1}{d_u}\left(1+\su 阅读全文
posted @ 2023-07-20 18:22 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:这个期望显然是诈骗,即统计每种排列最大前缀和之和。 对于某个排列 a,令 s(l,r)=k=lrak。考虑前缀 [1,i] 成为答案的**充要条件**: - 1i,s(i+1,j)<0,否则加上这段不劣(钦定取的是**最大并且最靠后** 阅读全文
posted @ 2023-07-20 18:22 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:简单题。 每个点 (i,j) 二分处理出 pi,j 表示在这个点上面能放的**最大的集装箱大小**,这部分二分就可以做到 O(n2logn)。 然后就相当于选择一条从 (Ax,Ay)(Bx,By) 的路径,使得路径上 p 值最小的点最大。 这是经典套 阅读全文
posted @ 2023-07-20 18:21 Arghariza 阅读(5) 评论(0) 推荐(0) 编辑
摘要:类似随机游走,令 fi 为第一次操作到 i 的期望操作次数,pi 为每次操作数为 i 个概率,显然有: $$f_i=\begin{cases}0&i=0\\1+\sum\limits_{j\;\text{xor}\; k\ =\ i}p_jf_k &i\neq 0\end{cas 阅读全文
posted @ 2023-07-20 18:20 Arghariza 阅读(13) 评论(0) 推荐(0) 编辑
摘要:考虑只有一次询问的时候怎么做。 显然的 cdq 分治,每次分治区间 [l,r],统计跨过 p=l+r2 的区间的个数。可以枚举区间左端点,由于右端点右移时区间或单调非降,可以双指针维护。 充分发掘题目条件,由于是区间或,还有一个很套路的性质:一个 阅读全文
posted @ 2023-07-20 18:20 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:好像有道题是求生成树权值和的和的,考虑 TeE(T)we 咋做。 每条边给一个边权 ve(x)=1+wex,然后跑矩阵树: $$\text{ans}=[x]\sum\limits_{T}\prod\limits_{e\in 阅读全文
posted @ 2023-07-20 18:19 Arghariza 阅读(15) 评论(0) 推荐(0) 编辑
摘要:一个月前做的题,放在现在写题解。其实还有一道半年前的,但不想写了。 这个最大值其实是诈骗,考虑计算每种权值的方案数。 考虑把位运算当成加法,此时答案如何计算。那么每条边边权就变成了 w(x)=xvv 为权值。然后跑矩阵树定理: $$c_i=[x^i]\sum\limits_{T\in G 阅读全文
posted @ 2023-07-20 18:19 Arghariza 阅读(6) 评论(0) 推荐(0) 编辑
摘要:这里是加强版,n106。 考虑到最后删剩下括号序列形如 `(((...(()))...))`,想到枚举分界点。 设 p 为当前枚举的分界点,l[1,p] 内 `(` 的个数,r[p+1,n] 内 `)` 的个数,x[1,p] 内 `?` 的 阅读全文
posted @ 2023-07-20 18:19 Arghariza 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Hint 是 n[0,1] 之间均匀随机分布的数的第 k 小值的期望为 kn+1,证明可见[这篇博客](https://www.cnblogs.com/penth/p/9743303.html)。 考虑 Kruskal 求最小生成树的过程。从小到大加入每条边, 阅读全文
posted @ 2023-07-20 18:18 Arghariza 阅读(5) 评论(0) 推荐(0) 编辑
摘要:第一次做这种非合作博弈均衡的题。 显然,当双方均有牌的情况下,先手是不可能直接指定桌牌的:正确的概率为 1m+1,错误的概率为 mm+1,显然 mm+11m+1。 于是先手指定桌牌的情况只能是 n=0阅读全文
posted @ 2023-07-20 18:17 Arghariza 阅读(4) 评论(0) 推荐(0) 编辑
摘要:不知道是怎么想到的。ntf 实在是不平凡的。/bx/bx/bx 你考虑如何判断一个序列是 good 的。设重排后序列 ti 前缀 [1,i] 和后缀 [ni+1,n] 按位或等于 w1[1,i+1][ni,n] 按位或等于 w2。不难发 阅读全文
posted @ 2023-07-20 18:10 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:有一个很蠢但是很好写的做法。 就是你先令 ti 为与起来恰好为 i 的方案数,然后 gi 为与起来子集中有 i 的方案数。 然后 gS=TStT,反演一下变成 $t_{S}=\sum\limits_{T\subseteq S 阅读全文
posted @ 2023-07-20 17:39 Arghariza 阅读(11) 评论(0) 推荐(0) 编辑
摘要:DS 好闪,拜谢 DS。 考虑二进制的情况怎么做,那这两个操作就变成了取反和全局加 1。 建 `01-trie`,如果是 01 反转的话打交换儿子的标记即可。考虑全局加 1,最后一位 01 状态反转,并且反转后为 0 的位置会对前面的位有进位。递归 0 链并顺路交换左右儿子即 阅读全文
posted @ 2023-07-20 17:36 Arghariza 阅读(14) 评论(0) 推荐(0) 编辑
摘要:显然不能考虑所有方案,于是考虑每种连通块对答案的贡献。 把环当作序列,线当作区间,两个点之间有边意味着它们对应的区间有交,并且**互不包含**。 由于互不包含的性质,我们就可以进行 dp 了。 令 fl,r 表示仅考虑 [l,r] 区间内的连边(也就是说外面没有边伸进来),l阅读全文
posted @ 2023-07-20 17:33 Arghariza 阅读(31) 评论(0) 推荐(0) 编辑
摘要:神仙构造。 因为余数相等不好构造,所以想到钦定这个余数为 1,比较直观的方法就是取出一些不相邻的格子,然后它们的权值为其相邻格子的 lcm+1。由于它们权值比较大,称其为**大格子**。 显然**最多能取 n22 个大格子**(棋盘染色取同色即可),那么 阅读全文
posted @ 2023-07-20 17:29 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:捐钱太亏了,我们倒序考虑,于是就变成了抢钱。 于是对于一个点的限制 (au,bu),令 cu=max{0,aubu},表示到这个点之前你至少拥有的钱数,并且到了这个点之后会抢到 bu 的钱。 考虑建立 Kruskal 重构树使得树上每条边 $fa_u 阅读全文
posted @ 2023-07-20 17:26 Arghariza 阅读(10) 评论(0) 推荐(0) 编辑
摘要:首先我们发现在删的数的数量相等的情况下,尽量细分是不劣的。 所以我们可以假设每一段长度至多为 c,同时长度严格 c]。 复杂度 O(n)。 [评测记录。](https://codeforces.com/contest/940/submission/189160602) 阅读全文
posted @ 2023-07-20 17:26 Arghariza 阅读(6) 评论(0) 推荐(0) 编辑
摘要:CF 评分有毒吧,暴力题上 *2900。 先口胡一下,代码等会再写。 首先考虑 ax,y{0,1},那 n 个属性对应的人的状态只有 2k 个,可以把状态相同的属性都合并成一个属性。 取 maxmin 操作就变成了两个人与/或起来。我们可以对每个属性 阅读全文
posted @ 2023-07-20 17:25 Arghariza 阅读(12) 评论(0) 推荐(0) 编辑
摘要:#### 题意 给定非负整数 n,x,y,对于所有满足 i=1nai=x 并且 ORi=1nai=y{an},求 i=1nai 的异或和。 $n\le 2^{ 阅读全文
posted @ 2023-07-20 17:24 Arghariza 阅读(11) 评论(0) 推荐(0) 编辑
摘要:#### 简要题意: 给你两个序列 a,b,一次操作可以将 a 的某一个长度为 k 的子区间全部异或上任意值,f(a,b) 为使得 ab 相同的最少的操作数量。 支持单点修改 a,b,并在开头和每次修改后输出 f(a,b) 的值。 $n,k,q\le 2\tim 阅读全文
posted @ 2023-07-20 17:23 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:对于一个询问 [l,r],假设 lca(l,l+1,...,r)=u。 如果删去了点 x,使得 lcau 下移到了点 v,说明 x 一定在 u 的子树内并且不在 v 的子树内。 这样顺序好像不太对,这样说吧: 如果你想让答案从 $ 阅读全文
posted @ 2023-07-20 17:21 Arghariza 阅读(8) 评论(0) 推荐(0) 编辑
摘要:#### Description 设 f(x,y)x+y 的二进制进位数(即 f(x,y)=g(x)+g(y)g(x+y) ,其中 g(x)x 的二进制表示中 1 的个数)。 给定两个整数 nk ,求出满足$0 \leq a,b #define i 阅读全文
posted @ 2023-07-20 17:20 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:分块,但是带 log。 先离散化,然后值域就变成 O(n) 的了。 我们先对每个点维护一个 `bitset`,那么显然答案就是 uv 路径上所有点的 `bitset` 或起来后 1 的个数。 然后可以树链剖分,把链拍成序列,并且对树链剖分后的 `dfs` 序维护 $\sq 阅读全文
posted @ 2023-07-20 17:20 Arghariza 阅读(14) 评论(0) 推荐(0) 编辑
摘要:#### Description 给定一个有 n 个点 m 条边的**有向强连通图**。称一个点是**好的**当且仅当它到其他点都有且只有一条**简单路径**。如果好的点至少有 20% 则输出所有好的点,否则输出 `-1`。 $\sum n\leq 10^5,\sum m\leq 2\ 阅读全文
posted @ 2023-07-20 17:18 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:考场花了一张 A4 的草稿纸在这题上面……还导致 T4 没时间调了。 你要是想看我 T4 挂的多惨可以去看[ T4 题解](https://www.luogu.com.cn/blog/Ender32k/p8819-ti-xie)。 不难发现其实就是给一个 a1,a2,...,an 和一个 阅读全文
posted @ 2023-07-20 17:17 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:赛时因为 T4 这题一眼没看,事后发现真的神仙。 简化题面后条件为: 1. 所有点出度为 1。 2. 从所有点走出去都能走到环上。 不难发现条件仅为判断所有点出度为 1,即判断是否是一个**内向基环树森林**。 再看操作: 1. 删掉一条边 (u,v) 2. 对于 u,将所有边 $( 阅读全文
posted @ 2023-07-20 17:16 Arghariza 阅读(13) 评论(0) 推荐(0) 编辑
摘要:写一下题解,顺便纪念一下考场上少加一个等号挂 100 分的事实。 比今年简单的 csps 不多了……希望 noip 不要寄成这个狗样。 如果说错了请线下打我。 考虑搬到序列上的做法,即给你 w1,w2,...,wn,求 (l,r) 中取若干数,构造序列 $p_1=l,p_m=r,\fo 阅读全文
posted @ 2023-07-20 17:16 Arghariza 阅读(29) 评论(0) 推荐(0) 编辑
摘要:根据不知从何而来的传统,考前需要写数据结构。 ### Part 1 如何判断二分图 你要是用染色法暴力过了这道题那就只能说是真神仙…… 但是我们可以使用染色的思想。 考虑到颜色数不多,可以开 k 个**拓展域并查集**,对于原图每个点我们拆成两个:ii+n,如果 i+n 和 $ 阅读全文
posted @ 2023-07-20 17:15 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一发最优解祭( ### Description 给定一棵树,节点 1n 标号,q 个操作,你需要维护一个路径**可重**集合 P,操作一共三种: 1. 向 P 集合加入 uv。 2. 在 P 集合中删掉 uv(保证操作之前有加入,并且**只删一个 阅读全文
posted @ 2023-07-20 17:14 Arghariza 阅读(7) 评论(0) 推荐(0) 编辑
摘要:发现挨位考虑填哪个不太现实,考虑值域。 令 dpi,j,st 表示考虑到 i,此时序列长度为 jimi1 填空状态为 st 的方案数,考虑选/不选数即可: $dp_{i,j,st}\times (\text{popcount}(st)+1)\to dp_{i 阅读全文
posted @ 2023-07-20 17:13 Arghariza 阅读(10) 评论(0) 推荐(0) 编辑
摘要:首先如果 2k>n,答案为 n。 否则 klog2n,然后就可以令 dpi,j 表示前 i 个数分 j 段的最小答案。 dpi,j=mink=1i{dpk1,j1+c(k,i)}。 考虑到: $$\beg 阅读全文
posted @ 2023-07-20 17:13 Arghariza 阅读(9) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩