Summary
A 题显然是图论模型嘛……但是卡得太久了,B 题 C 题都不好骗,裂开 qwq。
感觉时间安排上不尽合理,如果 B C 简单一点我这个就要挂打分了。可以尝试一下先打暴力再想正解。
Solution
A− 我
给定字符串 S 以及 m 种变换,第 i 种将 S 中所有为 si 的字符替换为 ti。求任意顺序将每种变换进行至少一次后,S 含有字符种类的最大值。
多测,T≤100,|Σ|=62,m≤62×61。
字符当作点,替换操作当作有向边。令在 S 中存在的字符对应的点为黑色,否则为白色。注意到一个 SCC 内若有白点,那么这个 SCC 内的操作都可以执行而不减少黑点数量。那么缩点,对于全黑的 SCC,若其中的点需要被转移,那么强行踢出来一个黑点,让它自己找容身之所,得到一个有 1 个白点的 SCC;对于有 k 个白点的 SCC,它能容纳 k 个无家可归的黑点,DAG 上跑个最大流看几个被踢出来的黑点最终消失了即可。
复杂度 O(TDinic(|Σ|,m))。
B− 想不出
给定平面上 n 个点 p1..n=(x1..n,y1..n),现可以以每个点为端点,沿 −π3 或者 −2π3 的幅角方向引射线一条(哇,定语后置),求能得到的有限平面区域的最大数量。
n≤2×103。
给空间整个线性变换,让每个点引的射线向右或者向上,注意 tan 的非有理数性保证了没有两点共横坐标或纵坐标。
欧拉定理知,对于连通平面图,|Flimited|=|E|−|V|+1,设射线交点集为 I,那么 |E|=2|I|,|V|=n0+|I|,所以 |Flimited|=2|I|−n0+1,而 ∑n0=n,故我们只需要最大化 |I| 的总和。
发现若两个点引的射线可能相交,则它们引出不相交且不平行的射线是一定不优的,推广这一结论,分析一下(嗯,我觉得我能证但我懒得想了 qwq),可知:每个点会向右引射线,当且仅当其右下方点数大于左上方数。
BIT 模拟一下这些流程即可。复杂度 O(nlogn)。
C− 题目名称
令 U=⋃ni=1[li,ri]∩N,其中 [li,ri] 两两不交,求 ∑{a,b,c,d}⊆U[a+b+c+d=s]。答案对 998244353 取模。
n≤800,s≤8×108。
U 里选一个数的 GF:
F(x)=n∑i=1xli−xri+11−x.
想想怎么求答案的 GF。
法一 集合元素具有互异性,我们暴力讨论 {a,b,c,d} 的相等关系,容斥:
- a,b,c,d(都不等):容斥系数 1× 自身方案 1F(x4)。
- a=b,c,d:容斥系数 −1× 自身方案 6F2(x)F(x2)。
- a=b,c=d:容斥系数:(−1+1×2)× 自身方案 1F2(x2)。
- a=b=c,d:容斥系数:(−1+1×2)× 自身方案 4F(x)F(x3)。
- a=b=c=d:容斥系数 (−1+1×6−1×3−2×4)× 自身方案 1F(x4)。
综上,设答案的 GF 为 R(x),则
R(x)=14!(F4(x)−6F2(x)F(x2)+3F2(x2)+8F(x3)F(x)−6F(x4)).
法二 当然,如果你不愿意讨论……设选出 k 阶子集的 GF 为 Rk(x),那么
Rk(x)=[yk]∏u∈U(1+xuy)=(−1)k[yk]∏u∈U(1−xuy)=(−1)k[yk]exp∑u∈Uln(1−xuy)=(−1)k[yk]exp−∑i>0∑u∈Uxuiyii=(−1)k[yk]exp−∑i>0yiF(xi)i=(−1)k[yk]∏i>0exp−yiF(xi)i.
令 k=4,手算一下后面的 exp,能够得到一样的 R(x)。
法三? 呃……还有一个奇怪的东西。
"(F4)"=14!F(F−E)(F−2E)(F−3E).
怎么你妈数学公式里整个引号。其中 (F4) 即“在 F 中选四项的 GF”,E 是个算子,貌似具有比较优雅的性质……坐等 crashed 科普。UPD: 哦,上帝!我得和你打赌,她和她的文字肯定给你沐浴圣光的快慰!
令 F(x)=(1−x)−1G(x),后面三项中,G(x),G(x2) 等东西卷起来只有 O(n2) 项系数非 0,暴力做。对于前两项,考虑暴力求一半,然后在另一半里快速算对应系数:
对于第一项:F4(x)=G2(x)⋅(1−x)−4G2(x),枚举 G2(x) 里取的 xs−k,那么后面部分有
[xk](1−x)−4G2(x)=∑i≤k[xi]G2(x)⋅(k−i+33)=16∑i≤k[xi]G2(x)(k−i+3)(k−i+2)(k−i+1)=16k3∑i≤k[xi]G2(x)+16k2∑i≤k(−3i+6)[xi]G2(x) +16k∑i≤k(3i2−12i+11)[xi]G2(x)+16∑i≤k(−i3+6i2−11i+6)[xi]G2(x).
这是关于 k 的低次多项式,暴力预处理系数,二分统计一个前缀的系数和。
第二项,F2(x)F(x2)=F(x2)⋅(1−x)−2(1−x2)−1G2(x),类似地,
[xk](1−x)−2(1−x2)−1G2(x)=∑i≤k, 2∤(k−i)(k−i+1)(k−i+3)4[xi]G2(x)+∑i≤k,2∣(k−i)(k−i+2)24[xi]G2(x)=14k2∑i≤k[xi]G2(x)+14k∑i≤k(4−2i)[xi]G2(x) +14∑i≤k(i2−4i+3)[xi]G2(x)+14∑i≤k, 2∣(k−i)[xi]G2(x).
注意到 [xs−k]F(x2)≠0⇒2∣(s−k),所以最后和式里 2∣(k−i) 中,i 与 s 同余才需要计入贡献,并不需要分类讨论奇偶性。
复杂度 O(n2logn),瓶颈在于排序和二分指数位置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现