社交圈..

news2024/11/25 0:39:06

社交圈 - 题目 - Daimayuan Online Judge                   

     

 

思路:我们能够想到,如果i,j是并列的,则l[i]与r[j]会有重合的部分,那么其实重合的部分越多越好,其实就是让l[i]与r[i]的差值越小越好,同时要让\sum_{1}^{n} abs(l[i]-r[i])越小越好,即对于所有的差值的和越小越好,我们能够发现对于这种情况通过贪心能够知道如果两个数组都是有序的,那么这两个序列的差值和是最小的,同时我们发现我们一定能够构造出来一种解是满足这种匹配的

 通过上面的证明我们能够知道一定可以构造出一种满足要求的解

#include<iostream>
#include<cstring>
#include<string>
#include<sstream>
#include<bitset>
#include<deque>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<vector> 
#include<set>
#include<unordered_map>
#include<ctime>
#include<cstdlib>
#define fi first
#define se second
#define i128 __int128
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef pair<int,pair<int,int> > PIII;
const double eps=1e-7;
const int N=5e5+7 ,M=5e5+7, INF=0x3f3f3f3f,mod=1e9+7,mod1=998244353;
const long long int llINF=0x3f3f3f3f3f3f3f3f;
inline ll read() {ll x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(ll)x*10+c-'0';c=getchar();} return x*f;}
inline void write(ll x) {if(x < 0) {putchar('-'); x = -x;}if(x >= 10) write(x / 10);putchar(x % 10 + '0');}
inline void write(ll x,char ch) {write(x);putchar(ch);}
void stin() {freopen("in_put.txt","r",stdin);freopen("my_out_put.txt","w",stdout);}
bool cmp0(int a,int b) {return a>b;}
template<typename T> T gcd(T a,T b) {return b==0?a:gcd(b,a%b);}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
void hack() {printf("\n----------------------------------\n");}

int T,hackT;
int n,m,k;
int l[N],r[N];

void solve() {
	n=read();
	
	for(int i=1;i<=n;i++) l[i]=read(),r[i]=read();
	
	ll res=0;
	sort(l+1,l+1+n);
	sort(r+1,r+1+n);
	
	for(int i=1;i<=n;i++) res+=max(l[i],r[i]);
	
	printf("%lld\n",res+n);
}   

int main() {
    // init();
    // stin();

    // scanf("%d",&T);
    T=1; 
    while(T--) hackT++,solve();
    
    return 0;       
}          

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

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

相关文章

使用qemu创建ubuntu-base文件系统,并安装PM相关内核模块

目录 一、配置镜像二、使用qemu模拟nvdimm&#xff08;安装PM相关内核模块&#xff09;运行记录 遇到的一些问题1、ext4文件系统损坏问题&#xff1a;系统启动时&#xff0c;遇到ext4的报错信息解决办法&#xff1a;2、内核模块未成功加载3、qemu报错4、主机终端无法正常打开 流…

一、对象的概念(2)

本章概要 复用继承 “是一个”与“像是一个”的关系 多态 复用 一个类经创建和测试后&#xff0c;理应是可复用的。然而很多时候&#xff0c;由于程序员没有足够的编程经验和远见&#xff0c;我们的代码复用性并不强。 代码和设计方案的复用性是面向对象程序设计的优点之一…

MacOS Sonoma 14.0 (23A5286i) Beta3 带 OC 0.9.3 and FirPE 双分区原版黑苹果镜像

7 月 12 日苹果发布了 macOS Sonoma 14.0 Beta3 第二个版本&#xff08;内部版本号&#xff1a;23A5286i&#xff09;和 tvOS 17 Beta3&#xff08;内部版本号&#xff1a; 21J5303h&#xff09;&#xff0c;同时还面向iOS / iPadOS 17 更新发布 Beta3 更新。 一、镜像下载&…

力扣每日一题2023.7.14在二叉树中分配硬币

题目: 示例: 分析: 给一个二叉树,二叉树的值总和等于整个二叉树的节点数,我们一次可以移动一个节点的一个值到相邻节点,问我们需要移动多少次才可以把值的总和平均分配每个节点(即每个节点的值都为1). 我们可以确定的是,如果某个节点的左子树共有n个节点,而节点值总和为m,那么…

【2023,学点儿新Java-35】强制类型转换的执行时机、风险与安全 | 基本类型转换、引用类型转换

前情提要&#xff1a; 【2023&#xff0c;学点儿新Java-34】基本数据类型变量 运算规则&#xff1a;自动类型提升、强制类型转换 | 为什么标识符的声明规则里要求不能数字开头&#xff1f;&#xff08;通俗地讲解——让你豁然开朗&#xff01;&#xff09;【2023&#xff0c;学…

嵌入式Linux开发实操(五):embedded linux嵌入式Linux开发

前言: embedded linux开发有个好处就是开源的,总的来说涉及五个部分: 1、工具链Toolchain:为目标设备创建代码需要的编译器和其他工具。其他一切都取决于工具链。 2、引导程序Bootloader:它初始化板并加载Linux kernal。 3、内核kernal:这是系统的core核心,管理系统…

ELK-日志服务【redis-配置使用】

目录 环境 【1】redis配置 【2】filebeat配置 【3】对接logstash配置 【4】验证 【5】安全配置&#xff1a;第一种&#xff1a;kibana-nginx访问控制 【6】第二种&#xff1a;在ES-主节点-配置TLS 【7】kibana配置密码 【8】logstash添加用户密码 环境 es-01,kibana 1…

一文详解什么是数据库分片

概要 应用程序正在变得越来越好&#xff0c;它拥有更多的功能、更多的活跃用户&#xff0c;并且每天都会收集更多的数据。但数据库现在导致应用程序的其余部分变慢。数据库分片可能是问题的答案&#xff0c;但许多人不知道它是什么&#xff0c;最重要的是何时使用它。在本文中我…

Android13 编译错误汇总

1. error: New setting keys are not allowed 一版是在Settings中添加了新的字段导致的 解决&#xff1a; 在你的字段上面加上SuppressLint("NoSettingsProvider") 继续编译应该会出现 按照提示 make api-stubs-docs-non-updatable-update-current-api 然后再…

领域驱动设计(四) - 战略设计 - 【2/2】核心域提取和模型能力设计

模型的复杂性必须通过重构和知识的消化才能把关键的领域、最有价值的部分&#xff08;core domain&#xff09;、优先级提取出来。让团队而把主要精力放在core domain上而不要为无关的细节分散注意力&#xff0c;这有益于&#xff1a; 帮助团队成员掌握系统的总体设计以便更好…

基于多场景的考虑虑热网网损的太阳能消纳能力评估研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

微信小程序使用字体图标——链接引入

目录 1.下载字体图标 1.选择需要的图标加入购物车添加到项目 2.查看项目 3.生成在线链接 4.复制生成的链接 等下放到iconfont.json中​编辑 2.引入链接 1.下载 2.生成iconfont.json文件 3. 在iconfont.json中 放入生成的链接 4.需要重新编译小程序之后在终端执行 5…

二维码识别 OCR 原理及如何应用于物流和仓储管理中

摘要 在传统的物流和仓储管理中&#xff0c;人工操作容易出现错误和低效率。然而&#xff0c;随着二维码技术的普及和二维码识别OCR接口的应用&#xff0c;物流和仓储管理实现了更高水平的自动化和智能化。通过扫描和解码二维码&#xff0c;物流和仓储管理系统可以实现货物跟踪…

yapi的部署和安装

安装Node.js环境 wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz 或者直接浏览器下载传输到服务器上。 https://nodejs.org/zh-cn/download/tar -xvf node-v14.15.4-linux-x64.tar.xz 太高版本不行&#xff0c;install会报错。16开头的。 配置环境…

使用cpolar内网穿透,将Tomcat网页发布到公共互联网

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

前端JavaScript入门-day07

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 深入对象 创建对象三种方式 1. 利用对象字面量创建对象 2. 利用 new Object 创建对象 3. 利用构造函数创建对…

Java阶段五Day06

Java阶段五Day06 文章目录 Java阶段五Day06问题解析阶段性架构图 Dubbo组件远程调用RPC概括DubboDubbo调用案例调用业务选择和dubbo角色环境准备dubbo远程调用原理 问题解析 阶段性架构图 这个架构图&#xff0c;由于nacos的功能&#xff0c;可以实现服务治理&#xff08;服务…

精确长延时电路/数字式长延时电路设计

精确长延时电路 该电路由CD4060组成定时器的时基电路&#xff0c;由电路产生的定时时基脉冲&#xff0c;通过内部分频器分频后输出时基信号。在通过外设的分频电路分频&#xff0c;取得所需要的定时控制时间。 一、电路工作原理 电路原理如图13 所示。 通电后&#xff0c;时…

MySQL在Centos 7环境安装

说明&#xff1a; 1.安装与卸载中&#xff0c;用户全部切换成为root&#xff0c;一旦安装&#xff0c;普通用户都能使用。 2.初期练习&#xff0c;mysql不进行用户管理&#xff0c;全部使用root进行&#xff0c;尽快适应mysql语句&#xff0c;后面学了用户管理&#xff0c;在考…

Unity UnityWebRequest使用http与web服务器通讯

一、搭建客户端与服务器http通讯 1.在Nodejs中文官网Node.js 中文网 (nodejs.com.cn)&#xff0c;下载并安装Nodejs 2.在项目文件夹下新建WebServer文件夹&#xff0c;打开CMD窗口&#xff0c;在WebServer文件夹路径下安装express 3.在WebServer文件夹中新建main.js文件&#…