模拟。
爆搜。
给一个序列 A 和一个正整数 M,求:
先做个前缀和 S,原式化为:
根据 Sr 和 Sl−1 的大小关系可以分两类。
注意到比 Sr 大的 Sl 会对答案产生 M的贡献,令 Xr=size:{l=1,2,…,r|Sl−1>Sr} 则原式化为:
很显然 xr 是可以通过扫描线求出的,只要维护一个树状数组即可。
给你一棵有 N 个顶点的树。添加一条边可以得到一个基环树,问有多少种添边方案满足:
不难发现一种添边 (u,v) 方式满足题意当且仅当:
可以记录一个 au 表示与 u 相连的度数为 2 的点的数量。先对每个 deg=3 的点算独立贡献,每新增一个度数为二的点贡献就是当前的 au。再合并不同的三度点,两个集合合并的贡献是 aU×aV,可以用并查集维护。
作者:tai-chi
出处:https://www.cnblogs.com/tai-chi/p/18524283
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
你怎么,唉,只能说结果其实已不再重要,有这过程足矣
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】