hihocoder #1476 : 矩形计数
来源:互联网 发布:mac键盘使用技巧 编辑:程序博客网 时间:2024/06/08 06:24
http://hihocoder.com/problemset/problem/1476
显然就是容斥原理了。
先算出所有的矩阵一共有多少个
ll sum=n*(n+1)/2*m*(m+1)/2;
然后考虑对于任取x个黑色方框,
他们组成一个新的矩形,然后计算有多少个矩阵会覆盖整个矩形,也即,两条边所夹住的对顶两个小正方形的所有点的乘积
奇减偶加即可
#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=1e9+7;const int N=1e5+10;ll r[15],c[22];int main(){ ll n,m; cin>>n>>m; int k; cin>>k; for(int i=0; i<k; i++) scanf("%d%d",&r[i],&c[i]); ll sum=n*(n+1)/2*m*(m+1)/2; ll all=1<<k; ll maxx,minx,maxy,miny; for(int i=1; i<all; i++) { maxx=maxy=-1e9; minx=miny=1e9; for(int j=0; j<k; j++) { if (i&(1LL<<j)) { maxx=max(maxx,r[j]); minx=min(minx,r[j]); maxy=max(maxy,c[j]); miny=min(miny,c[j]); } } ll mx=n-(maxx)+1; ll my=m-(maxy)+1; ll tmp=minx*miny*mx*my; int num=__builtin_popcount(i); if (num%2) sum-=tmp; else sum+=tmp; } printf("%lld\n",sum); return 0;}
0 0
- hihocoder #1476 : 矩形计数
- hihoCoder 1476 矩形计数 dp
- #1476 : 矩形计数
- Hihocoder 计数
- 矩形计数
- hihocoder#1040判断矩形
- 【hihoCoder】 #1040 : 矩形判断
- hihocoder #1040 矩形判断
- hihoCoder 矩形判断
- [HihoCoder]#1040 : 矩形判断
- hihoCoder--1040 矩形判断
- hihocoder #1040 : 矩形判断
- hihocoder#1040之矩形判断
- hihocoder #1040 : 矩形判断 #java
- RQNOJ 698(矩形计数-圆内接矩形数)
- hihoCoder 1040 : 矩形判断 计算几何
- hihoCoder题目AC #1040 : 矩形判断 Java
- hihocoder 1040 矩形判断解题报告
- 3.3java面试笔试题
- Install Oracle Database 12cR2 On Oracle Enterprise Linux7.3
- eclipse导入jar包
- IDEA中多行注释及取消注释快捷键
- 谷歌技术"三宝"之MapReduce
- hihocoder #1476 : 矩形计数
- newcoder错题集
- 免费开源的嵌入式 OS、GUI、fs、数据库等
- YUV2RGB实验报告
- 如何脱颖而出?
- ElasticSearch并发操作之乐观锁的使用
- EditorWindow 和MenuItem
- Python 处理GBK编码转UTF-8读写乱码问题
- Xutils3图片缓存