题目链接
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; }
|