当前位置: 首页 > article >正文

CF Round 997 记录 题解 (div. 2 A - E)

今天(P.S. 其实是很久以前)上午VP CodeForces Round 997 (Div. 2)。

  • [CodeForces 2056A] Shape Perimeter

    计算重叠部分即可。

  • [CodeForces 2056B] Find the Permutation

    我们总是建从小节点到大节点的有向边,对这个DAG进行拓扑排序。因为我们有时并不想让一个小节点往大节点连边,所以用堆维护入度为零的点即可。(可恶,赛时多测不清空卡了我一发。)

  • [CodeForces 2056C] Palindromic Subsequences

    玄学的构造题。我们希望大概长这样的结构:

    1 ,   1 ,   1 ,   … ,   1 , ⏟ a 个 1   2 ,   3 ,   4 ,   … , a + 3 ,   1 ,   1 ,   1 ,   … ,   1 ⏟ a − 1 个 1 \underbrace{1,\ 1,\ 1,\ \dots,\ 1,}_{a个1}\ 2,\ 3,\ 4,\ \dots, a + 3,\ \underbrace{1,\ 1,\ 1,\ \dots,\ 1}_{a-1个1} a1 1, 1, 1, , 1, 2, 3, 4, ,a+3, a11 1, 1, 1, , 1

    这样构造出的答案有 a ( a + 2 ) + 1 = a 2 a(a + 2) + 1 = a^2 a(a+2)+1=a2 个,可以通过。稍微分讨一下即可。

    赛后看了一下题解,发现自己好唐:

    1 ,   2 ,   3 ,   … ,   n − 2 ,   1 ,   2 1,\ 2,\ 3,\ \dots,\ n-2, \ 1,\ 2 1, 2, 3, , n2, 1, 2

  • [CodeForces 2056D] Unique Median

    又是一道正难则反,计算坏的序列的个数。这道题的trick挺巧妙的,但没接触过,确实想不出来。发现长度为奇数的序列一定不是坏的,所以只考虑偶数长度序列。对于一个序列的中位数 x x x,将序列中 ≤ x \le x x 的数化为 − 1 -1 1,其它的化为 1 1 1。若最终区间和为 0 0 0,那么这个序列就是坏的。另外要注意去重。维护前缀和即可。

  • [CodeForces 2056E] Nested Segments

    组合数学。这个包含或不交的关系恰好和昨天的B差不多。我们想要尽可能多的节点数量,那么需要构造成二叉树。(这里具体不想证明。)对于某一个节点,设其儿子数量为 c n t u cnt_u cntu,则计算 ∏ C c n t u − 1 \prod C_{cnt_u - 1} Ccntu1(卡特兰数)即可。


http://www.kler.cn/a/543399.html

相关文章:

  • OpenGL-基础知识(更新中)
  • qt 事件的传递顺序
  • 进程状态
  • 【数据库设计】深入理解常见范式
  • ubuntu如何设置停止程序自动更新
  • C++引用深度详解
  • SpringBoot中的Javaconfig
  • KRR(知识表示与推理,Knowledge Representation and Reasoning)
  • 冒泡排序
  • 多租户数据源隔离
  • kindle.cn 无法接收邮件
  • pnpm的使用
  • 【工业安全】-CVE-2022-35555- Tenda W6路由器 命令注入漏洞
  • Java入门进阶
  • 日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(4):~てもいいです & ~てはいきません征求许可
  • 在Mac M1上面安装Miniconda
  • 名词解释:npm,cnpm,yarn,vite,vue,electron
  • PySpark查找Dataframe中的非ASCII字符并导出Excel文件
  • 07贪心 + 动态规划(D1_基础学习)
  • 蓝桥杯试题:归并排序
  • PySide (PyQt)的视图(QGraphicsView)和场景(QGraphicsScene)
  • 深入理解现代前端框架:Vue.js 的进阶探秘
  • bash shell笔记——循环结构
  • 网络初识-
  • 基于微信小程序的超市售货管理平台
  • HttpServletRequest 作用