首页 > 其他分享 >PKUSC2024 + CTS2024

PKUSC2024 + CTS2024

时间:2024-09-11 21:02:37浏览次数:1  
标签:le 题意 路径 序列 ge PKUSC2024 CTS2024 2L

回文路径

题意:\(2 \times n\) 的网格,每个格子有一个字符。从任意位置开始,每次向右/下走一格,任意位置停止。求路径是回文串的最大长度。

数据范围:\(n \le 10^5\)。

枚举回文中心 \(p\)。设 \(p\) 在第二行,假设他能在本行拓展到 \(s_2[l, r]\),然后从 \(l\) 往上走,使得 \(s_1[l^{\prime}, l]\) 和 \(s_2[r + 1, r^{\prime}]\) 匹配。

如果路径转折点 \(x \in (l, p)\),一定要满足 \(s_1[l - 1 ,x] = s_2[l, x]\),才有可能与原路径长度相等。不可能超过原路径。submission

正方形计数

题意:给定格点凸 \(n\) 边形的顶点 \((x_i, y_i)\)。假定 \(S\) 代表该 \(n\) 边形内部与边上的格点集合。

求从 \(S\) 中选择四个互不相同无顺序点 \((x,y,z,w)\) 的方案数,使得 \(x,y,z,w\) 构成正方形。\(n \le 8,\ 0\le x_i, y_i \le 2000\)。

独立

题意:给定一棵 \(n\) 个点的树和正整数 \(m\),每个点的权值在 \([1,m]\) 中等概率独立随机。

求不同方案的最大权独立集大小之和。\(1 \le n \le 2000, 1\le m \le 10^8\)。

分流器

题意:

排队

题意:给定 \(n\) 个区间 \([l_i, r_i]\),定义 \(f_i(x) = x + [l_i \le x \le r_i]\)。

\(q\) 组询问,每次给出 \([L, R]\),输出 \(f_R(f_{R - 1}(\cdots f_L(0)))\)。\(1 \le n, q \le 10^6, 0 \le l_i \le r_i \le n\)。

重要观察:对于 \(i < j\), 有 \(f(i, r) \ge f(j, r)\)。

假设 \([i, j)\) 已经累计到 \(x\),\(f(j, r)\) 从 \(0\) 开始累计,始终满足 \(f(j, r) \le f(i, r)\),如果两者相等,则达到相同局面,后续增量也相同。

从左往右做扫描线,用数据结构维护所有的 \(f(i, r)\),根据上述结论,随着 \(i\) 的增大,答案不增。

也就是说,答案在 \([l_r, r_r]\) 之间的 \(i\) 是一段连续区间,线段树上二分然后区间加。submission

最短路径

水镜

题意:给定长度为 \(n\) 的正整数序列 \(\{h\}\),求满足以下条件的二元组 \((u, v)\) 对数。

  • \(1 \le u < v \le n\)。
  • 存在正实数 \(L\) 和一个长度为 \(v - u + 1\) 的序列 \(\{r\}\) 满足 \(r_i \in \{h_i, 2L - h_i\}\)。
  • \(\forall i \in [u, v),\ r_i < r_{i + 1}\)。

设 \(p_i = \max(h_i, 2L - h_i)\)。由于 \(h_i, 2L - h_i\) 关于 \(L\) 对称,把序列 \(r\) 分割成 \(< L\) 和 \(\ge L\) 两部分。

小于的部分 \(\min(h_i, 2L - h_i)\) 单调递增,也就是 \(p_i\) 单调递减;另一部分 \(p_i\) 单调递增。

序列合法当且仅当存在 \(t \in [l, r)\) 使得 \(p_l > p_{l + 1} > \cdots > p_t ? p_{t + 1} < \cdots < p_{r}\)。其中 \(?\) 表示大小关系任意。

注意到 \(p_t = p_{t + 1} = L\) 的特殊情况,此时只要使 \(L\) 向下移 \(\epsilon\) 即可使 \([l, r]\) 合法。

直接统计条件过多,正难则反。如果存在 \(i \in (l, r)\) 使得 \(p_{i - 1} \le p_i \ge p_{i + 1}\),则序列非法,这是充要条件。

如果 \(h_i > h_{i + 1}\):

\[\begin{aligned} p_i \ge p_{i + 1} \implies L \le \dfrac{h_i + h_{i + 1}}{2}\\ p_i \le p_{i + 1} \implies L \ge \dfrac{h_i + h_{i + 1}}{2}\\ \end{aligned} \]

\(h_i < h_{i + 1}\) 的情况同理。如果 \(h_i = h_{i + 1}\),说明满足 \(p_{i} \ge p_{i + 1}\) 的 \(L\) 的范围是全集 \(U\)。

非法条件 \(p_{i - 1} \le p_i \ge p_{i + 1}\) 实际对应了 \(L\) 的一个取值范围,设为 \(I_i\)。

\([l, r]\) 非法当且仅当 \(\bigcup_{i = l + 1}^{r - 1} I_i = U\),说明没有任何一个 \(L\) 的取值能使 \([l, r]\) 合法。

扫描线统计有多少个数对 \(l\le r\) 使得 \(\bigcup_{i = l}^{r} I_i = U\),这和非法区间一一对应。

假设当前在 \(r\),我们要找到最大的 \(l\) 使得范围之并是全集,那么对于所有 \(l^{\prime} \le l\) 的并也是全集。

把 \(I_r\) 范围内的数全部覆盖成 \(r\),那么要找的 \(l\) 即全局最小值(没被覆盖的位置为 \(0\))。

\(n - 1\) 个关键点 \(\dfrac{h_i + h_{i + 1}}{2}\) 把值域分成 \(n\) 块,每块中间再选一个与边界不同的代表点,这样就能表示 \(I_i\) 及其并(与全集 \(U\) 的关系)。

时间复杂度 \(O(n\log n)\)。submission

线段树

众生之门

多方计算

投票游戏

字符串游戏

标签:le,题意,路径,序列,ge,PKUSC2024,CTS2024,2L
From: https://www.cnblogs.com/Luxinze/p/18408991

相关文章

  • CTS2024
    水镜先考虑如何判定一个区间\([l,r]\)是否合法。首先肯定存在一个分割点\(mid\),使得\([l,mid]\)取\(\min(h_i,2L-h_i)\),\((mid,r]\)取\(\max(h_i,2L-h_i)\)。因此,记\(p_i=\max(h_i,2L-h_i)\),则\(p_i\)需要先不升,再不降,并且只能在转弯处有至多一对相等。考虑其反面,......
  • CTS2024
    Day1T1水镜WC赛时做法考虑对于相邻的两个位置\(i\)和\(i+1\),他们之间的连通性可以用一个\(2\times2\)的矩阵描述,即\(i\)对应的两个位置是否和\(i+1\)对应的位置可以连接。发现这个\(2\times2\)的矩阵只会变化一次,且变化的时刻就是\(\dfrac{h_i+h_{i+1}}{2}\)......
  • THUSC&PKUSC2024游记
    Day-infCSP-S200,NOIP289。Day-inf过了PKUWC,100+11+10+100+28+18=267,低于大众分,喜提二等。Day-inf竟然过了THUSC和PKUSC,神奇。lhr也过了,可惜zyj没过QwQ。Day-1zby玩我的魔方被收了,难蚌。Day0五点半起床,坐动车,做到晚上五点才到余姚,好累啊。和lhr去......
  • PKUSC2024 游记
    Day0住的开元名都大酒店,价格比其他酒店贵100RMB。主要的是这玩意点不了外卖,压根没有骑手接单,6。于是我们只能走1.5km去商场吃晚饭。哦不,是吃午饭。Day18:00~8:50报道,非要七点起床,不愧是。什么,卷哥六点半起,还有高手?感觉学军中学整体建筑非常美观,有很豪华的气场,不太像是......
  • PKUSC2024 游记
    事不过三,但是第三次/cfDay\([-7,-3]\)一些模拟赛&适应linux。挺答辩的。三场加起来只在第二场过了一题,还是中午加班过的,第一场的答辩背包没调出来。代码能力太差。第三场摆烂了,拿了40pts跑路。这段时间都比较想摆烂的说(周四清理了一下键盘。非常舒畅啊!并且还把旁边的yhd......
  • CTS2024 投票游戏
    首先手玩可以发现求出两人谁先被票出是困难的,但如果我们能求出两人各票出时的票数,那么只要比较一下票数的大小就可以直到票出的顺序,然而一个点的票数的大小与其子结点有关,如果我们能确定子结点最终票出时的票数,那么只要处理当且菊花图的一个问题即可,将子节点的最终票数从大到小排......
  • [WC/CTS2024] 水镜
    [WC/CTS2024]水镜不知道大家还记不记得这样一件事情:当我们要证明一个数列\(\{a_n\}\)单调递增时,只需证\(a_i<a_{i+1}\)。这是我场上的核心思路:如果要说明二元组\((u,v)\)合法,只需使得其中每相邻两项都递增。注意到这题的\(L\)是我们自己定的,所以这里就有一个思路:......
  • 题解 LGP10144【[WC/CTS2024] 水镜】
    题解P10144【[WC/CTS2024]水镜】题目描述给定一个长度为\(n\)的正整数序列\(h_1,h_2,\cdots,h_n\),求满足以下所有条件的二元组\((u,v)\)的数量:\(1\leu<v\len\),且\(u,v\)为整数;存在一个正实数\(L\)以及一个长度为\((v-u+1)\)的序列\(r_u,r_{u+......
  • P10145 [WC/CTS2024] 线段树 题解
    Link纪念一下场切题。题意:给定一棵(分点不一定为中点)的线段树,给定若干个询问区间,问有多少个线段树上结点的集合,知道了这些结点对应的区间和就可以知道任何一个询问区间的和。从询问区间开始考虑。会发现可以把所有\(a_i\)分成若干个集合,只要知道每个集合的和就可以知道所有询......
  • 洛谷 P10145 [WC/CTS2024] 线段树 题解--zhengjun
    提供一种考场做法,在思路上和官方题解的差异蛮大的,虽然结果差不多。首先需要发现\([l,r)\)区间可以算出来的充要条件是:如果对于每个选中的节点\(u\),连无向边\((L_u,R_u)\),则当且仅当\(l\)和\(r\)连通时区间\([l,r)\)可以算出来。证明的话,用前缀和理解这些东西,分别考虑......