统计方形(数据加强版)

Posted WeiAR

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计方形(数据加强版)相关的知识,希望对你有一定的参考价值。

洛谷P2241 统计方形(数据加强版)

我的做法是在求矩形时(包括正方形),用的是长从1~m,宽从1~n枚举的,但是数学方法往往能起到四两拨千斤的效果,其实矩形的个数就是Cn+22  *  Cm+22.因为确定一个矩形只需要确定它的两个端点就可以了,为啥要n+1m+1呢?因为矩形边长可以为1,就是另一个点选空。若只求长方形,用容斥原理即可。

 

#include<bits/stdc++.h>
using namespace std;
unsigned long long n,m;
unsigned long long zf,cf;
int main()
{
    cin>>n>>m;
  unsigned   long long l=n,k=m;
  while(l>=1&&k>=1)
  {
      zf+=l*k;
      l--;
      k--;
  }
  l=n,k=m;
  while(l>=1)
  {
      while(k>=1)
      {
          cf+=l*k;
          k--;
    }
    k=m;
    l--;  
  }
  cout<<zf<< <<cf-zf;
return 0;
}

 

以上是关于统计方形(数据加强版)的主要内容,如果未能解决你的问题,请参考以下文章

P1429 平面最近点对(加强版)(分治)

Spark 加强版WordCount ,统计日志中文件访问数量

数据结构之_单链表加强版企业链表的实现

luogu P3796模板AC自动机(加强版)

习题2.3 数列求和-加强版(20 分)浙大版《数据结构(第2版)》题目集

bzoj2594 [Wc2006]水管局长数据加强版