[Beijing wc2012]算不出的算式
题目
思路
大数据模拟:
q/p | 1 | 3 | 5 | 7 | 9 |
---|---|---|---|---|---|
1 | 0 \color{red}{0} 0 | 0 | 0 | 0 | 0 |
3 | 0 | 2 \color{red}{2} 2 | 2 | 3 | 4 |
5 | 0 | 2 | 6 \color{red}{6} 6 | 6 | 8 |
7 | 0 | 3 | 6 | 12 \color{red}{12} 12 | 12 |
9 | 0 | 4 | 8 | 12 | 20 \color{red}{20} 20 |
红 色 字 \color{red}{红色字} 红色字是q=p;
- 可以很明显的看出
当p ≠ \not= =q时
∑ k = 1 p − 1 2 [ k q p ] + ∑ l = 1 q − 1 2 [ l p q ] = q − 1 2 ∗ p − 1 2 = ( q − 1 ) ( p − 1 ) 4 \sum_{k=1}^\frac{p-1}{2} [\frac {kq}{p} ]+\sum_{l=1}^\frac{q-1}{2} [\frac {lp}{q} ]=\frac{q-1}{2}* \frac{p-1}{2}=\frac{(q-1)(p-1)}{4} k=1∑2p−1[pkq]+l=1∑2q−1[qlp]=2q−1∗2p−1=4(q−1)(p−1)
printf("%lld\n",((p-1)*(q-1)/4));
当p = = =q时
∑ k = 1 p − 1 2 [ k q p ] + ∑ l = 1 q − 1 2 [ l p q ] = ( q − 1 ) ( p − 1 ) 4 + q ( 或 p ) − 1 2 \sum_{k=1}^\frac{p-1}{2} [\frac {kq}{p} ]+\sum_{l=1}^\frac{q-1}{2} [\frac {lp}{q} ]=\frac{(q-1)(p-1)}{4}+\frac{q(或p)-1}{2} k=1∑2p−1[pkq]+l=1∑2q−1[qlp]=4(q−1)(p−1)+2q(或p)−1
printf("%lld\n",((p-1)*(q-1)/4)+(q-1)/2));
- 合并大法
printf("%lld\n",((p-1)*(q-1)/4)+(q==p?(q-1)/2:0));
完整代码
#include<bits/stdc++.h>
long long q,p;
int main() {
scanf("%lld%lld",&p,&q);
printf("%lld\n",((p-1)*(q-1)/4)+(q==p?(q-1)/2:0));
}