給定n,m,求 $\sum\limits_^ \! \sum\limits_^m[i\neq j](n\ mod \ i)(m \ mod \ j)\mod 19940417$的值
我們先求出$\sum\limits_^\sum\limits_^(n\ mod\ i)(m\ mod\ j)$的值,然後運用容斥原理排除i=j的情況即可。
$$ans=\sum\limits_^\sum\limits_^(n\ mod\ i)(m\ mod\ j)-\sum\limits_^(n\ mod\ i)(m\ mod\ i)$$
$$=\sum\limits_^\sum\limits_^(n-\lfloor\frac\rfloor i)(m-\lfloor\frac\rfloor j)-\sum\limits_^(n-\lfloor\frac\rfloor i)(m-\lfloor\frac\rfloor i)$$
$$=\sum\limits_^(n-\lfloor\frac\rfloor i)\sum\limits_^(m-\lfloor\frac\rfloor j)-\sum\limits_^(nm+\lfloor\frac\rfloor\lfloor\frac\rfloor i^2-(m\lfloor\frac\rfloor+n\lfloor\frac\rfloor)i)$$
另外,本題中我們需要乙個引理:$\sum\limits_^=\frac$
這樣,我們預處理6的乘法逆元,然後根據上述推導用整除分塊計算即可
1 #include 2ac codeusing
namespace
std;
3 typedef unsigned long
long
ll;4
ll n, m;
5const ll mod = 19940417;6
inline ll sum1(ll x, ll y)
9inline ll sum2(ll x)
12ll calc(ll x)
18return
ret;19}
20int
main()
31 printf("
%lld\n
", ans %mod);
32return0;
33 }
P2260 清華集訓2012 模積和
數學題,無背景。求 sum limits sum limits n bmod i times m bmod j i neq j bmod 19940417 的值 輸入格式 兩個整數n m 輸出格式 答案 mod 19940417 輸入樣例 1 3 4 輸出樣例 1 1 輸入樣例 2 123456 6...
bzoj2956 模積和 (分塊)
原題位址 題意 求 n mod i m mod j 其中1 i n,1 j m,i j。答案 mod 19940417 資料範圍 n,m 10 9 題解 n i 1 mj 1 nm odi mm odj i j ni 1 mj 1 nmod i mmod j min n,m i 1 nm odi m...
BZOJ 2956 模積和 (分塊)
bzoj 1257的加強版,多了乙個?那就把它展開來啦。i 1n j 1m nmo di mmo dj i j i 1n j 1 m nm odi mm odj i 1n n ni i m mi i i 1n j 1m nmod i mmod j i 1n nm n m i i m ni i n i...