【LGR-179-Div.2】复旦勰码 3 月月赛 II ZHYOI Round 4(A~B)

T431492 农场

有n个农场,告诉你农场的对角顶点坐标,农场都是矩阵。

要找出一个最大的矩阵(平行于x和y轴)把所有农场都圈起来。

那就保证最下面的点和最上面的点,最左边的点,最右边的点都能被圈到。

用l,r,u,d,来表示四个方向能衍生的最长距离,答案就是(r-l)*(u-d)

#include <bits/stdc++.h>
#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;void solve(){int n;cin>>n;int l,r,u,d;cin>>l>>u>>r>>d;if(r<l)swap(l,r);if(u<d)swap(u,d);per(i,1,n-1){per(j,1,2){int x,y;cin>>x>>y;l=min(l,x);r=max(r,x);u=max(u,y);d=min(d,y);}}cout<<(r-l)*(u-d);
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

T431493 线性变换

可以对x进行操作(x>=0时才能操作),x=ax-b,进行0次及以上操作,问x的最小值。

分类讨论:

当a=0,x=-b,答案在 x 和 -b 中选一个最小的。

当a=1,x=x-b,每次操作取决于b。

          若b>0,则x可以变小,且b的整数倍次会减掉,即x-=(x/b)*b,然后再减一次b让x<0即可。

          若b<=0,x不会变得更小。

当a=-1,x=-x-b,x = -(-x-b)-b = x,答案在 x 和 -x-b 中选一个最小的               

考虑是否有先变大再变小的情况,只能由a变换符号得到,只有负数才能变成正数,再变成负数。

而负数不可以执行操作,故操作之后值变大就可以停止循环。       

|a|>=2时,显然会给 x 带来指数级的变化,每次都 *2*2*2 很快就会运算结束,暴力穷举1000次。 

#include <bits/stdc++.h>
#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;void solve(){int x,a,b;cin>>x>>a>>b;if(a==0){cout<<min(x,-b)<<endl;}else if(a==1){if(b<=0){cout<<x<<endl;}else{x-=(x/b)*b;while(x>=0)x-=b;cout<<x<<endl;}}else if(a==-1){cout<<min(x,-x-b)<<endl;}else{int ans=x;per(i,1,1000){x=a*x-b;if(x>=ans)break;ans=x;if(ans<0)break;}cout<<ans<<endl;}
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;cin>>t;while(t--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于matlab使用 fmincon 函数来进行有约束条件的最小化问题求解

一、一般步骤 生成带有噪声的正态分布数据&#xff1b;定义拟合模型。 model (params, x) normpdf(x, params(1), params(2)); 初始参数猜测 initial_guess [mu, sigma]; 设置约束条件 lb [0, 0]; % 参数的最小值 ub [10, 10]; % 参数的最大值 定义优化问题 opts …

deepseek-coder模型量化

1 简介 DeepSeek-Coder在多种编程语言和各种基准测试中取得了开源代码模型中最先进的性能。 为尝试在开发板进行部署&#xff0c;首先利用llama.cpp对其进行量化。 2 llama.cpp安装 git clone之后进入文件夹make即可&#xff0c;再将依赖补全pip install -r requirements.tx…

IOS面试题object-c 131-135

131. 简述category如何被加载的?两个 category 的load方法的加载顺序?两个 category 的同名方法的加载顺序? ?category的加载是在运行时发生的,加载过程是:把category的实例方法、属性、协议添加到类对象上,把category的类方法、属性、协议添加到metaclass上。 category…

【吊打面试官系列】Java虚拟机JVM篇 - 关于双亲委派模型

大家好&#xff0c;我是锋哥。今天分享关于JVM双亲委派模型的JVM面试题&#xff0c;希望对大家有帮助&#xff1b; 什么是双亲委派模型&#xff1f; 双亲委派模型针对的是 Java 虚拟机中三个类加载器的&#xff0c;这三个类加载器分别是&#xff1a; 启动类加载器&#xff08;B…

基于深度学习的车辆检测技术

基于深度学习的车辆检测技术是现代智能交通系统的重要组成部分&#xff0c;它利用计算机视觉和机器学习算法&#xff0c;特别是深度学习模型&#xff0c;来识别和定位图像或视频中的车辆。这项技术广泛应用于自动驾驶、交通监控、违章抓拍等多个领域。 深度学习车辆检测技术的…

Nacos 如何实现配置文件动态更新的

Nacos采用的是一个长轮询的方式&#xff0c;向Nacos Server 端去发起配置更新查询的这样一个功能。长轮询&#xff1a;客户端发起一次轮询请求到服务端&#xff0c;当服务器端配置没有任何变更的时候&#xff0c;这个连接会一直打开&#xff0c;直到服务端有配置变更或者连接超…

node.js快速入门-day03

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;给自己一个梦想&#xff0c;给世界一个惊喜。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章目录 web服务器创建…

力扣hot100:34. 在排序数组中查找元素的第一个和最后一个位置(二分查找的理解)

我们知道使用二分查找能找到值所在的位置。假如我们在找到值后仍然不断的更新指针会发生什么&#xff1f;我们可以利用这一点来找到最左边的以及最右边的值。 如果当nums[mid]target时&#xff0c;使得 rightmid-1&#xff0c;那么最终会使得target在right的右边。 如果当nums[…

海外媒体宣发套餐推广攻略实现品牌全球化-华媒舍

如今&#xff0c;在全球经济一体化的浪潮下&#xff0c;品牌全球化已成为企业成功的重要因素之一。海外市场作为一个巨大而具有潜力的机会&#xff0c;吸引着越来越多的企业前往探索。而在海外市场的推广过程中&#xff0c;海外媒体宣发套餐成为了重要的推广方式之一。本文将为…

Linux系统优化及性能调优

目录 一、基本优化 1. SELinux和防火墙优化 1.1 selinux概述 1.2 selinux三种工作模式 1.3 切换selinux模式 1.4 防火墙概述 1.5 firewalld管理工具 2. 自启动服务优化 2.1 Systemd 2.2 SysVinit 3. 禁用超级管理员 4. 普通用户提权 5. 使用国内yum源 5.1 配置阿…

量化交易入门(一)学习量化交易需要掌握哪些知识

学习量化&#xff08;Quantitative Analysis&#xff09;&#xff0c;特别是在金融领域的量化分析或量化交易&#xff0c;需要掌握以下几个方面的知识&#xff1a; 数学和统计学&#xff1a;高等数学&#xff08;微积分、线性代数等&#xff09;、概率论与数理统计是量化分析的…

【S5PV210_视频编解码项目】裸机开发:实现按键的外部中断处理

加粗样式本文所作内容&#xff1a; 基于S5PV210芯片实现按键的外部中断处理程序&#xff0c;搭建中断处理流程框架 S5PV210对于中断处理的操作流程 1 外部中断得到触发&#xff1a; 1&#xff09;外部中断在初始化阶段得到使能 2&#xff09;外界达到了外部中断的触发条件 …

24考研数学最大教训❗️660/880过时了?

我没看错吧&#xff0c;说660题和880题过时了&#xff1f; 660题和880题好好用&#xff0c;这俩很经典不会过时。 660题是客观题训练必刷的一本题集&#xff0c;而880是强化阶段非常好的一本综合性题集。我本身在考研的时候使用的也是这两本题集&#xff0c;所以对这两本题集…

如何学习一个大型分布式Java项目

前言 很多同学在没有实习经验的时候看到一个多模块分布式项目总是有一种老虎吃天的无力感&#xff0c;就像我刚毕业去到公司接触项目的时候一样&#xff0c;模块多的夸张&#xff0c;想学都不知道从哪开始学&#xff0c;那么我们拿到一份代码后如何从头开始学习一个新项目呢。…

pyinstaller使用笔记

1. 简介 pyinstaller是一个第三方库&#xff0c;它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包&#xff0c;通过对源文件打包&#xff0c; Python 程序可以在没有安装 Python 的环境中运行&#xff0c;也可以作为一个 独立文件方便传递和管理。 PyIns…

Oracle Primavera Analytics 是什么,与P6的关系?

前言 Oracle Primavera P6 Analytics 是与P6有关的一个相对较新的模块&#xff0c;Primavera 用户社区在很大程度上尚未对其进行探索。 那么它到底有什么作用呢&#xff1f; 通过了解得知它旨在通过深入了解组织的项目组合绩效&#xff0c;帮助高级管理层对其项目组合做出更好…

「Linux系列」Linux 系统目录结构/忘记密码解决方法

文章目录 一、Linux 系统目录结构Linux系统目录结构的概念案例 二、Linux 忘记密码解决方法方法一&#xff1a;使用root用户重置密码方法二&#xff1a;使用单用户模式重置密码方法三&#xff1a;使用恢复模式或救援模式案例&#xff1a;使用CentOS的救援模式重置密码 三、相关…

PE文件格式知识点汇总

简单概述&#xff1a;可执行文件之所以被操作系统加载且运行&#xff0c;是因为它们遵循相同的规范&#xff0c;而这个规范正是PE文件格式所确定。 1、PE文件格式的定义 PE文件格式&#xff1a;PE&#xff08;Portable Executable&#xff09;是win32平台下可执行文件遵守的数…

Python进阶学习(6)异常

文章目录 异常1.异常的定义2.异常错误3.异常处理&#xff08;捕捉异常&#xff09;4.assert断言5. 定义异常 异常 1.异常的定义 什么是异常&#xff1a;报错 也可以去链接资源访问某个网站时&#xff0c;中断程序&#xff0c;也叫异常 捕捉异常&#xff1a;因为我们在程序编…

MySQL | 库的操作 | 表的操作

目录 1. 库的操作 1.1. 创建数据库 1.2. 字符集和校验规则 1.2.1. 查看系统默认字符集以及校验规则 1.2.2. 查看数据库支持的字符集 1.2.3. 查看数据库支持的字符校验规则 2. 操作数据库 2.1. 查看数据库 2.2. 显示创建语句 2.3. 修改数据库 2.4. 数据库的删除 2.4.…