zoukankan      html  css  js  c++  java
  • bzoj 2659 几何

    首先考虑(0, 0)到(p, q)这条直线。

    y = q / p * x。

    sum{k = 0 to (p - 1) / 2} [q / p * k] 就是直线下方的点数。
    sum{k = 0 to (q - 1) / 2} [p / q * k] 就是直线左方的点数。
    如果gcd(p, q) = 1的话,这条直线上没有整点,所以不会重复计算。
    相等的时候的数恰好是p * q 矩形的1/4。
    答案当然是(p - 1) * (q - 1) / 4。//转自叉姐的话。。
    /**************************************************************
        Problem: 2659
        User: BLADEVIL
        Language: Pascal
        Result: Accepted
        Time:0 ms
        Memory:220 kb
    ****************************************************************/
     
    //By BLADEVIL
    var
        q, p                :int64;
    begin
        read(q,p);
        if p=q then
            writeln(p*q div 4) else writeln((p-1)*(q-1) div 4);
    end.
  • 相关阅读:
    python re模块
    python
    python
    Django学习手册
    Django学习手册
    前端
    前端
    Django学习手册
    前端
    Database学习
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3485852.html
Copyright © 2011-2022 走看看