U301557 P2241 统计方形(数据re加强版)
题目背景
1997年普及组第一题
题目描述
有一个 $n \times m$ 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。
**答案对 998244353 取模**
输入格式
一行,两个正整数 $n,m$($n \leq 10^9,m \leq 10^9$)。
输出格式
一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。
说明/提示
需要 $\mathcal{O}(1)$ 做法。
可以在代码前加入以下代码,方便取模运算。
```cpp
const long long int mod=998244353;
typedef long long ll;
ll ksm(ll a,ll b){
ll ret=1;
while(b){
if(b&1) ret=ret*1ll*a%mod;
a=a*1ll*a%mod,b>>=1;
}
return ret;
}
const ll inv2=ksm(2,mod-2),inv4=inv2*inv2%mod,inv6=ksm(6,mod-2);
```
使用
```
k=(a+b)%mod;
```
将a+b模mod意义下的值赋值给k。
使用
```
k=a*inv2%mod;
```
将在模mod意义下 $\dfrac{a}{2}$ 赋值给k。