闲话9.4

今天终于没有摆一天了。

今天上午把昨天晚上剩的一道题写了写,然后补了补期望😭😭😭,期望啥都不会了😨😨😨

下午听 llx 讲组合数学😋😋😋,收获很多😍😍😍

晚上瞎几把写题,收获很多🤗🤗🤗

好消息:把博客搞到 netlify 上了,评论功能也不用挂梯子喽!

更好消息:发现 netlify.net 是黄色网站

另报:给博客搞上了页面内播放器,舒服😍😍😍

逆天姬芈

jimmy:你这个 main 函数为什么是 signed 类型的啊
jimmy:我还是推荐大家用一些 c++ 标准的写法啊
jimmy:你这个不标准的写法考试的时候可能吃大亏

不好评价

又被 haosen D 了😭😭😭

记录经典


推歌:デザイアドライブ -上海アリス幻樂団

欲望加速。虽然之前没怎么听过(就打过一次庙),但是看 B 站的时候看到有人提到,正好逛正作原曲的时候看到了这首,听了下发现是真的好听!


CF809E

比较套路的题。

我们先把 φ(aiaj) 转化为 φ(ai)φ(aj)φ(gcd(ai,aj))。然后我们大力推式子:

i=1nj=1nφ(ai)φ(aj)φ(gcd(ai,aj))dist(i,j)

我们先枚举 gcd,我们就能得到:

d=1n1φ(d)i=1nj=1nφ(ai)φ(aj)dist(i,j)[gcd(ai,aj)=d]

我们直接使用莫反套路,把 [gcd(i,j)=d] 变为 [gcd(i,j)|d],得到:

d=1n1φ(d)i=1nj=1nφ(ai)φ(aj)dist(i,j)[gcd(ai,aj)|d]

我们把所有是 d 倍数的点扣下来建个虚树,中括号就能消掉。然后就考虑 dp 求出这一坨。

i=1mj=1mφ(ai)φ(aj)dist(i,j)=1φ(d)i=1mj=1mφ(ai)φ(aj)(depi+depj2×deplcai,j)

我们把后面括号拆开后发现前两项是相同的,最后一项可以直接虚树上 dp 求出来。

最后我们莫反一下,即可得到答案。

复杂度建虚树一个 log,找倍数一个 log,总共 O(nlog2n)


由于 haosen 不看图图,所以今天不放图了。

鉴于 haosen 求情,还是放张图吧。

posted @   crimson000  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示