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);
    }
  • 相关阅读:
    C++ 字符数组
    C++ 从函数返回数组
    C++给函数传数组参数
    串行通信的三种方式
    进程间通信pipe和fifo
    嵌入式开发基本知识
    查找算法
    排序算法
    offsetof与container_of宏[总结]
    uboot自定义添加命令
  • 原文地址:https://www.cnblogs.com/superminivan/p/10864465.html
Copyright © 2011-2022 走看看