博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #545 (Div. 2) C. Skyscrapers (离散化)
阅读量:5045 次
发布时间:2019-06-12

本文共 1168 字,大约阅读时间需要 3 分钟。

题意:

给你n*m个点,每个点有高度h [ i ][ j ] ,用[1,x][1,x]的数对该元素所处十字上的所有元素重新标号,

并保持它们的相对大小不变。n,m1000n,m≤1000 ,求其最小标号的最大值。

 

思路:

把行列离散化一下,然后答案是把十字上的所有数相对大小的最大值

 

代码:

#include
using namespace std;#define N 1005int n,m;vector
r[N],c[N];int h[N][N];int main(){ while(~scanf("%d %d",&n,&m)) { for(int i=1;i<=n;i++) r[i].clear(); for(int j=1;j<=m;j++) c[j].clear(); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&h[i][j]); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) r[i].push_back(h[i][j]); sort(r[i].begin(),r[i].end()); r[i].erase(unique(r[i].begin(),r[i].end()),r[i].end()); } for(int j=1;j<=m;j++) { for(int i=1;i<=n;i++) c[j].push_back(h[i][j]); sort(c[j].begin(),c[j].end()); c[j].erase(unique(c[j].begin(),c[j].end()),c[j].end()); } /* for(int i=1;i<=n;i++) { for(int j=0;j
View Code

从中也学习了一下unique的用法

参考博客:https://www.cnblogs.com/antiquality/p/10501112.html#_label2_0

转载于:https://www.cnblogs.com/zhgyki/p/10555839.html

你可能感兴趣的文章
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>