bzoj4776[Usaco2017 Open]Modern Art
来源:互联网 发布:c语言代码实例 编辑:程序博客网 时间:2024/06/06 02:39
题目意思就不说了,挺明显的。
想法也挺明显的,就是把每个数字最大出现矩形都框起来,然后看那些格子的出现次数>1,这个格子里面的数字肯定不是第一个,然后去掉就好了。
框格子用二维前缀和就好了
1A.
#include<cstdio>#include<algorithm>#include<iostream>#include<queue>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)#define inf 0x3f3f3f3fusing namespace std;const int N=1e3+5;const int M=N*N;int n,cnt,ans;int a[N][N],tim[N][N];bool vis[M];int up[M],down[M],right1[M],left1[M];int main(){ scanf("%d",&n); memset(up,0x3f,sizeof(up)); memset(left1,0x3f,sizeof(left1)); fo(i,1,n) fo(j,1,n) { scanf("%d",&a[i][j]); if (a[i][j]) { if (up[a[i][j]]==inf)++cnt; up[a[i][j]]=min(up[a[i][j]],i); down[a[i][j]]=max(down[a[i][j]],i); left1[a[i][j]]=min(left1[a[i][j]],j); right1[a[i][j]]=max(right1[a[i][j]],j); } } fo(i,1,n*n) if (up[i]!=inf) { tim[up[i]][left1[i]]++; tim[down[i]+1][left1[i]]--; tim[up[i]][right1[i]+1]--; tim[down[i]+1][right1[i]+1]++; } /*fo(i,1,n) { fo(j,1,n) printf("%d ",tim[i][j]); printf("\n"); }*/ fo(i,1,n) fo(j,1,n) tim[i][j]+=tim[i-1][j]+tim[i][j-1]-tim[i-1][j-1]; fo(i,1,n) fo(j,1,n) if (a[i][j]&&tim[i][j]>1)vis[a[i][j]]=1; fo(i,1,n*n)if (!vis[i])ans++; if (cnt==1&&n!=1)--ans; printf("%d\n",ans); return 0;}
阅读全文
0 0
- bzoj4776[Usaco2017 Open]Modern Art
- [Usaco2017 Open]Modern Art 2
- BZOJ 4776 Usaco2017 Open Modern Art
- BZOJ 4780 Usaco2017 Open Modern Art 2
- BZOJ 4776([Usaco2017 Open]Modern Art-想法题)
- bzoj 4780: [Usaco2017 Open]Modern Art 2 (模拟)
- bzoj 4776: [Usaco2017 Open]Modern Art 二维差分
- 【usaco2017 March Platinum】Modern Art
- bzoj4781[Usaco2017 Open]Paired Up
- [Usaco2017 Open]Bovine Genomics //Trie
- BZOJ 4778 Usaco2017 Open COWBASIC 矩阵乘法
- BZOJ 4781 Usaco2017 Open Paired Up
- BZOJ 4782 Usaco2017 Open Bovine Genomics
- bzoj4778[Usaco2017 Open]COWBASIC 矩阵乘法
- BZOJ 4781: [Usaco2017 Open]Paired Up 贪心
- bzoj 4781: [Usaco2017 Open]Paired Up
- JZOJ 5111. 【usaco2017_Mar Platinum】Modern Art
- art.dialog.open用法
- 汇编--学习笔记(十三)-中断及中断处理程序
- JNI在C和C++中的调用区别
- 命名空间
- informix LIST
- Android侧滑菜单大总结(代码都是参考的网上各位大佬)
- bzoj4776[Usaco2017 Open]Modern Art
- ELK安装步骤
- mycat1.5+mysql5.7+centos7
- 算法----五大算法之动态规划
- Android Studio中设置注释模板
- 重读网峰A8文档---之---构建根文件系统
- mysql获取当前时间,前一天,后一天
- Mongoose学习笔记
- QT中的编码