第十八次

A

图的遍历。

B

i 怪最终被打了 ci|ciai(modk),则答案为 i=1nmax(cici1,0)

有结论:i,k<cici1<k

(证明:若 cici1k,那将 cicik 满足结论,此时 cici1 减少 k,而 ci+1ci 至多增加 k,不会变劣)

于是每个 cici1 只会有两种取值 Ai<0,Bi>0,考虑对每一位选择 AiBi

同时需要保证每段前缀选择的数之和(即为 ci)非负。

从前往后依次选择,能选 Ai 就选 Ai(贡献为 0),否则考虑:

  • Bi(贡献为 Bi),
  • 把之前某个 Aj 改成 Bj(贡献为 Bj),然后选 Ai

堆维护之。

C

枚举 gcdiSai=k,考虑对每个 kgcdiSai=kS 的个数 fk

fi 不好算,设 gk 表示 k|gcdiSaiS 的个数,设 si 表示原序列中 i 的倍数的个数,

gk 等于从 k 的倍数中任选非空子集的方案数,即 gk=2sk1

ci 表示原序列中 i 的出现次数,则 si=i|dcd,平凡狄利克雷后缀和。

gi=i|dfd,求出 gi 后平凡狄利克雷后缀差分得到 fi

此时枚举 gcdiSai=k,需要统计 axkx 的的个数 hk

m=107,直接推柿子:

hk=i=1mci[gcd(i,k)=1]=i=1mcid|gcd(i,k)μ(d)=d|kμ(d)d|ici=d|kμ(d)sd

把序列 μ(d)sd 求出来,狄利克雷前缀和即可。

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