国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

洛谷 P2424 約數(shù)和

2019-11-14 10:24:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

P2424 約數(shù)和 題目提供者曹彥臣 難度 普及+/提高 題目背景 Smart最近沉迷于對(duì)約數(shù)的研究中。 題目描述 對(duì)于一個(gè)數(shù)X,函數(shù)f(X)表示X所有約數(shù)的和。例如:f(6)=1+2+3+6=12。對(duì)于一個(gè)X,Smart可以很快的算出f(X)。現(xiàn)在的問(wèn)題是,給定兩個(gè)正整數(shù)X,Y(X

/*暴力線(xiàn)性遞推.*/#include<iostream>#define LL long longusing namespace std;LL ans,x,y;int main(){ cin>>x>>y; for(int i=1;i<=x-1;i++) ans-=(x-1)/i*i; for(int i=1;i<=y;i++) ans+=y/i*i; cout<<ans; return 0;}/*這題正解蠻神的.暴力的話(huà)就nsqrt(n)對(duì)每個(gè)數(shù)進(jìn)行質(zhì)因數(shù)分解.然后我們考慮優(yōu)化.我們知道1-n中i的倍數(shù)有[n/i]個(gè).然后我們就可以線(xiàn)性遞推了.但是這樣依然過(guò)不了此題.我們令s[i]=f[1]+f[2]+f[3]+..... =[i/1]*1+[i/2]*2+[i/3*3]+.....然后我們會(huì)發(fā)現(xiàn)里邊有些值是相同的.so 我們可以用等差數(shù)列加速.ans=s[y]-s[x-1].復(fù)雜度sqrt(n). */#include<iostream>#define LL long longusing namespace std;LL ans,x,y;LL slove(LL n){ LL i=1,tot=0; while(i<=n) { int j=n/(n/i); tot+=n/i*(j-i+1); i=j+1; } return tot;}int main(){ cin>>x>>y; cout<<slove(y)-slove(x-1); return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 比如县| 泾川县| 灵川县| 临邑县| 辉县市| 霍城县| 芒康县| 务川| 阿瓦提县| 临沭县| 都江堰市| 三明市| 庆云县| 仁怀市| 滁州市| 嘉兴市| 山东| 大田县| 扶绥县| 高雄市| 绥滨县| 靖江市| 三原县| 红桥区| 连云港市| 牡丹江市| 汨罗市| 和平县| 元氏县| 青海省| 休宁县| 澄江县| 博兴县| 长宁区| 元阳县| 西吉县| 德清县| 翁牛特旗| 漳州市| 新巴尔虎左旗| 南阳市|