当前位置: 首页 > news >正文

题解:P2519 [HAOI2011] problem a

题解:P2519 [HAOI2011] problem a

喜提最劣解

思路

题目中说到第 iii 个人有 aia_iai 个人成绩更低,bib_ibi 个人成绩更高,我们设 li=ai+1,ri=n−bil_i=a_i+1,r_i=n-b_ili=ai+1,ri=nbi,那么这个人在按成绩排序后所在的可能区间即为 [li,ri][l_i,r_i][li,ri],当然 li>ril_i>r_ili>ri 的情况显然是不合法的。

我们可以用类似差分约束的方法做,对于每一个区间 [li,ri][l_i,r_i][li,ri],将他视为 [li,ri+1)[l_i,r_i+1)[li,ri+1)(方便转移),然后在点 lil_ili 与点 ri+1r_i+1ri+1 之间建一条边,长度为在这个区间的人的数量和区间长度的最小值,最后从点 0 开始跑最长路即可。

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,dp[100010],mx[100010];
struct N{int a,b;
}a[100010];
bool cmp(N a,N b){if(a.a!=b.a)return a.a<b.a;return a.b<b.b;
}
int m;
struct P{int l,r,k;
}c[100010];
bool Cmp(P a,P b){if(a.r!=b.r)return a.r<b.r;return a.l<b.l;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cin>>n;for(int i=1;i<=n;i++){cin>>a[i].a>>a[i].b;int l=a[i].a+1,r=n-a[i].b;a[i].a=l;a[i].b=r;}sort(a+1,a+1+n,cmp);P pa={-1,-1,1};for(int i=1;i<=n;i++){if(a[i].a>a[i].b)continue;if(pa.l==-1||pa.l!=a[i].a||pa.r!=a[i].b){if(pa.l!=-1)c[++m]=pa;pa={a[i].a,a[i].b,1};}else pa.k++;}if(pa.l!=-1)c[++m]=pa;sort(c+1,c+1+m,Cmp);for(int i=1;i<=m;i++){int l=1,r=i-1;while(l<r){int mid=(l+r+1)>>1;if(c[mid].r>=c[i].l)r=mid-1;else l=mid;}dp[i]=max(dp[i-1],dp[l]+min(c[i].r-c[i].l+1,c[i].k));}cout<<n-dp[m];return 0;
}
http://www.dtcms.com/a/548819.html

相关文章:

  • Rust async/await 语法糖的展开原理:从状态机到零成本异步
  • 车联网网络安全防护定级备案:数字时代交通变革下的安全基石
  • 李宏毅机器学习笔记36
  • Ubuntu(⑤Redis)
  • 【实战大全】MySQL连接全攻略:命令行+编程语言+可视化工具+故障排查
  • Python快速入门专业版(五十三):Python程序调试进阶:PyCharm调试工具(可视化断点与变量监控)
  • 企业建立网站需要什么条件wordpress divi
  • 如何解决笔记本电脑上不能使用管家婆软件快捷键的问题
  • MATLAB基于IOWHA算子和倒数灰关联度的组合预测模型
  • 从零搭建 Kafka + Debezium + PostgreSQL:打造实时 CDC 数据流系统
  • 酒吧网站设计网站建设及网络营销
  • 5分钟启动标准化安卓环境:Docker-Android让模拟器配置不再踩坑
  • VSCode + XMake搭建OpenGL开发环境
  • vscode ssh远程连接 ubuntu虚拟机
  • AIRSKIN®机器人电子皮肤传感器:为科研机器人披上智能“皮肤”
  • iOS 26 应用管理实战 多工具协同构建开发与调试的高效体系
  • 双向链表的“链”与“殇”——Rust LinkedList 的深度剖析、实战与再思考
  • Vue3 重构待办事项(主要练习组件化)
  • 高校网站建设的文章wordpress 初始密码
  • 上海网上注册公司官网烟台seo做的好的网站
  • 【Frida Android】基础篇15(完):Frida-Trace 基础应用——JNI 函数 Hook
  • Linux-自动化构建make/makefile(初识)
  • 【android bluetooth 协议分析 14】【HFP详解 2】【蓝牙电话绝对音量详解】
  • 【实战总结】MySQL日志文件位置大全:附查找脚本和权限解决方案
  • 系统架构设计师备考第60天——嵌入式硬件体系软件架构
  • Kubernetes(K8s)基础知识与部署
  • 嵊州做网站钻磊云主机
  • 网站建设时间及简介靖安县城乡规划建设局网站
  • 记一次从文件读取到getshell
  • 从顶流综述,发现具身智能的关键拼图----具身智能的内部模拟器:World Model如何成为AI走向真实世界的关键技术