[BZOJ1150][CTSC2007]数据备份Backup
首先肯定要选择相邻的公司配对才会距离最小
/**************************************************************Problem: 1150User: momokaLanguage: C++Result: AcceptedTime:620 msMemory:6000 kb
****************************************************************/#include<cstdio>
#include<cstring>
#include<queue>
#include<vector>
#include<algorithm>
#define rep(i,s,t) for(int i=s;i<=t;++i)
#define drep(i,t,s) for(int i=t;i>=s;--i)
#define inf 0x3f3f3f3f
using namespace std;
long long ans,val[150010];
int l[150010],r[150010],id,n,k,d[100001];
typedef pair<long long,int>ele;
priority_queue<ele,vector<ele>,greater<ele> >q;
bool mark[150010];
inline int read(){char ch=getchar();int f=1,x=0;while(!(ch>='0'&&ch<='9')){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+(ch-'0');ch=getchar();}return x*f;
}
int main(){n=read(); k=read();rep(i,1,n) d[i]=read();rep(i,1,n-1){val[++id]=d[i+1]-d[i];q.push(make_pair(val[id],id));l[id]=id-1;r[id]=id+1;}r[0]=1; val[0]=1LL<<61; //q.push(make_pair(val[0],0));l[id+1]=id; val[id+1]=1LL<<61; // q.push(make_pair(val[id+1],id+1));++id;rep(i,1,k){while (mark[q.top().second]) q.pop();ele now=q.top();q.pop();int idn=now.second;ans+=now.first;int ls=l[idn],rs=r[idn];mark[ls]=1;mark[rs]=1;l[idn]=l[ls]; r[l[idn]]=idn;r[idn]=r[rs]; l[r[idn]]=idn;val[idn]=val[ls]+val[rs]-now.first;q.push(make_pair(val[idn],idn));}printf("%lld\n",ans);return 0;
}
[BZOJ1150][CTSC2007]数据备份Backup相关推荐
- BZOJ1150[CTSC2007]数据备份Backup——模拟费用流+堆+链表
题目描述 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游 ...
- bzoj1150 [CTSC2007]数据备份Backup
大概就是写了道生日礼物那个不知道叫啥的贪心..... 大概就是说这道题和那个比较像... 所以留着看看吧,哪天想起了回来做这道题咯~ 转载于:https://www.cnblogs.com/LLppd ...
- bzoj1150: [CTSC2007]数据备份Backup--贪心+优先队列维护堆
题目大意:将k对点两两相连,求最小长度 易证得,最优方案中,相连的办公楼一定是取相邻的比取不相邻的要更优 然后就可以用贪心来做这道题了.. 之前向CZL大神学习了用堆来贪心的做法orz 大概思路就是将 ...
- [APIO / CTSC2007]数据备份 --- 贪心
[APIO / CTSC 2007]数据备份 题目描述 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份. 然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公 ...
- P3620-[APIO/CTSC2007]数据备份【贪心,堆,链表】
正题 题目链接:https://www.luogu.com.cn/problem/P3620 题目大意 一条线上有nnn个位置,选出kkk对使得它们的距离差之和最小. 解题思路 因为一定是连接相邻的最 ...
- Right Backup(云端数据备份软件)v8.1官方版
Right Backup是一款云端数据备份软件,Right Backup为您的数据提供一站式云存储解决方案,在云中备份您的所有文档.照片.音乐和其他重要的资料,在出现不幸的数据丢失时保持安全! 软件特 ...
- Android数据备份(Android Data Backup)
最近我在阅读Android Developer上的文章,本文是对其中一篇Data Backup的翻译.希望可以通过翻译英文技术文章提高自己阅读英文文档的水平,如果有不妥的地方,希望指出,谢谢~因为这个 ...
- Android数据存储---数据备份(Data Backup)(三)
继承BackupAgentHelper类 如果要备份完整的文件(既可以是SharedPreferences文件也可以是内部存储文件),那么就应该使用BackupAgentHelper类来构建备份代理. ...
- EaseUS Todo Backup for Mac(mac数据备份软件)
EaseUS Todo Backup for Mac是一个简单但功能强大的备份软件,可以自行定期备份文件,文件夹和应用程序库,加密和压缩数据以获得存储空间,或克隆整个驱动器.它还可以使文件夹保持同步. ...
最新文章
- IntelliJ IDEA快捷键(Shortcut)官方文档地址
- 中南大学在线考试答案计算机基础,中南大学《计算机基础》在线考试题库(267题)(有答案).doc...
- TP5: 日志记录改造——4
- dns服务器v6解析 windows_04:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战...
- SpringBoot - 日志选择与实现
- Struts2学习笔记(四) Action(中)
- Ubuntu18.04之man中文版
- Python模块的使用
- vim中:x和:wq的区别
- matlab中 晶闸管整流桥导通角_逆变角如何设置,晶闸管2011-6-6
- 怎么用手机测量CAD图纸中的立面面积?
- RSA公私钥pkcs1与pkcs8格式的转换
- 如何解决Adobe Flash Player已被屏蔽
- Landsat 行列号与经纬度在线转换
- 飞书:远程办公更轻松
- DRAM 内存介绍(一)
- 转:石康 不奋斗的姑娘我不爱
- 移动端SEO的一些疑问
- 以NLP技术为核心,容联云对话式AI平台入选《2022中国对话式AI采购指南》
- 利用Python进行数据分析:电子书
热门文章
- python对重复数据进行合并求和
- 全民享益源码开发中的系统
- English trip V2 - 12 Movies and Televison 电影和电视 Teacher:Corrine Key:
- 眼内衍射透镜的设计与分析
- java对字符串进行加星号处理
- SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)漏洞加固指南
- 在模型训练前为什么要把数据打包为.npy文件,和普通文件格式有什么区别?
- 40个比较实用的Windows系统命令
- 51Talk进军AI教育,与腾讯、百度、网易有道等巨头一争高低
- html5餐厅模拟经营游戏《新的开始》源码