The 3rd Universal Cup 做题记录 (2)

The 3rd Universal Cup 做题记录

博客迁移到 github 了,后续会在 那边 更新。

Stage 0 - Stage 9:The 3rd Universal Cup 做题记录 (1)

Stage 10 - Stage 19:The 3rd Universal Cup 做题记录 (2)

Stage 10: West Lake ACDGHKL

Stage 11: Sumiyosi ABCHIKLMO

Stage 12: Qinhuangdao ABCDEGHKLM

Stage 13 起更到 github

The 3rd Universal Cup. Stage 10: West Lake

A. Italian Cuisine

复制一遍,枚举 \(i\) 维护右端点 \(j\)。要求 \((x,y)\) 到过 \((a_i,b_i),(a_j,b_j)\) 的直线距离大于 \(r\) 或 等于 \(r\) 且交点不在线段上,即 \(\angle OIJ\)\(\angle OJI\) 至少一个为钝角,即两个向量的数量积小于零。要求 \((a_i,b_i),(x,y),(a_j,b_j)\) 的夹角和 \((a_i,b_i),(x,y),(a_{j-1},b_{j-1})\) 的夹角同正负,即两个向量的叉积同正负。三点坐标求面积 \(S=\frac{\lvert x1y2+x2y3+x3y1-x1y3-x2y1-x3y2\rvert}{2}\)

C. Permutation

大概在 \(\frac{2}{3}n\log n\) 级别。线段树维护区间 \([l,r]\) 有什么数,每次随机取出两个数,将左半边设为 \(u\),右半边设为 \(v\) 询问。如果 \(ans=0/2\) 可以将 \(u,v\) 放入左右儿子,否则如果这是第一次,就把 \(u,v\) 放回去重来,否则一定找得到一个数 \(x\),将某半边设为 \(x\) 再问一遍。理论上是 \(\frac{3}{4}n\log n\),加上剪枝次数就差不多刚好了,偶尔会超。

image

D. Collect the Coins

\(t_i\) 排序,二分答案 \(x\)。设 \(dp_{i,j}\) 为前 \(i\) 个询问,另一个人在询问 \(j\)。如果 \(\lvert p_i-p_{i-1}\rvert\le x\times (t_i-t_{i-1})\)\(dp_{i,j}\) 继承 \(dp_{i-1,j}\)。然后再考虑 \(j\) 更新 \(dp_{i,i-1}\)。拆绝对值有 \(p_i+xt_i\ge p_j+xt_j\)\(p_i-ct_i\le p_j-xt_j\)。维护对应的 \(mn\)\(mx\) 即可。

G. Stop the Castle 2

枚举障碍,如果一个障碍能破坏一横一竖两对车,连边二分图匹配。其余的一次断一队车,set 维护是否存在一横或一竖相邻的车。

H. Intersection of Paths

\(k\) 从大往小回答,不断加入两端的 siz 较小值符合 \(k\) 的边。动态修改边权求直径。直径表示为欧拉序上连续的 \(u,v,w\)\(dis_u-2dis_v+dis_w\),线段树维护区间加和式子的部分的最大值。

K. Palindromic Polygon

复制一遍,设 \(dp_{i,j,0/1/2}\) 为区间 \([i,j]\) 中选了 \(i,j\) 且是回文串、除了 \(i\) 是回文串,除了 \(j\) 是回文串的最大面积。

L. Cosmic Travel

建 trie 树,对于每个节点求出异或上所有 \(j\in [0,2^d)\) 的 前 \(k\le siz\) 的和,可以由左右儿子推知。询问时在 \(l,r\) 覆盖整个 \([0,2^d)\) 时回答。复杂度 \(O(n\log V)\)

The 3rd Universal Cup. Stage 11: Sumiyosi

A. Welcome to NPCAPC

矩阵快速幂,预处理 \(2^i\) 处的矩阵。

B. Some Sum of Subset

倒序背包,在第一次 \(>m\) 处统计答案。预处理有 \(i\) 个可以任选对 \(j<i\) 的贡献系数。

C. Solve with Friends

枚举 A 做几个,预处理前缀和,按 \(a_i-b_i\) 排序依次把 B 做改为 A 做。

H. Music Game

期望做 \(\prod \frac{1}{p_i}\) 次,每个前缀都有概率失败,失败有代价。按 \(t_u*(1-p_u)+(t_u+t_v)*p_u<t_v*(1-p_v)+(t_u+t_v)*p_v\) 排序。

I. Left Equals Right

直接 dp 前 \(i\) 个选 \(j\) 个和为 \(s\),左右随便排列。

K. Peace with Magic

\(dp_{i,j}\) 为前 \(i\) 个,\(h_i=j\) 的代价。前后缀 min 转移。

L. Construction of Town

先连成菊花,然后 \([2,n]\) 中两两连边。

M. Admired Person

\(dp_{i,j}\) 表示匹配到 \(a_i,b_j\) 的代价。

O. New School Term

从后往前加,维护拓展域并查集。每次合并后,需要能凑出和为 \(n\)。拓展域的限制为 \(siz_i,siz_j\) 只能选一个,维护 \(a_i-b_j\)。bitset 二进制分组,本质不同数 \(O(\sqrt n)\) 级别。复杂度 \(O(\frac{\sqrt nn^2}{w})\)

The 3rd Universal Cup. Stage 12: Qinhuangdao

A. Balloon Robot

可以找到一个起点 \(p\) 使得从 \(p\) 出发 \(t_i\) 时在 \(a_i\)。贡献形如区间加一次函数,且只能在所有的 \(p_i\)\(m\) 处取得最小值。离散化后差分。

B. Expected Waiting Time

\(f_i\) 为长为 \(2\times i\) 的合法括号序列数,即卡特兰数 \(\frac{\binom{2n}{n}}{n+2}\)。枚举 \(i\)\(i\) 作为左端点的方案数为 \(\sum_{j=i+1}^{2\times n} f_{j-i-1}f_{n-(j-i+1)}\),其他情况 \(i\) 作为右端点。是一个前缀的形式,预处理前缀和。总代价除以方案数得期望。

C. Crusaders Quest

搜索剪枝即可。

D. Graph Generator

合并形如一颗树,有 \(d_{fa}\ge d_u\)。令 \(d_{fa}\) 最小的可行的 \(fa\) 作为 \(u\) 的父亲。从下往上检查答案,要求 \(fa\) 的出边在 \(u\) 子树中的数量等于 \(siz_u\)

E. String of CCPC

加一个字符最多贡献为 \(1\),最多只加一个字符。

G. Numbers

按二进制从高位到低位贪心,使用 python。

H. Prime Set

除了 \(1+1=2\) 特例外,奇数向偶数连边,二分图匹配。先不加 \(1\) 求出最大匹配,再加上 \(1\) 匹配,最后剩下的 \(1\) 两两匹配。

K. Diversity and Variance

\(m=n-m\) 为保留的数。特判 \(m=1\)。答案一定为一段前缀加一段后缀,值相同的数要选字典序小的。按 \((a_i,i)\)\((a_i,-i)\) 分别排序。方差拆为 \(\sum x_i^2\)\(\sum x_i\) 相关,求出可能贡献答案的是那些前缀。两个方案的字典序比较时,分类讨论比较两边不重叠的区间的最小值。

L. One-Dimensional Maze

向左走 R 的数量和向右走 L 的数量的 min。

M. Safest Buildings

离原点近的一定不劣。离原点距离小于 \(\lvert R-2r\rvert\) 的一样优,如果没有这样的点,离原点最近的点最优。

posted @ 2024-10-10 22:26  yhddd  阅读(141)  评论(0编辑  收藏  举报