码迷,mamicode.com
首页 > 其他好文 > 详细

题解 P4132 【[BJOI2012]算不出的等式】

时间:2020-03-01 14:03:50      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:span   ref   旋转   题目   clu   cin   cout   就是   iostream   

题目链接

Solution [BJOI2012]算不出的等式

题目大意:给定奇质数\(p,q\),求\(\sum_{k=1}^{\frac{p-1}{2}}\lfloor\frac{kp}{q}\rfloor+\sum_{k=1}^{\frac{q-1}{2}}\lfloor\frac{kq}{p}\rfloor\)


分析:

问题实质上是在求\([1,\frac{p-1}{2}]\)区间内一次函数\(y=\frac{p}{q}x\)下的整点个数(后半部分同理)

然后我们发现后半部分就是交换了\(p,q\),那么旋转一下就相当于\(y=\frac{p}{q}x\)上面的整点个数

两个互补,就相当于长宽分别为\(\frac{p-1}{2}\),\(\frac{q-1}{2}\)矩形内的整点个数

然鹅发现如果\(p=q\)的话就gg了,如果\(p=q\),答案为\(\frac{p^2-1}{4}\)

#include <iostream>
using namespace std;
long long a,b;
int main(){
    cin >> a >> b;
    if(a != b)cout << (a / 2) * (b / 2) << endl;
    else cout << (a * a - 1) / 4 << endl;
    return 0;
}

题解 P4132 【[BJOI2012]算不出的等式】

标签:span   ref   旋转   题目   clu   cin   cout   就是   iostream   

原文地址:https://www.cnblogs.com/colazcy/p/12389271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!