2023.8.18 闲话

语录:

Rolling_star:*2900,不是特别高

K8He:但是怎么一不小心就最优解了呀,你们都不卡常的吗

K8He:刚才教练说话的时候,我以为又要发零食了

y_z_h:(精神小火)怎么起这么个 SB 名字

y_z_h:SB jijidawang

Aewruxk:(%%% happyguy)膜个 JB

IBR 1C. 子集积

单步容斥后变算 m 的个数,不难想到特判 1 后直接背包计算 .

不过不太能过,注意到答案和序列的顺序并没有关系,于是可以把相同的数一起转移,这样就能过了 .

根据调和级数的分析可以得到时间复杂度为 Θ(mlogm) .

IBR 1E. 树上数点

类似 Blood Cousin 考虑启发式合并,每个深度分别维护,则可以发现只需要维护一种维护集合的数据结构,需要支持:

  • 全局加 .
  • k 的元素个数 .

用带标记的 Um_nik 维护,使用有序数组归并好像时间复杂度就是 Θ((n+q)logn) .

IBR 2B. 最大割

正边全割掉之后边权取负算最小割即可 .

时间复杂度 Θ(dinic(n,m)) .

IBR 2C. 勾股数对

首先为了方便分析令 n,m,p 同阶 .

众所周知任意满足 2y 的本原勾股数 (x,y,z) 和满足 ab,a>ba,b 奇偶性不同的正整数 a,b 形成双射:

x=a2+b2y=2abz=a2b2

那么再看 x,y 的限制可以发现 a,b 其实是被限制在不大于 n 级别的,于是暴力枚举是可以接受的 .

时间复杂度为 Θ(n)Θ(nlogn)(GCD 贡献 log,不带 log 的做法可以看 zky 写的).

理论速通方式:找 Keven_He(玩原神)写,时间复杂度 O(p) .

I am that light, I am deliverance.

posted @   yspm  阅读(92)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
😅​
点击右上角即可分享
微信分享提示