第九次

A

枚举点权最大值,每次更新所有点对的答案。

问题变为动态加点,维护全源最短路,直接灾后重建

B

考虑 ai,j2kai,jk 时怎么做。

ai,j2k,直接有解。

ai,j>2k,拿出它上边一行:

  • 若这行总和 <k,删去这行后 ai,j>k,继续处理这个矩阵。
  • 若这行总和 k2k,直接有解。
  • 若这行总和 >2k,继续处理这一行。

问题变为找到一个子矩阵,使得 ai,j2kai,jk

直接单调栈 / 悬线法找 ai,j2k 的极大子矩阵即可。

C

φ(x)=xpi1pi,所以求 φ(ai) 只需要知道 ai{piP|pi|ai}

区间乘积平凡,300 内只有 62 个质数,所以状压质因子即可。

D

根号分治。

步长大于 B,暴力跳,复杂度 O(n2lognB)

步长小于等于 B,预处理 fi,j 表示 i 往根跳,步长为 j 时停留的点权和,查询时用 f 差分一下即可,

fi,j=fk,j+ai,其中 kij 级祖先,DFS 时用栈维护点到根的链,容易找出 k,复杂度 O(nB)

(upd:直接递推复杂度也是这个……用不着栈)

B=nlogn,总复杂度 O(nnlogn)

posted @   Jijidawang  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示