题目:https://codeforces.com/contest/1138/problem/C

第一回做到这种离散化的题目,,

关于离散化首先用两个stl函数:lower_bound和unique,,unique可以统计数组中一共有多少个不同的数字。

一维数组离散化:(重复元素离散化后相同)

    int n = 10;int a[100], b[100];for(int i = 0; i < n; i++) {cin >> a[i], b[i] = a[i];}sort(b, b + n);int num = unique(a, a + n) - a;for(int i = 0; i < n; i++) {a[i] = lower_bound(b, b + num, a[i]) - b + 1;}for(int i = 0; i < n; i++)cout << a[i] << " ";

把一维数组的应用到二维数组后就可以了。

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define ll long long
#define mem(ar,num) memset(ar,num,sizeof(ar))
#define me(ar) memset(ar,0,sizeof(ar))
#define lowbit(x) (x&(-x))
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define DEBUG cout<<endl<<"DEBUG"<<endl;
using namespace std;
int n, m, mp[1005][1005], Topa[1005], Topb[1005], a[1005][1005], b[1005][1005];
int main() {IOSscanf("%d%d", &n, &m);for(int i = 1; i <= n; i++)for(int j = 1; j <= m; j++)scanf("%d", &a[i][j]), mp[i][j] = b[j][i] = a[i][j];for(int i = 1; i <= n; i++)sort(a[i] + 1, a[i] + 1 + m), Topa[i] = unique(a[i] + 1, a[i] + 1 + m) - a[i] - 1;//第i行有多少不同的数字for(int i = 1; i <= m; i++)sort(b[i] + 1, b[i] + 1 + n), Topb[i] = unique(b[i] + 1, b[i] + 1 + n) - b[i] - 1;//第i列有多少不同的数字for(int i = 1; i <= n; i++, putchar('\n'))for(int j = 1; j <= m; j++) {int K1 = lower_bound(a[i] + 1, a[i] + 1 + Topa[i], mp[i][j]) - a[i];//一行里当前位置数的排序位置int K2 = lower_bound(b[j] + 1, b[j] + 1 + Topb[j], mp[i][j]) - b[j];//一列里当前位置数的排序位置printf("%d ", max(K1, K2) + max(Topa[i] - K1, Topb[j] - K2));//行列最大}return 0;
}

Codeforces Round #545 (Div. 2) C. Skyscrapers相关推荐

  1. Codeforces Round #545 (Div. 2)

    https://codeforces.com/contest/1138 B: #include <bits/stdc++.h> using namespace std; const int ...

  2. Codeforces Round #545 (div 1.)

    B.Camp Schedule 给两个 $01$ 串 $s$ 和 $t$,你可以将 $s$ 串任意重排,要求最大化 $t$ 在 $s$ 子串中出现的次数,可以重叠 $|s|,|t| \leq 5000 ...

  3. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  4. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  5. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  6. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  7. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  8. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

  9. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  10. Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...

最新文章

  1. 支持移动端深度学习的几种开源框架
  2. 前端面试问题(HTML5+Http+web)
  3. 超图桌面版下载、安装、使用入门
  4. Python基础教程:内置类型之比较
  5. PaddlePaddle, TensorFlow, MXNet, Caffe2 , PyTorch五大深度学习框架2017-10最新评测
  6. if else 简写_15+ JS简写骚操作,让你的代码“秀”起来??
  7. JavaScript实现截留雨水问题的动态编程方法算法(附完整源码)
  8. 告别2013拥抱2014
  9. grpc ssl使用
  10. 程序员面试金典——9.9n皇后问题
  11. Q135:PBRT-V3,随机渐进光子映射(Stochastic Progressive Photon Mapping)(16.2章节)
  12. [20141121]无法通过powershell读取sql server性能计数器问题
  13. 会声会影制作转场特效及视频转场的应用
  14. 计算机右键菜单太多,鼠标右键菜单选项太多?教你清理多余菜单选项的方法-win7右键菜单管理...
  15. HTML、CSS制作小米商城网页首页源码解析
  16. 五大领域总目标指南_五大领域总目标记忆口诀
  17. Transcend带来4TB/8TB私人云储存解决方案Storejet
  18. 阿里云弹性云桌面安装失败问题解决记录(.net framework 4.6.2 or later:Error Code: 12029)
  19. window10安装minio
  20. 《我的PaddlePaddle学习之路》笔记一——PaddlePaddle的安装

热门文章

  1. python程序分析之少样本学习
  2. 解决VMware安装ubuntu16.04后无法全屏的问题
  3. 第三阶段应用层——1.7 数码相册—电子书(6)—支持远程打印信息
  4. python编写收入支出明细程序_PHP编程之收入支出明细表实现技术
  5. Android上层进入recovery流程
  6. Deeplink最全解析
  7. 在淘宝里,他们总结的一些前端Tips
  8. [Joy]冷笑话急转弯
  9. ffmpeg添加自定义硬件编解码器
  10. java中的private访问控制