BZOJ2659算不出的算式不正经题解

题目链接

https://www.lydsy.com/JudgeOnline/problem.php?id=2659

分析

难得做到此类打表题目,不觉回想到NOIp2017考场上的SB经历

这道题看到这么吓人的算式,当然是要….

咳咳,像我这种菜鸡当然是先要打个表

好象没什么规律,但我们可以找找特殊项

比如(3,3)和(5,5),(7,7),大胆猜想若两数相同对于奇质数$x$,$ans=(x*x-1)/4$

然后就往4方面去想,把所有答案乘以4得到另一张表,然后就很容易发现规律了

证明

数竞队的还没有回应,

不过在网上找到一篇不错的

https://www.cnblogs.com/Mychael/p/9115847.html

个人觉得讲得比其他blog好一点

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cctype>
#include <vector>
#define ll long long
#define ri register int
const int maxn=100005;
const int inf=0x7fffffff;
int main(){
int a,b;
scanf("%d %d",&a,&b);
if(a==b)printf("%lld\n",1ll*a*b/4);
else printf("%lld\n",1ll*(a-1)*(b-1)/4);
return 0;
}