摘要: 很考验智商的一个题目,赛后看完别人的题解后秒懂了。首先定义一个函数f(x)表示a,b的有序组合情况数使得a*b为x的一个约数。现在给定你一个n,要你求出f(1)+f(2)+……+f(n);题目智商味道太浓厚,本屌表示智商拙计。可以这样来考虑问题,a*b为x的一个约数,其实就等价于a*b*c=x,c为任意一个正整数。所以整个问题转化为有多少个有序数对(a,b,c)使得a*b*c不大于n。到这里问题就变得好办多了。由于直接枚举复杂度过高,我们在枚举的时候可以假定a 2 using namespace std; 3 typedef long long ll; 4 ll n,m,k,ans,i,j; 阅读全文
posted @ 2013-10-31 09:03 092000 阅读(250) 评论(0) 推荐(0) 编辑