Problem Link

简要题意

题目很清楚。

分析

定理

两个人中左边的人一直向右运动,和两人向中间走所用的

步数相同

证明

假设有两组人为 \(a_l , a_r , b_l , b_r (a_l < a_r , b_l < b_r)\)。

\(\textrm{I}.\) 当 \(a_r < b_l\)(两者互不相交) 时

如图:

显然成立。

$ \textrm{II}.$ 当 $a_l < b_l < a_r < b_r $(两者相交) 时

如图:

假设先走 \(a\),此时 \(ans += a_r - a_l\)。

再走 \(b\),此时 \(ans += b_r - b_l - 1\)(中间有一个 \(a_l\) 已经走完)。

最后 \(ans = (b_r - b_l) + (a_r - a_l) - 1\)。

再考虑将 \(a\) 两端走到 \(b\) 之间的情况(略,和上面的方法一样)。

$ \textrm{III}.$ 当 \(a_l < b_l < b_r < a_r\)(两者包含)时

略(并不难证和情况 \(2\) 证明方法一样)。

综上,证明得证。

此时题目就很简单了。

最终实现

那么就可以贪心的让区间短的先走就行了(因为先走小的,大的区间距离会减小;反之,则不行)。

那就只需要用树状数组记录其中的已消失的数,统计答案时减去区间已消失的数。

code

#include <bits/stdc++.h>

using namespace std;
using ll = long long ; const int N = 5e5 + 5 ; int n; struct REN{
int first,last;
int len;
bool operator<(const REN&x)const{return len<x.len;}
}p[N]; ll ans; struct FenwickTree{
private:
ll t[N<<1];
int lowbit(int x){return x&-x;}
public:
void add(int x,int val){for(;x<=n*2;x+=lowbit(x))t[x]+=val;}
ll ask(int x){ll ans=0;for(;x;x-=lowbit(x))ans+=t[x];return ans;}
}t; int main(){
scanf("%d",&n);
for(int i=1,x;i<=2*n;i++){
scanf("%d",&x);
if(!p[x].first)p[x].first=i;
else p[x].last=i;
p[x].len=p[x].last-p[x].first; // 记录区间长度和头和尾
} sort(p+1,p+n+1);//贪心 for(int i=1;i<=n;i++){
ans+=p[i].len-t.ask(p[i].last)+t.ask(p[i].first-1);//减去已经消失的
t.add(p[i].first,1);
t.add(p[i].last,1);// 记录这个人已经消失
}
printf("%lld",ans);
return 0;
}

Luna likes Love 题解的更多相关文章

  1. Codeforces Round #631 (Div. 1) B. Dreamoon Likes Sequences 题解(思维+求贡献)

    题目链接 题目大意 让你构造一个严格单调上升的数组a满足\(1<=a_1<a_2<....a_n<=d\) 而且要使得这个数组的异或前缀和也满足严格单调上升,求有多少个满足条件 ...

  2. Codeforces Round #631 div1C(或者div2E) Drazil Likes Heap 题解

    题目链接:https://codeforces.com/contest/1329/problem/C 或者:https://codeforces.com/contest/1330/problem/E ...

  3. HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数

    GTW likes function      Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...

  4. HDU 5597 GTW likes function 打表

    GTW likes function 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5596 Description Now you are give ...

  5. HDU 5596 GTW likes gt 倒推

    GTW likes gt 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5596 Description Long long ago, there w ...

  6. GTW likes math(简单数学)

    GTW likes math  Accepts: 472  Submissions: 2140  Time Limit: 2000/1000 MS (Java/Others)  Memory Limi ...

  7. 洛谷P2891 Dining P1402 酒店之王【类二分图匹配】题解+代码

    洛谷P2891 Dining P1402 酒店之王[类二分图匹配]题解+代码 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的 ...

  8. Educational Codeforces Round 13 A. Johny Likes Numbers 水题

    A. Johny Likes Numbers 题目连接: http://www.codeforces.com/contest/678/problem/A Description Johny likes ...

  9. 2016级算法第六次上机-G.ModricWang likes geometry

    1116 ModricWang likes geometry 思路 难题,非常考察几何知识,放在这里作为计算几何场次的最难的题. 原题地址 原版题解 代码

  10. Codeforces Round #177 (Div. 2) 题解

    [前言]咦?如今怎么流行打CF了?于是当一帮大爷在执着的打div 1的时候,我偷偷的在刷div 2.至于怎么决定场次嘛.一般我报一个数字A,随便再拉一个人选一个数字B.然后開始做第A^B场.假设认为机 ...

随机推荐

  1. 麒麟系统开发笔记(四):从Qt源码编译安装之编译安装QtCreator4.8.1,并配置编译测试Demo

    前言   本篇紧接上一篇,上一篇已经从Qt源码编译了Qt,那么Qt开发的IDE为QtCreator,本篇从源码编译安装QtCreator,并配置好构建套件,运行Demo并测试.   QtCreator ...

  2. 项目实战:Qt+FFmpeg录屏应用(支持帧率、清晰度设置)

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/109827936各位读者,知识无穷而人力有穷,要 ...

  3. requests请求超时尝试重连的3种方式

    参考文档 https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html#module-urllib3.util.retry ...

  4. Jmeter+Influxdb+Grafana搭建

    背景 在无界面压测情况下,我们需要去额外搭建可视化观测平台.借助于Influxdb+Grafana,我们可以轻松让Jmeter的结果自动写入Influxdb,Influxdb实时存储运行结果,最后由G ...

  5. Codeforces Round 916 (Div. 3)(A~E2)

    A 统计一下每个字母的出现次数然后输出即可 #include <bits/stdc++.h> #define rep(i,a,b) for(register int i = (a); i ...

  6. 离线部署-docker

    离线部署---docker 关键词:docker离线部署,images离线安装,docker compose,shell,minio docker离线安装 docker install offline ...

  7. 酷睿i5与i7处理器有什么区别

    本文将深入解析酷睿i5与i7处理器的区别,帮助您做出明智的购买决策.购买笔记本之前,了解处理器相关知识至关重要. 处理器作为电脑的核心部件,其性能直接影响整机运行速度和效率. 市面上主流的笔记本处理器 ...

  8. nowrap - table td 列 宽度 不被挤 - 大表格制作

    nowrap - table td 列 宽度 不被挤 - 大表格制作 表格前几列 设置完宽度,会被右侧动态数据挤没有宽度,加上nowrap,就保证宽度了

  9. 基于泰凌微TLSR825x的物联网解决方案之ibeacon开发总结

    一 概念   iBeacon 是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能.其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接 ...

  10. 踩坑经历-jenkins安装使用

    最近在整理之前临时记的笔记,好久之前了,大概记录下. 按照教程安装jenkins,随机选了个不是最新版的docker版本,然后一路下一步,但是到安装推荐插件就没有全部安装成功,我接着走下去想进到&qu ...