博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1588 [HNOI2002]营业额统计——双向链表
阅读量:4353 次
发布时间:2019-06-07

本文共 683 字,大约阅读时间需要 2 分钟。

题目:

使用双向链表!

离线做,先抽出来排个序,按排序确定每个位置的 pre 和 nxt ,然后倒序查找,找完一个就删除一个值,更改 pre 和 nxt。

代码如下:

#include
#include
#include
#include
using namespace std;typedef long long ll;int const maxn=33000;int n,pre[maxn],nxt[maxn],rk[maxn];ll a[maxn],inf=1e12,ans;bool cmp(int x,int y){
return a[x]
1;i--) { ll l=inf,r=inf; if(pre[i])l=abs(a[i]-a[pre[i]]); if(nxt[i])r=abs(a[i]-a[nxt[i]]); ans+=min(l,r); nxt[pre[i]]=nxt[i]; pre[nxt[i]]=pre[i]; } ans+=a[1]; printf("%lld",ans); return 0;}

 

转载于:https://www.cnblogs.com/Zinn/p/9175949.html

你可能感兴趣的文章
springboot 日志框架
查看>>
菜单栏按钮用控件的Name值在后台操作时出现异常解决
查看>>
Java集合
查看>>
vue中的组件传值
查看>>
Loader 和URLLoader的区别.
查看>>
世界级的安卓测试开发流!
查看>>
战略性情绪分析的5大数据来源
查看>>
Python-匿名函数
查看>>
关于foreach中对集合执行Add或者Remove操作引发枚举值被修改异常
查看>>
java学习笔记(1)
查看>>
event事件坐标
查看>>
C++ 常见面试题目
查看>>
javascript 之 面向对象【继承】
查看>>
初学Java-继承和多态
查看>>
SAP(最短增广路算法) 最大流模板
查看>>
用极大化思想解决矩形问题学习笔记
查看>>
Django REST Framework 简单入门
查看>>
Hibernate中fetch和lazy介绍
查看>>
修改ip脚本
查看>>
解析xlsx与xls--使用2012poi.jar
查看>>