07 2021 档案
摘要:[国家集训队] Crash 的文明世界 \(\text{Solution:}\) 要用到的恒等式: \(n^m=\sum_{k=0}^n C_{n}^k k! S(m,k)\) 考虑化式子: \(Ans(i)=\sum_{j=1}^n dis(i,j)^m\) \(=\sum_{j=1}^n \su
阅读全文
摘要:题目大意:求 \(\sum_{i=1}^n \rho(i^k)\) 观察一下它的性质:(下面简记 \(p\) 为质数) \(f(p)=\rho(p^k)=k+1\) \(f(p^\alpha)=\rho(p^{\alpha k} )=\alpha k+1\) \(f(ab)=\rho((ab)^k)
阅读全文
摘要:Link \(\text{Solution:}\) 显然的 Min_25 筛。因为题目已经告诉我们:函数是积性函数,并且素数及其次幂处的点值可以快速计算。 先把给的函数拆成若干完全积性函数的和:我们观察到,当 \(p\) 为质数的时候, \(f(p)=p-1.\) 所以我们可以把函数拆成 \(f(p
阅读全文
摘要:[ZJOI2012]网络 \(\text{Solution:}\) 很明显对着颜色分别维护 \(LCT,\) 想法在看到颜色的数据范围后也得到了证实。 那么,怎么维护? 有显然的断边连边操作,还要维护一下链上最大值,直接上 \(LCT.\) 但是题目中的特殊情况很难判断,提出一些小坑: 有可能删掉和
阅读全文
摘要:bzoj3252 攻略 \(\text{Solution:}\) 题目是指每次选择一条链就会把它清空,求选 \(k\) 条链的最大价值。 打眼看上去不知道咋做……想一下这不就是个长链剖分! 维护一个带权的长链剖分,然后直接对每一条链的权值和排序,取前 \(k\) 大就可以了。 因为长链剖分的每一条链
阅读全文
摘要:[POI2014]HOT-Hotels 加强版 \(\text{Solution:}\) 我们先试着观察一下答案的形式,最初我猜是全部长成一个点在上两个点在子树内的,但这样显然漏掉了一些情况:有可能它不是祖先但是到达另外两个点的距离是相同的。 那么应该怎么处理这种问题呢?我们发现即使是这样的情况也一
阅读全文
摘要:离散型随机变量:是一些有限或无限个 概率可列 的随机变量。 非离散型随机变量: 概率不一定可以列出。 对某一问题中所有可能事件,并对所有基本事件赋予一个概率的集合叫做概率空间。 一个无法再分的事件称为基本事件。 注意:基本事件不一定独立。后文证明。 下文中类似地 \(X\) 代表随机变量, \(x\
阅读全文
摘要:CF1372E Omkar and Last Floor \(\text{Solution:}\) 首先一个显然的结论是让每一列的 \(1\) 的个数越多越好。 证明: \((a+b)^2>a^2+b^2.\) 于是我们应该考虑的是怎么让一列的数的和最大。 发现我们可以合并两个区间的答案,而数据范围
阅读全文
摘要:[NOI2015]寿司晚宴 \(Solution:\) 卡在最后没解出来的感觉难受啊……大概只会 \(50\to 70\) 首先一眼看到的就是维护质因数了对吧,但是我们发现对于 \(100\) 以上的数,尤其是到了 \(500\) 质因数的数目就达到了 \(100\) 个了,完全就不是能状压的范畴了
阅读全文
摘要:题目大意 已知序列 \(A\) 以及序列 \(B\) 的和 \(m\) 要求对每一个 \(a_i\) 分配一个 \(b_i\) 使得每次分配完之后 \(a_i+b_i\) 都是 \(A\) 序列中所有数字的最大值。 每次修改完 \(a_i\to a_i+b_i\). Solution: 看到 \(n
阅读全文
摘要:很早很早之前就觉得是一个麻烦的题目也感觉很简单不想写……结果今天写的时候发现之前的想法假了(所以不要口胡题目不写代码) [SDOI2009]学校食堂 \(\text{Solution:}\) 看到 \(b[i]\leq 7\) 的数据范围先想到状压。 考虑状压一个人后面的人的打饭情况,那么可以设 \
阅读全文
摘要:yyy loves Maths VII \(\text{Solution:}\) 一个显然的状压 \(dp\) 是,设 \(f[S]\) 表示状态 \(S\) 中的数已经被选后的所有胜利方案数,那么最终的结果就是 \(f[2^n-1]\) 那么对于转移,我们直接枚举它的二进制下 \(1\) 的位置,
阅读全文
摘要:[SDOI2009]Bill的挑战 \(\text{Solution:}\) 最初的 naive 想法是直接枚举子集算出每个子集中全部匹配的对应 \(T\) 串的个数,但是脑残到最后写完才反应过来会算重…… 但好像用二项式反演还能搞回来(雾) 考虑 dp : 设 \(dp[i][j]\) 表示填充好
阅读全文
摘要:邦邦的大合唱站队 \(\text{Solution:}\) 设计状态 \(f[i]\) 表示在状态$i$拼齐的情况下需要的最小出队人数。 那么如果要拼进来一个 \(j\) 那么,就需要把 \(j\) 乐队所有人都拿出来。 但是,处于原本就需要拼的位置的人不用,这部分的人是从 \(statePre\)
阅读全文
摘要:\(A:\) 题意:区间加一,询问区间颜色数目。 \(35pts:\) 考虑用 bitset 维护颜色,用 $st$表 做到一个 \(\log\) 预处理以及 \(O(1)\) 回答询问,合并答案 \(O(\frac{n}{w}).\) \(100pts:\) 答案中可能出现的数只有 \([1,n+
阅读全文
摘要:[SDOI2008]Sue的小球 \(\text{Solution:}\) 长得很像区间 \(dp\) 对吧,那猜的也差不多了。 注意到有一个全局的总时间对答案造成影响,考虑把它给计算进 \(dp\) 值里面。 也就是 \(2009\) 年论文说到的: 费用提前计算 其实是一个很简单的套路:把每一次
阅读全文
摘要:[GXOI/GZOI2019]宝牌一大堆 \(\text{Solution:}\) 从 \(8kb\) 代码改到 \(11kb\) 最后封装到 \(5kb\) ……封装 yyds dwt yyds 学到最大的除了 \(dp\) 应该是调试技巧和封装的重要性了…… 方程可能写的有点奇怪)看看能不能帮到
阅读全文
摘要:[HAOI2015]树上染色 \(\text{Solution:}\) 考虑对于一个点,从它子树再中选择 \(k\) 个黑点的代价:\(e[i].dis \cdot (p-k)*k+(siz[j]-k)*(n-p-siz[j]+k).\) 于是状态转移方程就写好了: \(dp[x][T]=dp[x]
阅读全文
摘要:先把晚上打的 CF 题目写上: A 考虑看题猜答案,显然是 \(abs(a-b).\) 考虑移动的步数,令 \(t=abs(a-b),\min step=\left\{a\bmod t,t-a\bmod t\right\}.\) B 考虑猜结论,首先一个结论显然是要将车辆平均分,所以先将总人数算出来
阅读全文
摘要:The least round way \(\text{Solution:}\) 第一种想法:设 \(dp[i][j][k]\) 表示格子 \((i,j)\) 尾数是 \(k\) 的最少零的个数,转移需要枚举尾数。 由于要输出路径,空间开不下而 GG . 第二种:考虑为什么会出现 \(0:\) 十进
阅读全文
摘要:好久没写 \(dp\) 老师却开了一场 \(dp\) 基础场 挂的很惨…… T1 Acwing271 观察到 \(k\) 的范围很小。那么我们可以把每一层的状态全部表示出来: 设 \(dp_{i,j,k,l,m}\) 表示五层 按顺序 分别放了 \(i,j,k,l,m\) 个人的方案数。 由于我们已
阅读全文
摘要:[国家集训队]middle \(\text{Solution:}\) 考虑一个定区间怎么找中位数。 有一个套路:二分一个答案 \(mid\) ,将大于等于 \(mid\) 的数设为 \(1,\) 其他设为 \(-1.\) 那中位数一定是让区间内的数和为 \(0\) 的数。 关于这里的边界,根据题目要
阅读全文
摘要:[SCOI2016]美味 \(\text{Solution:}\) 第一种感觉是可持久化 Trie 的样子。但是如果这样做, \(x\) 的限制是没有办法消去的。 这里陷入了某种错误的思考状态,发现 Trie 上分类讨论无果,从题解中学到了另一种做法: Trie 树的本质是每一个节点下的子树都代表了
阅读全文
摘要:Count on a tree \(\text{Solution:}\) 就是一个树上静态第 \(k\) 小。 考虑对于一个点 \(x\) 维护一棵主席树,它的信息是 \([root,x].\) 这样对于一条路径 \(<s,t>\) ,它的信息可以用树上差分的思想来统计: \(cnt=root[s]
阅读全文
摘要:Problem \(\text{Solution:}\) 这题唯一需要学习 or 复习的点就是它的查询了。 这东西一眼的维护左右最长连续的 \(0\) 的长度就做完了。标记什么的都很简单。代码量略微大一点。 注意在询问的时候: 如果完全在左右区间,就分别递归。 否则,我们还需要考虑跨越区间的最值。那
阅读全文
摘要:Problem \(\text{Solution:}\) 考虑用 fhq_treap 来实现这个东西。 每次的新建版本,我们可以新建一个根,并直接利用 merge 和 split 操作在上一个版本上利用信息。 注意 split 和 merge 中都需要新建节点,否则会影响之前版本的结构。 #incl
阅读全文
摘要:[CTSC2018]混合果汁 \(\text{Solution:}\) 题目有三个限制:饮料体积的限制、要求的饮料总体积限制、总价格限制。 首先,美味度最大是我们一定要满足的条件。考虑如何让它变得好维护: 将饮料按照美味度排序,并按顺序建立主席树。 这样,\(root_i\) 所对应的区间 \([1
阅读全文
该文被密码保护。
摘要:Problem \(\text{Solution:}\) 如果一个字符串重排可以构成回文串那么其中出现次数为奇数次的字符一定不超过一个。 第一种思路:对每一个点,每一种颜色分别维护一个权值线段树,以深度为序建立,每次 \(|E|\) 次查询即可。( \(|E|\) 是字符集大小) 战绩: \(\co
阅读全文
摘要:1. 区间最大子段和,区间乘 \(-1,n,m\leq 10^5.\) 考虑维护从左边开始、从右边开始的最大、最小子段和以及区间最大、最小子段和。 乘的时候相乘交换即可。 2. 单点修改,求区间单调栈大小。 楼房重建 的加强版:区间询问。 考虑维护区间信息(合并信息):类比楼房重建的 pushup
阅读全文
摘要:Problem \(\text{Solution:}\) 题意很清楚:维护有序三元组 \((a,b,c),a,k\) 已知,使得 \(a,b\in ancestor_c,\text{dis(a,b)}\leq k.\) 观察到 \(c\) 的祖先一定在一条链上。分类讨论一下: 若 \(dep_b<d
阅读全文