zoukankan      html  css  js  c++  java
  • [題解](函數下整點個數?)luogu_P4132_BZOJ_2659_算不出的等式

    兩個都是一次函數,下取整就是整點個數,兩個函數k剛好成倒數,所以最後發現會組合成一個矩形

    (為啥要考慮重複與否的問題???)

    然而這樣會不會重複計算點數呢 我們發現因為取的是圖像下的整數點 所以要想重複算必須有整點的交集

    然而pq互質,函數值不會有整數,把兩個函數圖像旋轉拼合以後可以發現不會重複算

    但是當p和q相等的時候就會有交集了,這樣把對角線上重複算的去掉,

    ((p-1)/2)((p-1)/2)是矩形中的点数,后面是重复的点(有((p-1)/2)((p-1)/2)个点就有(p-1)/2)个点在对角线上,拼起来会重合)

    提出(p-1)/2就是(p2p^2p2−1)/4,p为奇数,平方减一是偶数除以4与本身除以4同效(整数会自动舍弃小数位)

    #include<iostream>
    #include<cstdio>
    using namespace std;
    long long p,q;
    int main(){
        scanf("%lld%lld",&p,&q);
        if(p!=q)printf("%lld",((p-1)/2)*((q-1)/2));
        else printf("%lld",p*q/4);
    }
  • 相关阅读:
    Storm
    Linux 网络配置
    .NET Remoting
    jwt
    new操作符
    元数据
    C# lock
    三十而立
    面试
    灯火
  • 原文地址:https://www.cnblogs.com/superminivan/p/10864465.html
Copyright © 2011-2022 走看看