2021.8.17 校内模拟赛题解
作者:互联网
A
假的石子合并。
圆形石子合并,一次合并代价是两堆石子个数的积,求最小的代价和。
容易发现不管怎么并每一堆石子都要和其它的乘一次,所以答案就是 \(\sum_{i=1}^{n-1} \sum_{j=i+1}^ni\times j\),可以边加边乘优化到线性。
开始以为要什么神奇的 GarsiaWachs,就先跳过了,后来看周围的人都过了才恍然明白过来。
B
人类智慧题!赛场上我鏖战三个三小时,未果。
给定一个字符矩阵,同种字符的四联通极大联通块是一个房间,每次询问一个子矩阵,求有部分(也可以全部)在子矩阵中的房间数量。
开始看错了题目,原来部分在里面也都算一个,还以为断开了就算多个呢,空以为自己会做了,结果在那条路上拐来拐去,最后连正解的边都没有搭到。
首先先在每个房间中随便选一个点,然后对于每个询问,先统计子矩形里的点个数,由于点没选在里面且有部分在里面的点肯定穿过了边界,所以在边界上转一圈把这些没算上的补上就好了。
就是这样……但就是想不到,而且这题是全场过的人最少的。
C
神仙 dp!
求 每个非叶子节点都有两个儿子 且 不存在 一条从根出发 存在 \(k\) 个连接了左儿子并且左儿子也有左儿子的边 的路径 的有 \(n\) 个儿子的树的数量。
根本想不到到 dfs 序上去 dp 也根本想不到那个状态。
\(f_{i, j}\) 是 dfs 序第 \(i\) 位路径上有 \(j\) 条左偏的边的情况数,因为 dfs 序变化到下一个这个啥啥边的个数只有可能增加 \(1\) 或减少 \(1\),所以 \(f_{i, j} = f_{i-1, j-1} + f_{i-1, j+1}\)。
这谁想得到啊!不过赛场上有神仙用生成函数+多项式求逆场切的。
D
- 长度为 \(1\) 的字符串只有相同才是相似的。
- 长度为 \(n\) 的字符串当且仅当前 \(\frac{n}{2}\) 和 前 \(\frac{n}{2}\) 相似且后一半和后一半相似 或 前一半和后一半相似且后一半和前一半相似 算作相似。
给定俩长 \(2^n\) 的字符串,支持单点修改,询问是否相似。
这玩意儿其实就是树的同构那种感觉,只要在哈希的时候像树同构一样最小表示(合并时把小的放前面)就行了,因为要修改,所以用线段树维护哈希值即可。
本来应该是我最有可能做出的题,可是时间没有了 qwq
标签:17,一半,题解,石子,矩阵,dfs,儿子,相似,2021.8 来源: https://www.cnblogs.com/Acfboy/p/20210817_.html