洛谷3933 Chtholly Nota Seniorious 二分答案+贪心
题目链接
题意
给你一个N*M的矩阵 (N,M <=2000) 把他分成两部分 使两部分的极差较大的一个最小 求这个最小值。然后分矩阵的要求是:每个部分内部的方块之间,可以通过上下左右相互到达,而且每个内部的方块之间互相到达,最多允许拐一次弯(不能出现“凹”233)
二分答案+贪心
二分上界是矩阵max-min
判断的时候 由于 分开的矩阵在每一行肯定是连续的 所以就按顺序扫一遍 判断一下在哪里分开即可
还有就是由于最大值最小值所在的位置不确定 ,我们需要旋转3次这个矩阵然后求最优答案
代码
#include<bits/stdc++.h> #define MAXN 2017 #define INF 0x7f7f7f7f using namespace std; int N,M,a[MAXN][MAXN],maxa,mina=INF,ans=INF; bool check(int tmp){int pos=1;for(int i=1;i<=N;i++){for(int j=1;j<=M;j++)if(a[i][j]<maxa-tmp)pos=max(j+1,pos);for(int j=1;j<=M;j++)if(a[i][j]>mina+tmp)if(j<pos)return 0;}return 1; } int Solve(){int l=0,r=maxa-mina;while(l<r){int mid=l+r>>1;if(check(mid))r=mid;else l=mid+1; } return l; } void flip1(){for(int i=1;i<=N/2;i++)for(int j=1;j<=M;j++)swap(a[i][j],a[N-i+1][j]); } void flip2(){for(int j=1;j<=M/2;j++)for(int i=1;i<=N;i++)swap(a[i][j],a[i][M-j+1]); }int main() {scanf("%d%d",&N,&M);for(int i=1;i<=N;i++)for(int j=1;j<=M;j++){scanf("%d",&a[i][j]);maxa=max(maxa,a[i][j]);mina=min(mina,a[i][j]);}flip2();ans=Solve();flip1();ans=min(ans,Solve());flip2();ans=min(ans,Solve());flip2();ans=min(ans,Solve());printf("%d\n",ans);return 0; }
转载于:https://www.cnblogs.com/Elfish/p/7714458.html
洛谷3933 Chtholly Nota Seniorious 二分答案+贪心相关推荐
- 洛谷P3933 Chtholly Nota Seniorious 【二分 + 贪心 + 矩阵旋转】
威廉需要调整圣剑的状态,因此他将瑟尼欧尼斯拆分护符,组成了一个nnn行mmm列的矩阵. 每一个护符都有自己的魔力值.现在为了测试圣剑,你需要将这些护符分成 A,B两部分. 要求如下: 圣剑的所有护符, ...
- 洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA
洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA 二分交费最多的一次的钱数 然后只将符合要求的边加入图中 如果到终点的最短路大于等于血量 或者直接起点不能到达终点 那么说明不符合要求 需要 ...
- 洛谷 P1824 进击的奶牛 【二分答案】(求最大的最小值)
题目链接:https://www.luogu.org/problemnew/show/P1824 题目描述 Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚, ...
- 洛谷P1902 刺杀大使(二分答案+bfs验证)
题目描述 伊朗伊斯兰革命卫队(某恐怖组织)正在策划一起刺杀行动,他们的目标是沙特驻美大 使朱拜尔.他们来到了沙特驻美使馆,准备完成此次刺杀,要进入使馆首先必须通过使馆前 的防御迷阵. 迷阵由 n*m ...
- [洛谷1462 ]通往奥格瑞玛的道路---二分答案+spfa
题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯, ...
- noip模拟赛 Chtholly Nota Seniorious
题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg こんなにも.たくさんの幸せをあの人に分けてもらった だから.きっと 今の.私は 谁が何と ...
- Chtholly Nota Seniorious
题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg こんなにも.たくさんの幸せをあの人に分けてもらった だから.きっと 今の.私は 谁が何と ...
- luogu3933 Chtholly Nota Seniorious
http://www.elijahqi.win/archives/1442 题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg こんなにも. ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
最新文章
- Redux源码浅析系列(二):`combineReducer`
- [BUGKU][CTF][PWN][2020] PWN writeup
- 英雄多少钱steam_Steam农历新年特卖:越来越火热的中国单机游戏市场 | 游戏干线...
- 本地图片预览代码(支持 IE6、IE7)
- c语言查看错误步骤命令,C语言之预处理命令
- TFS 2010 使安装更容易,让VSS历史
- iOS 更新日志 - 持续更新中
- 4场直播丨Oracle、openGauss、易鲸捷EsgynDB
- win10taskkill强行结束进程_win10系统强制结束进程命令的方案
- 基于https的harbor部署与升级
- java用dockerfile生成镜像_【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub...
- 前端使用vue+ js-xlsl + elemen-ui实现导出Excel表格(绝对好使, 前端有问题直接关注我, 或者评论立刻给你回应, 专业解决)
- 蓦然认知全球发布会:用新的技术引擎为设备商和传统企业赋能丨Xtecher 观察
- java写入html文件乱码,java写入到html文件 打开是乱码
- windows 空会话 ipc$域控 SYSVOL 和NETLOGON共享
- Hub能新建但不能打开项目 Failed to connect to pipe_20220313
- 基因相关性——字符串入门
- 【Python自动化Excel】pandas处理Excel的拆分、合并
- 算法的时间与空间复杂度介绍
- Ik分词器(自定义分词-mysql)
热门文章
- Class.forName解析以及使用
- maven环境快速搭建
- 【oracle】sqlnet.ora 访问控制策略
- 内存管理 初始化(七)kmem_cache_init_late 初始化slab分配器(下)
- 《失业的程序员》(六):加班
- (转) Android生成签名文件并用其对apk文件进行签名
- ngnix+keepalived 实现N主高可用负载均衡web群集
- 学习OCS客户端定制
- mysql修改字符集utf8为utf8mb4
- Swift的控制转移语句-- fallthrough语句