首页 > 其他分享 >The 2023 CCPC (Qinhuangdao) Onsite / The 2nd Universal Cup. Stage 9: Qinhuangdao

The 2023 CCPC (Qinhuangdao) Onsite / The 2nd Universal Cup. Stage 9: Qinhuangdao

时间:2024-10-25 19:43:42浏览次数:7  
标签:Onsite 联通 cur Qinhuangdao Cup 复杂度 个数 Theta 题意

B. Yet Another Subsequence Problem

题意:按照给定方式生成 01 串,求本质不同子序列个数,生成方式可以理解为从 \((0,0)\) 沿折线走到 \((A,B)\),若在折线上方或在折线上,就往右走(\(0\)),否则往上走(\(1\))。

套路地设 \(f_{i,0/1}\) 前 \(i\) 个数以 \(0/1\) 结尾的不同子序列个数,显然可以矩乘优化。

然后发现由于是一条直线,那么当 \(\dfrac{B}{A} \ge 1\) 时,每次往右走后都会至少往上走 $\lfloor \dfrac{B}{A} \rfloor $ 次,同理 \(<1\) 时每次往上走后至少会右走 \(\lfloor \dfrac{A-1}{B} \rfloor\) 次,那么考虑类欧实现这个过程,每次把若干个 01111... 缩成新的 0 或把 10000 缩成新的 1 即可。

复杂度 \(\Theta(\log n)\)。

C. Palindrome

题意:给定一个字符串,区间询问有多少种方案删掉最短的区间使得变成回文串。

显然可以从回文中心去考虑,先考虑偶数长度的,奇数同理,不再赘述。设 \(f_i\) 位 \(s[1,i]\) 与 \(s[i+1,n]\) 的反串的 lcs,那么若最后回文中心是 \(i\),那么 \([i-f_i + 1,i+f_i]\) 都不用删。设 \(cur\) 为 \(s[l,n]\) 与 \(s[1,r]\) 反串的 lcp,那么 \([l,l+cur-1]\) 和 \([r-cur+1,r]\) 是不用删的。

不失一般性地,我们假设最后的回文中心 \(i \le \dfrac{l+r}{2}\)。那么就有 \([i-f_i+1,i+f_i]\) 要与 \([l,l+cur-1]\) 有交,显然 \(i\) 越大越好,因为答案是 \((r-l+1)-2\times(i-l+1)\),这是个偏序问题,可以直接求出。然后方案数就是 \([l,l+cur-1]\) 和 \([i-f_i+1,i]\) 交大小。

复杂度 \(\Theta(n\log n)\)。

I. Phony

题意:题意:给定 \(n\) 个数,\(k\) 固定,有两类操作:操作 \(1\), 将最大的数减去 \(k\),重复执行 \(t\) 次;操作 \(2\), 求全局第 \(c\) 大的数值。

把每个数放到数轴上考虑,我们称一个团为一些点的集合满足两两之间距离 \(<k\),显然这样的团一定是呈周期移动的(从大到小依次移动)。考虑利于 \(k\) 固定的性质直接去模拟这个过程,可以直接维护最大值所在的团,然后每次找到除了这个团之外最大的数,移动这个团直到这个数被缩到这个团为止,可以简单计算移动次数。

实现上有很多细节,比如有可能当前是在移动过程的中间,团中最大的几个移动了,前几个还没移动,此时维护一个 \(cur\) 表示还要多少没移动的,用平衡树维护这个过程即可,实现过程细节很多。

复杂度 \(\Theta(n\log n)\)。

L. Yet Another Maximize Permutation Subarrays

题意:给定一个排列,交换两个位置使用子排列个数最多

显然放到逆排列上去看,就是让前缀的连续段个数尽量多。由于仅交换一次,所以对全局来说没太大的影响。

我们不妨先找到所有合法的前缀,去找到哪些操作会让它们变得不合法,如 \([L,R]\) 的连续段操作一个 \(x \in [L,R]\) 和 \(y > R+1\) 会不合法,还有一些情况,在此不详细展开了,可以描述为矩阵 \(-1\)。

再找到所有操作一次可以合法的前缀,可以分为有两个连续段,或有三个连续段并且有一个长度为 \(1\) 的情况分别考虑,可以用并查集维护连续段即可,也是可以规约到矩阵加 \(1\)。

扫描线求 max 即可,复杂度 \(\Theta(n\log n)\)。

M. Inverted

粗略题意:多次新加点 \(x+n\),复制节点 \(x\) 的连边,求生成树个数。

设所有有新加点的点是白色的,其他都是黑色点。显然对于每个白色联通块是独立的。

考虑 dp 统计方案,设 \(f_{u,0/1}\) 为 \(u\) 通过自己子树里当前的连边是否可以与 \(u+n\) 联通,设 \(d_u\) 为与 \(u\) 相连的黑点个数。

转移时,设 \(g_v\) 为 \(u\) 不能通过 \(v\) 走到 \(u+n\) 的方案数,那么有 \(g_v = 2 \times f_{v,1}+f_{v,0}\),表示若 \(v\) 能联通就要断掉 \(u \to v\) 或 \(u + n \to v + n\) 中的一条,否则必须联通。

那么有 \(f_{u,0} = 2^{d_u} \times \prod\limits_v g_v\),表示 \(u\) 所以连的黑点要么 \(u\) 断要么 \(u+n\) 断,当 \(d_u > 0\) 时,\(f_{u,1}\) 可以通过自身联通,方案是 \(d_u \times 2^{d_u - 1}\),表示选一个黑点通过它联通,其他断开。除此以外,\(f_{u,1}\) 还有 $\sum\limits_v f_{v,1} \prod\limits_{w \neq v} g_w $,可以通过前缀和优化。

复杂度 \(\Theta(n^2)\)。

H. Quake and Rebuild

题意:给定一棵树, 每个点 \(i(i>1)\) 有一个 \(fa_i (fa_i < i)\) 表示 \(i\) 的父亲。

考虑 P7907 的做法,变成同一个块内多个点一起向上跳,若存在两个点的 \(fa\) 相同,直接暴力跳这个块,显然只会出现 \(\Theta(\sum k)\),可以用单次 \(\Theta(\sqrt{n})\) 的代价完成,若各不相同就各自直接跳就好了。

复杂度 \(\Theta((n+m+\sum k) \sqrt{n})\)。

标签:Onsite,联通,cur,Qinhuangdao,Cup,复杂度,个数,Theta,题意
From: https://www.cnblogs.com/MiniLong/p/18503140

相关文章

  • 第九届中国大学生程序设计竞赛 深圳站(CCPC 2023 Shenzhen Site)/ The 2nd Universal Cu
    D.BotBrothers题意:有一棵\(n\)个点的树,\(m\)个叶子,编号为\(1\simm\)。两人在树上博弈,均从根出发,轮流行动,每次走向一个当前所在节点的子节点,如果在叶子就不移动。最终如果两人所在叶子编号一个是另一个\(+1\)(\(\pmodm\)意义下),则\(+1\)的一方获胜。观察到先手不可能......
  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛 赛道 A:台风的分类与预测 思路和代码
                       问题1:台风分类模型问题2:台风路径预测模型问题3:台风登陆后降水量与风速关系模型总结该题目分为三个主要问题,分别要求构建台风的分类模型、路径预测模型和降水风速模型。为了完成此任务,我们将运用大数据分析和机器学习建模技术,并......
  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛 赛道 B:电商品类货量预测及品类分仓
    2024年所有数学建模类比赛的个人思路和代码都会发布到专栏内,会结合最新的chatgpt发布思路,开赛一天后恢复原价99,不代写论文,不回复私信.没有群,只需订阅一次目录问题分析与解决思路问题1:货量预测模型问题2:一品一仓分仓规划问题3:一品多仓分仓规划总结这类大数据竞赛......
  • The 1st Universal Cup. Stage 22: Shaanxi
    Preface时隔一周之后难得开了场训练,然后犯了一堆弱智错误给自己搞红温了,最后感觉啥难题也没写就混着混着就结束了赛后想补题经典找不到题解,只搜到哥哥的题解结果搞不懂细节还是写不来一点,直接开摆D.AliceandBob首先博弈部分的结论很好猜,若第一次操作开头的数为\(x\),则若......
  • [The 3rd Ucup. Stage 10 West Lake] Generated String
    题意维护一个字符串集合,支持动态插入,动态删除,查询同时具有前缀\(s_1\)与后缀\(s_2\)的串的个数,所有字符串用如下方式给出:先给定一个全局模板串\(S\),每一个字符串都是\(S\)的若干个下标区间对应的字符串拼接而成的。即给出若干个区间\([l_1,r_1],[l_2,r_2],\dots,[l_k,r_k......
  • The 3rd Universal Cup 做题记录 (2)
    The3rdUniversalCup做题记录Stage0-Stage9:The3rdUniversalCup做题记录(1)Stage10-Stage19:The3rdUniversalCup做题记录(2)The3rdUniversalCup.Stage10:WestLakeA.ItalianCuisine复制一遍,枚举\(i\)维护右端点\(j\)。要求\((x,y)\)到过\((......
  • The 2023 ICPC Asia Hangzhou Regional Contest (The 2nd Universal Cup. Stage 22: H
    The2023ICPCAsiaHangzhouRegionalContest(The2ndUniversalCup.Stage22:Hangzhou)M.V-Diagram题意:给定一个“v图”,求平均值最大的子"v图"思路:原图的最低点以及左右两个点必须取,如何先取满左边或者右边在贪心即可voidsolve(){lln;cin>>n;vect......
  • The 2nd Universal Cup. Stage 28: Chengdu 解题集
    A.AddOne2一个比较关键的想法是去考虑操作后什么样的数列是能够得到的,然后通过这个性质尝试得出比\(\{y_n\}\)大的最小合法数列,这个数列的和就是答案。将数列差分,你会发现如果要使\(x_i-x_{i+1}=d\)(这里不妨假设\(d>0\),我们等会可以再倒过来考虑\(d<0\)的位置),那么......
  • Ucup
    比赛链接A矩乘优化DP,卡常。B题意给一个正整数序列\(A\),对\(k\in0\dotsbN\),求\(\left\{1,2,\dotsb,N\right\}\)的子集\(S\)的数量使得\(S\)有一个子集\(T\)满足\(|S|-|T|=k\)且\(\sum\limits_{i\inT}A_i\geM\)。分析不是很好想的DP。答案初始为......
  • The 3rd Universal Cup. Stage 8: Cangqian
    Preface战术最失败的一集,徐神从开场就被模拟题关住了,直到4h30min的时候才放出来然后剩下的题也开的不顺,最后感觉好多题都没写就7题下班了这场也是延续了之前几场的一贯画风,最后1h我在狂暴鸿儒一个题,然后挂飞了也没过,赛后稍微一想就发现又犯了个唐氏错误A.Bingo沟槽的......