统计方形(数据加强版)
Posted WeiAR
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计方形(数据加强版)相关的知识,希望对你有一定的参考价值。
洛谷P2241 统计方形(数据加强版)
我的做法是在求矩形时(包括正方形),用的是长从1~m,宽从1~n枚举的,但是数学方法往往能起到四两拨千斤的效果,其实矩形的个数就是Cn+22 * Cm+22.因为确定一个矩形只需要确定它的两个端点就可以了,为啥要n+1,m+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; }
以上是关于统计方形(数据加强版)的主要内容,如果未能解决你的问题,请参考以下文章
Spark 加强版WordCount ,统计日志中文件访问数量