bzoj1150: [CTSC2007]数据备份Backup
来源:互联网 发布:淘宝修改销量代码 编辑:程序博客网 时间:2024/06/04 19:50
细节好多
优先队列+贪心
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<queue>using namespace std;struct data{ int l,r,v,ni,w; bool operator <(const data &m)const{ return v>m.v; }}d[200005],op,kp;int n,k;priority_queue<data>Q;int tot;long long ans=0;int e[200005];int a[100005];int main(){ int i,j,l,r; scanf("%d%d",&n,&k); for(i=1;i<=n;i++)scanf("%d",&a[i]); d[0].v=0x3f3f3f3f; d[0].l=d[0].r=d[0].w=0; for(i=1;i<n;i++){ d[i].v=a[i+1]-a[i]; d[i].l=i-1; if(i!=n-1)d[i].r=i+1; d[i].ni=i; d[i].w=1; Q.push(d[i]); } tot=n-1; while(k){ op=Q.top(); Q.pop(); if(e[op.ni]==0){ l=d[op.ni].l; r=d[op.ni].r; ans+=d[op.ni].v; e[op.ni]=e[l]=e[r]=1; k-=d[op.ni].w; tot++; d[tot].ni=tot; d[tot].v=d[l].v+d[r].v-d[op.ni].v; d[tot].l=d[l].l; d[tot].r=d[r].r; d[tot].w=d[l].w+d[r].w-d[op.ni].w; d[d[l].l].r=tot; d[d[r].r].l=tot; Q.push(d[tot]); } } printf("%lld",ans); return 0;}
0 0
- [BZOJ1150][CTSC2007]数据备份Backup
- bzoj1150: [CTSC2007]数据备份Backup
- 【BZOJ1150】[CTSC2007]数据备份Backup
- BZOJ1150: [CTSC2007]数据备份Backup
- bzoj1150 [CTSC2007]数据备份Backup
- bzoj1150: [CTSC2007]数据备份Backup
- 【bzoj1150】[CTSC2007]数据备份Backup
- bzoj1150 [CTSC2007]数据备份Backup
- bzoj1150: [CTSC2007]数据备份Backup 贪心
- [贪心+堆] BZOJ1150: [CTSC2007]数据备份Backup
- 【堆+贪心】BZOJ1150 [CTSC2007]数据备份Backup
- [bzoj1150][堆][贪心][CTSC2007]数据备份Backup
- 【CTSC2007】bzoj1150 数据备份
- 【贪心+堆+链表】BZOJ1150(CTSC2007)[数据备份Backup]题解
- BZOJ1150(CTSC2007)[数据备份Backup]--贪心+链表+堆
- [CTSC2007] 数据备份Backup
- 1150: [CTSC2007]数据备份Backup
- 1150: [CTSC2007]数据备份Backup
- WebStorm设置Ctrl+滚轮调整字体大小
- 解决IE浏览器jQuery执行ajax不响应问题
- Java集合类HashSet实现细节
- Tomcat server.xml配置示例
- TCP/IP三次握手和四次挥手
- bzoj1150: [CTSC2007]数据备份Backup
- 启途第一阶段 JAVA基础 单机版画图板开发与改装
- 神经网络之梯度下降法和反向传播BP
- leetcode题解-78. Subsets && 90. Subsets II
- 编程练习
- 对《日本沉默的力量》一文的疑问
- 4.18今日头条编程题
- static与extern
- C语言的字符串处理