10 2020 档案

摘要:当 di 互不相同时,建出树后,按树的后序遍历,优先遍历编号小的点得到的顺序,di 从大到小填,即为最优解。 但 di 不保证互不相同时,这个贪心就不对了。设 fi[1,i] 中有多少个 di 可以填,那么所有满足 \(\min\lim 阅读全文 »
posted @ 2020-10-31 22:30 lhm_liu 阅读(322) 评论(0) 推荐(0) 编辑
摘要:总子矩形个数减去内部没有资源点的子矩形个数即为答案。 考虑枚举子矩形的下边界,从上到下进行扫描。对列建笛卡尔树,其中序遍历为下标,维护堆性质的权值为该列上点的行数最大值。然后在笛卡尔树上的每个节点统计贡献。 扫描时需要支持单点修改权值,那么直接用 FHQ Treap 建笛卡尔树即可,因为数 阅读全文 »
posted @ 2020-10-31 21:51 lhm_liu 阅读(196) 评论(0) 推荐(0) 编辑
摘要:建立图论模型,xx+lowbit(x) 连边。当 k 为奇数时,因为 k2,所以 x 无论加多少次 lowbit(x),\(\operatorname{lowbit}(x) 阅读全文 »
posted @ 2020-10-31 20:06 lhm_liu 阅读(299) 评论(0) 推荐(1) 编辑
摘要:先对式子进行转化: $$ \large\begin{aligned} &\sum_S(f(S))^k \ =&\sum_S\sum_{i=0}^k{k\i}\binom{f(S)}{i}i! \ =&\sum_{i=0}^k\begin{Bm 阅读全文 »
posted @ 2020-10-27 22:17 lhm_liu 阅读(166) 评论(0) 推荐(0) 编辑
摘要:先考虑这样的一个问题:有 n 种颜色的球,每种有 bi 个,求满足相邻不同色的排列的方案数。CF840C On the Bench 考虑容斥,枚举有多少个违反了相邻不同色的限制,违反后可以将相邻同色的球看作一个整体,枚举有 ci 段相邻,得: \[ \large\begi 阅读全文 »
posted @ 2020-10-26 22:12 lhm_liu 阅读(284) 评论(1) 推荐(0) 编辑
摘要:发现若 Gi,j=A,则 i,j 一定在同一个强连通分量中,而同一个强连通分量中不能存在 X,因此先将满足 Gi,j=Ai,j 进行缩点,然后通过 X 判断是否无 阅读全文 »
posted @ 2020-10-24 22:15 lhm_liu 阅读(271) 评论(0) 推荐(0) 编辑
摘要:因为一个 xi 不会出现超过两次,因此将有相同 xi 的表达式之间连边,得到的图为若干链和环。 设 fi,0/1,0/1,0/1 为考虑了链或环的前 i 个点,第一个点的状态,上一个变量的状态,现在的异或和状态的方案数,分类讨论来转移,最后将所有连通块的信息 阅读全文 »
posted @ 2020-10-24 21:18 lhm_liu 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #633 (Div. 1) A 最优情况一定是只在必须的位置增加,记录最大增量,取 log2 即为答案。 B 最小值:叶子节点两两间的距离都为偶数时,答案为 1,否则答案为 0,以任意一个叶子节点为根 dfs 即可判定。 最大值:先将答案 阅读全文 »
posted @ 2020-10-23 12:46 lhm_liu 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #647 (Div. 1) - Thanks, Algo Muse! A 权值从小到大填,确定一个点的权值后,更新其相邻点的 mex。 B 先将 ki 从大到小排序,将 pki 分到当前和较小的集合中, 阅读全文 »
posted @ 2020-10-22 21:54 lhm_liu 阅读(254) 评论(0) 推荐(0) 编辑
摘要:暴力的做法就是将区间 [l,r] 内的数都插到 AC 自动机中,然后 DP 确定字符串。 需要进一步优化,先转化为 r 的贡献减 l1 的贡献,那么接下来就只用考虑形如 a 的限制了。\(A 阅读全文 »
posted @ 2020-10-21 11:50 lhm_liu 阅读(251) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #626 (Div. 1, based on Moscow Open Olympiad in Informatics) A 设 si 为前缀左括号个数减右括号个数,每一段 si<0 的区间都需要操作,操作还需包含一段负区间末尾 si=0 阅读全文 »
posted @ 2020-10-20 12:04 lhm_liu 阅读(441) 评论(2) 推荐(3) 编辑
摘要:最大化 f(x)=|sin(pqπx)| 就是让 pxq 越接近 12+k,即 pxq 的小数部分 \(\frac{px \bmod q}{q} 阅读全文 »
posted @ 2020-10-19 22:10 lhm_liu 阅读(213) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #625 (Div. 1, based on Technocup 2020 Final Round) A \[ \large\begin{aligned} c_{i+1}-c_i&=b_{c_{i+1}}-b_{c_i},\forall i \in [i,m) \\ 阅读全文 »
posted @ 2020-10-17 21:33 lhm_liu 阅读(201) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #639 (Div. 1) A \[ \large\begin{aligned} x+a_{x \bmod n}&=y+a_{y \bmod n} \\ x-y&=a_{y \bmod n}-a_{x \bmod n} \\ k_1n+i-(k_2n+j)&=a_j 阅读全文 »
posted @ 2020-10-16 21:07 lhm_liu 阅读(214) 评论(0) 推荐(0) 编辑
摘要:节点深度转化为有多少个节点为该节点的祖先,得 ba 在笛卡尔树上的祖先的充要条件是 pb 是区间 [min(a,b),max(a,b)] 的最小值。原问题就转化为对于每个 b 统计有多少个逆序对为 kn 阶排序满足 \(p_b 阅读全文 »
posted @ 2020-10-15 22:31 lhm_liu 阅读(295) 评论(0) 推荐(1) 编辑
摘要:将序列对应到笛卡尔树,发现每棵笛卡尔树只对应一种合法序列。因为在笛卡尔树上往左走其对应的数至少减 1,往右走不一定减 1,所以这棵笛卡尔树从根节点往左走的次数要 m,题目就转化为了统计有多少棵 n 个节点的合法笛卡尔树。 笛卡尔树是二叉树,因为二叉树和括号 阅读全文 »
posted @ 2020-10-15 21:30 lhm_liu 阅读(256) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #606 (Div. 1, based on Technocup 2020 Elimination Round 4) A 只有 one 时删 n,只有 two 时删 w,出现 twone 时删 o。 B 发现 \(a, 阅读全文 »
posted @ 2020-10-14 20:15 lhm_liu 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #609 (Div. 1) A 若 ba 的前 k 位后循环得到的数已经 a 了,则其为最优解,否则答案在第 k 位加 1 后再循环得到的数。需要注意处理进位。 B 放骨牌为二分图匹配,得答案为黑 阅读全文 »
posted @ 2020-10-13 20:10 lhm_liu 阅读(199) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #564 (Div. 1) A 最优情况一定是先打出若干张空白牌后就一直不打空白牌了。设 posii 这个数在牌堆中的位置,若一张空白牌都不打就能完成则其为最优,否则答案为 \(\max\limits_{i=1}^n pos_i+n-i+1\ 阅读全文 »
posted @ 2020-10-12 22:30 lhm_liu 阅读(135) 评论(0) 推荐(0) 编辑
摘要:考虑将询问离线,固定右端点 i,这里只考虑满足 j<i,aj>ai 的答案,因为将 ai 的值域翻转后再做一遍就能得到所有情况。询问就是查询对于每个位置 j 得到的答案的后缀最小值。 用权值线段树就能找到满足 j<i,aj>ai 的最大位置 \(j\ 阅读全文 »
posted @ 2020-10-10 20:33 lhm_liu 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #530 (Div. 1) A 因为 ax0ysonx,sxsy,所以对于深度为偶数的点 x,当 \(s_x=\min\limits_{y \in son_x} 阅读全文 »
posted @ 2020-10-09 21:21 lhm_liu 阅读(171) 评论(0) 推荐(0) 编辑
摘要:设 d=gcd(n,m),得在同一天一起玩的男生女生的编号一定在modd 的意义下相等,那么男生女生的编号按modd 的值分组,考虑每一组的答案,取 max 即为所求。 由裴蜀定理得,每组只要有一个人快乐,那么最后组内所有人都会快乐。根据抽屉定理,当 \(d> 阅读全文 »
posted @ 2020-10-09 07:50 lhm_liu 阅读(199) 评论(1) 推荐(0) 编辑
摘要:先只考虑根节点是否合法。发现两个来自不同子树的点可以消去,那么只需判定所有点能否两两消去,使心停留在根节点即可。 发现其可以转化为一个模型:有若干个集合,每个集合内有若干个点,每次可以消去两个来自不同集合的点。设集合点数总和为 sum,最大集合点数为 max,得: \(sum-\m 阅读全文 »
posted @ 2020-10-08 21:45 lhm_liu 阅读(189) 评论(0) 推荐(0) 编辑
摘要:先转化为总方案数减去每个子串都大于等于 S 的方案数。 设 T 为所统计的字符串。对 S 构建 kmp 自动机,自动机上的每个节点只保留转移到根节点和转移到 next 链上字符最大的节点两种转移路径,因为如果 T 在匹配时不走最大的字符, 阅读全文 »
posted @ 2020-10-07 22:08 lhm_liu 阅读(223) 评论(1) 推荐(0) 编辑
摘要:不难发现题目中的每个限制可以进行转化: maxi=lr{hi}=mi[l,r],himi[l,r],hi=m 求出每个位置的上界,得 \ 阅读全文 »
posted @ 2020-10-07 21:37 lhm_liu 阅读(287) 评论(0) 推荐(0) 编辑
摘要:只需考虑每次加入后答案的增量,即增加的子串的答案。 发现有贡献的子串为 border,那么每次就只需维护 border 集合的变化。若子串 [1,pos] 为子串 [1,i] 的一个 border,则 $s_{pos+1}=s_{i+1} 阅读全文 »
posted @ 2020-10-06 17:19 lhm_liu 阅读(378) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示