cf记录
\(Question:\)给定一个节点为\(n(1 \leq n \leq 2e5)\)的树,定义三元组\((d,u,v)\)为从点\(u\)到点\(v\)的路径长度\(d\),每次选择一个三元组删除从点\(u\)到点\(v\)的路径上的点及相关的边,
并将其从右端加入序列\(A\),要求使序列A的字典序最大。
\(Apparent:\)始终选树的直径删除,维护以每个点为lca的直径\(f[i]\)。
\(Attention:\)每次删除后, 需更新所有祖先节点\(u\)的\(f[u]\),可以暴力更新,因为每次更新的点数一定小于等于此次删除的直径长度,所有直径长度和为\(n\),所以暴力更新总复杂度为\(O(n \log n)\)。
\(Question:\)给定一棵点数为\(2n(1 \leq n \leq 2e5)\)的树,每个点\(i\)有颜色\(a_i(1 \leq a_i \leq n)\),保证每种颜色出现\(2\)次, 要求选定一个联通点集满足:
- 每种颜色至少出现\(1\)次.
- 按编号降序排序后,字典序最小.
\(Apparent:\)考虑不选哪些点,降序排序后,能删则删,如何\(check\)?任选一点为根,动态维护每个点子树内外是否存在不可删点,问题转化为复杂数据结构,代码难度较高。
\(Attention:\)
经典刻画:一个必选根的联通块可由原树删去若干子树得到.
考虑选两个颜色相同的点为根各跑一次,此时\(check\)不需要考虑子树外的点:
- 两个颜色相同的点的\(LCA\)及其祖先不可删.
- 每删去一个点,其子树内的点均删去,对于已删去的点,其对应颜色的另一个点及其祖先不可删.
总时间复杂度:\(O(n \log n)\)
提交记录:code for cf2042E
\(Question:\)给定一个排列p和一个序列c,长度均为\(n\),以此描述一个\(n \times n\)方格图,符合以下规则:
- \(\forall \;1 \leq i \leq n 且1\leq j \leq p_i\),存在一个颜色为\(c_i\)的方格.
- 方格会竖直下落,直到下方存在另一个方格.
计数存在多少个\(p'\)形成的方格图与\(p\)相同,对\(998244353\)取模.
\(Apparent:\)考虑对原排列\(p\)交换元素,\(p_i\)与\(p_j(i < j)\)可交换当且仅当\(i,j\)满足以下条件:
- \(c_i = c_j\).
- \(max_{k=i+1}^{j-1}p_k*[c_k \neq c_i] < min(p_i,p_j)\)
然后?然后就不会了……
\(Attention:\)考虑排列\(p\)中的最小数为\(p_i\),其只能与所属同色联通块中的元素交换,令\(p_i\)可交换的集合为\(S_i\),满足\(\forall j \neq i ,S_i \supseteq S_j 或 S_i \cap S_j = \varnothing\),可以乘法原理,将答案乘上\(p_i\)所属同色连通块大小,并删除\(p_i\),联通块大小减一,重复以上步骤排列为空,以上操作可以通过并查集加链表实现。
总时间复杂度:\(O(n \alpha(n))\)
提交记录:code for cf2064E
cf记录的更多相关文章
- NoSQL数据库笔谈(转)
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- NoSQL数据库笔谈
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- 【题解】「CF1352A」Sum of Round Numbers
应该是纯模拟吧. 直接输入一个字符串,然后一位一位看,如果不是0,就 k++,并计算这个数的真实的值,最后输出就行了. #include<iostream> #include<cst ...
- 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...
- CF练习记录
2018/5/6 Codeforces Round #478 (Div. 2) C http://codeforces.com/contest/975/problem/C Valhalla Siege ...
- 【cf比赛记录】Codeforces Round #605 (Div. 3)
比赛传送门 Div3真的是暴力杯,比div2还暴力吧(这不是明摆的嘛),所以对我这种一根筋的挺麻烦的,比如A题就自己没转过头来浪费了很久,后来才醒悟过来了.然后这次竟然还上分了...... A题:爆搜 ...
- 【cf比赛记录】Educational Codeforces Round 78 (Rated for Div. 2)
比赛传送门 A. Shuffle Hashing 题意:加密字符串.可以把字符串的字母打乱后再从前面以及后面接上字符串.问加密后的字符串是否符合加密规则. 题解:字符串的长度很短,直接暴力搜索所有情况 ...
- 【cf比赛记录】Codeforces Round #601 (Div. 2)
Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...
- 【cf比赛记录】Codeforces Round #600 (Div. 2)
Codeforces Round #600 (Div. 2) ---- 比赛传送门 昨晚成绩还好,AC A,B题,还能上分(到底有多菜) 补了C.D题,因为昨晚对C.D题已经有想法了,所以补起题来也快 ...
- 【cf比赛练习记录】Codeforces Round #579 (Div. 3)
思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Circle of Students 题意 给出n个数,问它们向左或者向右是否都能成一个环.比如样例5是从1开始向左绕了一圈 [3, 2, 1, ...
随机推荐
- docker - [01] docker入门
弱小和无知不是生存的障碍,傲慢才是. -- <三体> 一.相关链接 Docker官网:https://www.docker.com/ 文档地址:https://docs.docker.co ...
- Sqoop增量导入注意事项 incremental lastmodified与target-dir连用报错 Imported Failed: Wrong FS
这里引用一篇博客 写的很好 https://blog.csdn.net/C_time/article/details/101109071
- CF2029C New Rating
思路(二分 + 数据结构优化DP) 大致题意为:一个值 \(x\) 初始为 \(0\),然后有一个数组 \(a\),遍历一次数组. 如果 \(a_i > x\),则 \(x + 1\). 如果 ...
- c# 使用 Read 读取数据块
class Program { static void Main(string[] args) { Stream s = new MemoryStream(); for (int i = 0; i & ...
- 【数值计算方法】线性方程组迭代算法的Python实现
线性方程组迭代算法的Python实现 jacobi,GS,SOR迭代法 def JacobiIter(A:np.ndarray, b:np.ndarray, tol:float=1e-5, maxIt ...
- selenium 进入页面提示 503 Service Temporarily Unavailable
进入三级页面提示503 Service Temporarily Unavailable,如果手动刷新页面重新加载成功 网上看都是如何配置及原因的,没告诉如何解决 于是我想,如果是这样的话,执行刷新操作 ...
- hexo 图片添加水印(png, jpeg, jpg, gif)
文章同步发布:https://blog.jijian.link/2020-04-21/hexo-watermark/ 本文折腾 hexo 图片添加水印功能,大部分代码沿用: nodejs 图片添加水印 ...
- Jupyter Notebook的所有文件ipynb保存下来
前言 如果你想要保存整个 Jupyter Notebook 工作目录,包括所有笔记本和其他相关文件,最直接的方法是将整个文件夹压缩为一个 ZIP 或 TAR 文件. 下载单个文件 压缩文件夹下载 在 ...
- go grpc的入门使用
简介 什么是grpc grpc是一个由google推出的.高性能.开源.通用的rpc框架.它是基于HTTP2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言. ...
- Django实战项目-学习任务系统-配置定时调度任务
接着上期代码内容,继续完善优化系统功能. 本次增加配置定时调度任务功能,学习任务系统定时任务管理添加的定时学习任务,需要通过配置调度任务,定时发布周期性的学习任务. 以及每天定时发送学生用户属性值,积 ...