cf2107D

\(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)\)。

cf2042E

\(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

cf2064E

\(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记录的更多相关文章

  1. NoSQL数据库笔谈(转)

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  2. NoSQL数据库笔谈

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  3. 【题解】「CF1352A」Sum of Round Numbers

    应该是纯模拟吧. 直接输入一个字符串,然后一位一位看,如果不是0,就 k++,并计算这个数的真实的值,最后输出就行了. #include<iostream> #include<cst ...

  4. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

  5. CF练习记录

    2018/5/6 Codeforces Round #478 (Div. 2) C http://codeforces.com/contest/975/problem/C Valhalla Siege ...

  6. 【cf比赛记录】Codeforces Round #605 (Div. 3)

    比赛传送门 Div3真的是暴力杯,比div2还暴力吧(这不是明摆的嘛),所以对我这种一根筋的挺麻烦的,比如A题就自己没转过头来浪费了很久,后来才醒悟过来了.然后这次竟然还上分了...... A题:爆搜 ...

  7. 【cf比赛记录】Educational Codeforces Round 78 (Rated for Div. 2)

    比赛传送门 A. Shuffle Hashing 题意:加密字符串.可以把字符串的字母打乱后再从前面以及后面接上字符串.问加密后的字符串是否符合加密规则. 题解:字符串的长度很短,直接暴力搜索所有情况 ...

  8. 【cf比赛记录】Codeforces Round #601 (Div. 2)

    Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...

  9. 【cf比赛记录】Codeforces Round #600 (Div. 2)

    Codeforces Round #600 (Div. 2) ---- 比赛传送门 昨晚成绩还好,AC A,B题,还能上分(到底有多菜) 补了C.D题,因为昨晚对C.D题已经有想法了,所以补起题来也快 ...

  10. 【cf比赛练习记录】Codeforces Round #579 (Div. 3)

    思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Circle of Students 题意 给出n个数,问它们向左或者向右是否都能成一个环.比如样例5是从1开始向左绕了一圈 [3, 2, 1, ...

随机推荐

  1. C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)

    前言 自从 DeepSeek 大模型火了以来,网络上出现了许多关于本地部署的教程和方法.然而,要真正深入了解其功能和应用,还是需要自己动手进行一次本地部署. DeepSeek 作为一个高效的自然语言处 ...

  2. NCS开发学习笔记-基础篇-第 1 课 – 安装 nRF Connect SDK 开发环境

    练习1 -安装 nRF Connect SDK 开发环境 需要安装的软件 Git python J-Link nrfutil nRF Command Line Tools VScode Chinese ...

  3. Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

    在众多开源项目中,高颜值.功能强大且部署简单的项目往往更能俘获开发者的心.然而,实际部署 Web 应用时,面对数据库.缓存.消息队列等复杂的依赖关系,常常令人头疼.Docker 的开源为我们普及了容器 ...

  4. ppt 文字 +图 样式 设计

    1. 设计前 设计后 图 +文字排版 图多 字少

  5. 华为平板+Zotero+Xodo+坚果云+Zotfile+Zotero OCR,实现论文笔记平板手写+Win自动生成,补充官方教程

    需要的硬件,软件,插件和实现的最终效果,rt. 1. Win,下载Zotero,坚果云 下载网址:https://www.zotero.org/download/ 版本:Zotero 6.如果是其他版 ...

  6. Chrome设置header请求响应头 Chrome ModHeader插件,添加/修改/删除HTTP请求标头和响应标头

    ModHeader,是一款可以添加/修改/删除请求标头和响应标头的浏览器插件. ModHeader插件功能 首先,ModHeader插件支持添加/修改/删除请求标头和响应标头,并可以启用基于URL / ...

  7. SpringBoot原理分析-1

    SpringBoot原理分析 作为一个javaer,和boot打交道是很常见的吧.熟悉boot的人都会知道,启动一个springboot应用,就是用鼠标点一下启动main方法,然后等着就行了.我们来看 ...

  8. Docker图形化工具Portainer安装

    Docker方式安装 我们可以直接使用 **Docker** 的方式来安装 首先创建数据卷,实现数据持久化 docker volume create portainer_db 启动 **Partain ...

  9. docker 版本号说明

    17.03 版本以前 Docker CE 在 17.03 版本之前叫 Docker Engine, 版本说明参考这里 => Docker Engine release notes, 可以看到 D ...

  10. Ubuntu给Appimage创建快捷方式

    下载 AppImageLauncher 2.安装 3.选择要运行的Appimage 双击运行即可.他会在home目录下创建一个applications文件夹,并且帮你自动创建快捷方式.