傳送門
題目背景
數學題,無背景
題目描述
給出正整數 n,k計算k取模1~n的和
數學好題,**短小精悍
暴力能60,
之後考慮優化。
如果你學過一點點數學,那麼你就知道
k%i=k-[k/i]*i;
而且不難發現,[k/i]必定是連續的,且在一定的i的範圍內這個值是不變的,類似於乙個階梯函式,而我們闊以通過k/[k/i]來算出這個東西的右邊界(為什麼自己用紙算一下就知道了)
然後就用闊以把這個東西分塊了,等差數列求和
乙個數的因子期望是根號這個數
所以這個題的期望複雜度是根號n
1e9輕鬆跑過
上我可愛的**
#include
#include
#include
#include
#include
#define int long long
using
namespace std;
int n,k;
int ans;
inline
intread()
while
(ch>=
'0'&&ch<=
'9')
return x*f;
}main()
else
if(kbreak;}
printf
("%lld"
,ans)
;return0;
}
洛谷 P2261 CQOI2007 餘數求和
前兩天肝了整整兩天的fft,部落格暫咕 今天打算先肝個莫隊,於是複習一下整除分塊 題面 給出n,k 1 n k 1 09 n,k 1 le n,k le 10 9 n,k 1 n,k 109 求 i 1 nkmo di large sum limits k mod i i 1 n kmod i推一波...
洛谷P2261 CQOI2007 餘數求和
給出正整數n和k,計算g n,k k mod 1 k mod 2 k mod 3 k mod n的值,其中k mod i表示k除以i的餘數。例如g 10,5 5 mod 1 5 mod 2 5 mod 3 5 mod 4 5 mod 5 5 mod 10 0 1 2 1 0 5 5 5 5 5 29...
P2261 CQOI2007 餘數求和
數學題,無背景 給出正整數n和k,計算g n,k k mod 1 k mod 2 k mod 3 k mod n的值,其中k mod i表示k除以i的餘數。例如g 10,5 5 mod 1 5 mod 2 5 mod 3 5 mod 4 5 mod 5 5 mod 10 0 1 2 1 0 5 5 ...