[bzoj 2005][NOI 2010]能量采集(容斥原理+递推)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2005

分析:首先易得ans=∑gcd(x,y)*2+1

然后我就布吉岛了……

上网搜了下题解,设f[i]表示gcd(x,y)=i的实数对的个数,那么ans=∑f[i]*i*2+1

在设g[i]表示i是(x,y)公约数的个数,则g[i]=[m/i]+[n/i]

那么由容斥原理可以得到f[i]=g[i]-∑f[i*j] (2<=j<min([m/i],[n/i]))

那么就倒推就gg了……

Orz好神……

posted @ 2014-07-31 23:35  Chellyutaha  阅读(...)  评论(...编辑  收藏