zoukankan      html  css  js  c++  java
  • 洛谷 P2735 电网

    https://www.luogu.org/problemnew/show/P2735

    定理什么的最讨厌了,匹克定理?不会,也不想学。

    粉色的为电网,将图中的电网我们将他构造一个矩形,然后蓝色和绿色的的补齐。

    那么我们的答案就是:矩阵中的点数- 蓝色三角形中的点数- 绿色三角形中的点数。

    然后我们单独拿出一个三角形来考虑。

    从箭头开始向左考虑,

    我们将这个三角形一点一点的扩大,看每次能覆盖几个点。

    随着h不断变大那么,不断有点被覆盖,那么不断加入的点的个数就是$$ lfloor frac{b}{a} imes x floor +1 $$。

    我们对每个三角形进行处理,然而不要忘记电网的下边缘哦。

    最后你会发现有几个点重复处理了(电网下边缘的端点),所以再+2就好了。

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    #define LL unsigned long long
    #define inf 2147483647
    LL n,m,p,ans;
    LL calc(double a,double b)
    {
        if(a==0)return b+1;
        if(b==0)return a+1;
        LL sum=0;
        double h=b/a;
        for(LL i=0;i<=a;i++)
        {
            sum+=(LL)(h*double(i)+1);
        }
        return sum;
    }
    int main()
    {
        cin>>n>>m>>p;
        ans=(max(n,p)+1)*(m+1);
    //    cout<<ans<<"
    ";
    //    cout<<calc(n,m)<<" "<<calc(max(n,p)-min(n,p),m);
        ans-=calc(n,m);
        ans-=calc(max(n,p)-min(n,p),m);
        ans-=p;
        cout<<ans+2;
    } 
  • 相关阅读:
    音频处理之回声消除及调试经验
    音频软件开发中的debug方法和工具
    ZJOI2015地震后的幻想乡
    HEOI2015小L的白日梦
    THUWC2017随机二分图
    PKUWC Slay The Spire
    dp的一些计划
    鸡汤征集贴
    弱菜的各种模板
    洛谷P4902乘积
  • 原文地址:https://www.cnblogs.com/rmy020718/p/9776916.html
Copyright © 2011-2022 走看看