传送门

写在前面:为了保护正睿题目版权,这里不放题面,只写题解。


“我发现问题的根源是大家都不会前缀和。”——敦爷


  • A

敦爷spj写错了,差点把蒟蒻swk送走

\(50pts:\)

考虑不输出方案怎么做。显然是树形dp。

设\(f_{i,j,\{0/1/2\}}\)表示\(i\)的子树中,有\(j\)条链,根节点状态为:\(\{\)没选\(/\)选了向下的一条链\(/\)选了向下的两条链\(\}\)的最优解。

对于一棵子树,开始时只考虑根节点,依次合并每个儿子。合并时需要枚举父亲和儿子的状态,用\(size\)限制枚举上界,可以证明复杂度是\(O(nk)\)的。

转移的时候分别讨论各个状态之间的转移即可。

\(100pts:\)

输出方案也不难,只需要记录每个状态依次从哪个儿子的哪个状态转移来即可。

可以把转移方向放在儿子上,避免复杂的可持久化。

当然写起来就是另一回事了

复杂度证明:

合并大小分别为\(x,y\)的两棵子树,复杂度为\(O(\min(x,k)\cdot \min(y,k))\)。

不妨设\(x\geq y\),对两棵子树的三种情况分别分析。

①\(x\geq k, y\geq k\),则单次复杂度\(O(k^2)\),但这样的子树最多\(\frac{n}{k}\)棵,总复杂度\(O(nk)\)。

②\(x\geq k, y < k\),发现每个节点最多合并进\(size\geq k\)的子树一次,即整棵树上每个零散节点最多产生\(O(k)\)的复杂度,总复杂度\(O(nk)\)。

③\(x<k,y<k\),对于一个节点,最多与\(O(k)\)个节点合并后,子树大小就会\(\geq k\),因此每个节点最多产生\(O(k)\)的复杂度,总复杂度\(O(nk)\)。


  • B

\(60pts:\)

对于一次操作\([x,y]\),区间\([l_i,r_i]\)被访问的充要条件是:\([x,y]\)与\([l_i,r_i]\)有交;\([x,y]\)不完全包含\([l_i,r_i]\)的父亲。

由此可以得到一个\(O(nq)\)的算法,即对线段树上的每个节点分别统计访问次数。实现时有很多分类讨论,比较复杂。

\(100pts:\)

对于\(O(nq)\)算法里的分类讨论,每种讨论实际上都可以提取出一个关于\(x,y\)的低次多项式。

发现如果区间\([l_i,r_i]\)被\([x,y]\)包含,则它的每一个子区间都被其包含。因此整个子树可以规避分类讨论,预处理多项式系数即可。

即询问时遇到完全包含的节点可以直接退出,复杂度等同于线段树区间询问,\(O(n+q\log n)\)。


  • C

\(60pts:\)

发现\(h_{i+1}-h_i\)等于\(i\)位置结束的每个子串的\(G_i\)之和,即\([1,i]\)每个前缀的末尾增加了一个字符。

把\(n\)个后缀拉出来跑kmp,维护一下前缀和即可。

\(100pts:\)

对于字符串\(A\),\(f_i\)的含义其实是\(A[1…i]\)的border(相等的前后缀)个数。

由此得到\(G_A\)的含义是\(A\)的每个前缀出现的次数\(-1\)之和,因为每次枚举到这个前缀第一次出现以外的位置时,都会产生一次border的贡献。

再考虑\(h_{i+1}-h_i\),即\(\sum_{j=1}^i G_{S[j…i]}\)的意义,发现对于\(S[1…i]\)的每个子串,设其出现次数为\(d\),产生的贡献为\(\frac{d(d-1)}2\)。

用后缀自动机维护,每次加入新字符时,等价于\(fail\)树上到根节点的链\(+1\),可以离线树剖或者LCT维护。

ZROI 19.08.12模拟赛的更多相关文章

  1. ZROI 19.08.07模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 ...

  2. ZROI 19.08.11模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. dlstql,wsl A \(10pts:\) \(a=100,T=100\),对每个排列构造一个反的,一步到位即可. \(20pts ...

  3. ZROI 19.08.10模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(20pts:\) 枚举操作序列然后暴力跑,复杂度\(O(6^n)\). \([50,80]pts:\) 枚举改成dfs,每层操 ...

  4. ZROI 19.08.09模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(70pts:\) 维护一个栈,从一侧向另一侧扫描,如果新加入的元素与当前栈顶相同,则出栈,否则进栈.显然一个子串是括号序列,当 ...

  5. ZROI 19.08.06模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽 ...

  6. ZROI 19.08.05模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(21pts:\) 随便枚举,随便爆搜就好了. \(65pts:\) 比较显然的dp,设\(f_{i,j,k}\)表示在子树\( ...

  7. ZROI 19.08.04模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "这应该是正睿OI历史上第一次差评破百的比赛." "这说明来正睿集训的人越来越多了." &qu ...

  8. [10.12模拟赛] 老大 (二分/树的直径/树形dp)

    [10.12模拟赛] 老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图), ...

  9. ZROI 19.08.08模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A ...

随机推荐

  1. web开发(十) struts2之图片验证码

    1.配置前端页面 <!-- 验证码--> <div class="form-group " style="padding-left: 9%;" ...

  2. python之reportlab生成PDF文件

    项目需要,需要自动生成PDF测试报告.经过对比之后,选择使用了reportlab模块. 项目背景:开发一个测试平台,供测试维护测试用例,执行测试用例,并且生成测试报告(包含PDF和excel),将生成 ...

  3. Python实现打印螺旋矩阵功能的方法

    Python实现打印螺旋矩阵功能的方法 本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: ...

  4. Spring cloud 项目———酷派手机商城 (话术)1.0

     酷派电商网站 描述: 随着电子商务的发展,网上购物正在趋于一种时尚,电子商务网站也逐渐成为企业顺应潮流的标配.大多数人知道可能在电子商务网站前端有查询,注册登录,购物车等等功能.可是您知道建设电子商 ...

  5. 应用安全 - 工具 | 平台 -webmin - 漏洞 - 汇总

    简介 开发语言 PHP 用途系统管理 CVE-2019-15642 Date2019.7 类型远程代码执行 影响范围Webmin <= 1.920 复现POC|EXPOBJECT Socket; ...

  6. 开启sentry权限控制hue

    参考: cloudera官方授权:包括webui, ldap,sentry https://www.cloudera.com/documentation/enterprise/6/6.2/topics ...

  7. nodejs 和 js

    JavaScript组成:ECMAScript(定义这门语言的基础,比如语法.数据类型.结构以及一些内置对象等).DOM(基于ECMASCRIPT,扩展出来的用于操作页面元素的方法).BOM(基于EC ...

  8. Spring(十)--Advisor顾问

    Spring之Advisor顾问 1. 创建新的xml文件  advisor.xml <!--01. 配置目标对象 实际肯定是配置UserServiceImpl--> <bean i ...

  9. Java四类八项基本数据类型

    一. 四类八项基本数据类型 1. 整数类型(byte.short.int.long) 三点注意事项: a. Java各整数类型有固定的表示范围和字段长度,其不收操作系统的影响,以保持Java的可移植性 ...

  10. Hive开发中使用变量的两种方法

    在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...