2020-team8-1211
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
[[Image(standings.png,1000px)]]
[[Image(submissions.png,1000px)]]
== 流水账 ==
开场看到B,szy表示这题有个很好写的写法,让cy上机写,Ebola和szy机下想D和F,cy1h过了B,ebola推出了D积分的式子,上机写发现精度炸了,再一观察,发现答案就是4n-1/3,改了一下过了,三个人一起想F,最后szy决定去爆搜一发,第一发T了,cy加了个记忆化过了,之后szy想出了c,很好写,cy调了调精度过了,之后szy又想出了I,cy上机也过了,G和H都处于不会的状态,最后Ebola上机敲H的快速插值尝试挣扎一下,可惜快速插值太慢了.
== 个人总结 ==
== 题解 ==
A:
B:动态虚树,树的大小是dfs序相邻节点距离再加上第一个和最后一个距离除以二
C:先推一波式子,发现贡献跟每个点度有关,先把确定度的点贡献算完,然后不确定的点是等价的,所以期望度就是平均值.
D:4n-1/3不会证明
E:
F:爆搜,记忆化
G:考虑L到R的答案实际上就是L到R的对原根取对数的值的gcd再和p-1取gcd,再用p-1除以这个数,注意gcd(al,al+1,..,ar,p-1)=gcd(gcd(al,p-1),(al+1-al,p-1),gcd(al+2-al+1,p-1)...(ar-ar-1,p-1)),每个数和p-1的gcd可以分解质因数之后两个log计算,计算方法大概是寻找每个数的模P意义下最小循环节,可以对每一个质因数独立考虑,如果p^k不是循环节,那么p^(k+1)也不可能是,考虑完后乘起来即可,最后再用p-1除以这个数即可,因(x*u)%(p-1)=0,u最小为(p-1)/gcd(x,p-1).
H:推式子FFT
I:卢卡斯定理转化成p进制,发现每一位贡献独立的,乘起来就可以了
J:
K:
L:


流水账
开场看到B,szy表示这题有个很好写的写法,让cy上机写,Ebola和szy机下想D和F,cy1h过了B,ebola推出了D积分的式子,上机写发现精度炸了,再一观察,发现答案就是4n-1/3,改了一下过了,三个人一起想F,最后szy决定去爆搜一发,第一发T了,cy加了个记忆化过了,之后szy想出了c,很好写,cy调了调精度过了,之后szy又想出了I,cy上机也过了,G和H都处于不会的状态,最后Ebola上机敲H的快速插值尝试挣扎一下,可惜快速插值太慢了.
个人总结
题解
A:
B:动态虚树,树的大小是dfs序相邻节点距离再加上第一个和最后一个距离除以二
C:先推一波式子,发现贡献跟每个点度有关,先把确定度的点贡献算完,然后不确定的点是等价的,所以期望度就是平均值.
D:4n-1/3不会证明
E:
F:爆搜,记忆化
G:考虑L到R的答案实际上就是L到R的对原根取对数的值的gcd再和p-1取gcd,再用p-1除以这个数,注意gcd(al,al+1,..,ar,p-1)=gcd(gcd(al,p-1),(al+1-al,p-1),gcd(al+2-al+1,p-1)...(ar-ar-1,p-1)),每个数和p-1的gcd可以分解质因数之后两个log计算,计算方法大概是寻找每个数的模P意义下最小循环节,可以对每一个质因数独立考虑,如果pk不是循环节,那么p(k+1)也不可能是,考虑完后乘起来即可,最后再用p-1除以这个数即可,因(x*u)%(p-1)=0,u最小为(p-1)/gcd(x,p-1).
H:推式子FFT
I:卢卡斯定理转化成p进制,发现每一位贡献独立的,乘起来就可以了
J:
K:
L:
附加文件
- standings.png by szy12345
- submissions.png by szy12345