BZOJ 4368: [IOI2015]boxes纪念品盒
三种路径,左边出去左边回来,右边出去右边回来,绕一圈
绕一圈的路径最多出现一次
那么绕一圈的路径覆盖的点一定是左边半圈的右边和右边半圈的左边
枚举绕一圈的路径的起始点(一定要枚举,这一步不能贪心),更新答案
#include<cstdio>
#include<algorithm>
using namespace std;
int a[10000005],X[10000005],Y[10000005];
long long L[10000005],R[10000005];
bool cmp(int a,int b){
return a>b;
}
int main(){
int n,K,l;
scanf("%d%d%d",&n,&K,&l);
for (int i=1; i<=n; i++) scanf("%d",&a[i]);
int Len1=0,Len2=0;
for (int i=1; i<=n; i++){
if (!a[i]) continue;
if (a[i]<=l-a[i]) X[++Len1]=a[i];
else Y[++Len2]=a[i];
}
for (int i=1; i<=Len2/2; i++) swap(Y[i],Y[Len2-i+1]);
for (int i=1; i<=Len1; i++)
if (i<=K) L[i]=X[i]*2;
else L[i]=L[i-K]+X[i]*2;
for (int i=1; i<=Len2; i++)
if (i<=K) R[i]=(l-Y[i])*2;
else R[i]=R[i-K]+(l-Y[i])*2;
long long ans=L[Len1]+R[Len2];
for (int i=0; i<K; i++)
ans=min(ans,L[Len1-i]+R[max(Len2-(K-i),0)]+l);
printf("%lld\n",ans);
return 0;
}
BZOJ 4368: [IOI2015]boxes纪念品盒的更多相关文章
- BZOJ 4368: [IOI2015]boxes纪念品盒 贪心
题意:给定一个环,环上有一些点包裹,你要从 $0$ 号点出发,然后每次带上一个容量为 $k$ 的背包. 问:如果要把所有的包裹都带回 $0$ 好点最少要走多少距离. 每一次只有 $3$ 种走法:走整圆 ...
- 4368: [IOI2015]boxes纪念品盒
4368: [IOI2015]boxes纪念品盒 链接 分析 链接 代码 #include<bits/stdc++.h> using namespace std; typedef long ...
- IOI2015 boxes纪念品盒
BZOJ 4368: [IOI2015]boxes纪念品盒 BZOJ传送门 Description IOI2015开幕式正在进行最后一个环节.按计划在开幕式期间,每个代表队都将收到由主办方发放的一个装 ...
- [bzoj4368][IOI2015]boxes纪念品盒_动态规划_单调队列_贪心
bzoj4368 IOI2015 boxes纪念品盒 题目链接:https://lydsy.com/JudgeOnline/problem.php?id=4368 数据范围:略. 题解: 如果在一个最 ...
- [BZOJ] IOI2015 Boxes纪念品盒
问题描述 IOI2015 开幕式正在进行最后一个环节.按计划在开幕式期间,每个代表队都将收到由主办方发放的一个装有纪念品的盒子.然而所有志愿者都被精彩的开幕式所吸引,除 Aman外其他人完全忘记了发放 ...
- 题解 [BZOJ4368][IOI2015]boxes纪念品盒
题面 解析 可以发现,发纪念品有三种方式: 从左边走再原路返回. 从右边走再原路返回. 走一圈. 注意到,第三种走法最多只会走一次, 因为如果走了多次,那发放的物品数量就会>=\(2k\), 那 ...
- Bzoj 4371: [IOI2015]sorting排序 二分
题目 似乎很久没写题解了... 这题是校里胡策的时候的题,比赛因为评测机有点慢+自己代码常数大没快读...被卡t了,但是bzoj上还是A了的...,因为bzoj时限比较宽可以不卡常. 题解: 首先可以 ...
- IOI2015 Boxes
Description 给出一个环形,n个点,每次只能访问k个点,求最短距离. Sol 贪心. CCF的题解. 首先只会最多走一趟环形,根据抽屉原理,如果一边不足k个才会到另一边,所以对于第二次以上的 ...
- BZOJ 4369: [IOI2015]teams分组
把一个人看成二维平面上的一个点,把一个K[i]看成左上角为(0,+max),右下角为(K[i],K[i])的一个矩阵,那么可以很好地描述人对于询问是否合法(我也不知道他怎么想到这东西的) 然后把一组询 ...
随机推荐
- cas实现单点登录原理
1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从 ...
- 终于有人把P2P、P2C、O2O、B2C、B2B、C2C的区别讲透了!还有许多其它类别的类型分享
平时在看招聘时,经常看到我们是什么B2C电子商务网站,但是一直不知是啥意思,今天在WEB开发者上面看到这篇文章,就是知道了个所以然,以记录分享. P2P.P2C .O2O .B2C.B2B. C2C, ...
- jQuery toggle 使用
jQuery 中 toggle 作用 切换元素的显示与隐藏状态 如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. <body> <div class=" ...
- countUp 动画展示数字变化
html <p id="countUp" style="font-size:25px;height:25px;background-color:#0aa;" ...
- 【javascript类库】zepto和jquery的md5加密插件
[javascript类库]zepto和jquery的md5加密插件 相信很多人对jQuery并不陌生,这款封装良好的插件被很多开发者使用. zepto可以说是jQuery在移动端的替代产品,它比jQ ...
- jsp另外五大内置对象之config
//配置web.xml <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=&q ...
- 字符串转换JSON 的方法
function (sJSON) { if (window.JSON) { return window.JSON.parse(sJSON); } else { return eval('(' + sJ ...
- HDU - 5491 The Next 2015 ACM/ICPC Asia Regional Hefei Online
从D+1开始,对于一个数x,区间[x,x+lowbit(x))内的数字的二进制位上1的数量整体来说是单调不减的,因此可快速得出1在这个区间的取值范围. 每次判断一下有没有和[s1,s2]有没有交集,一 ...
- cv2.Laplacian 模糊判断
简介 cv2.Laplacian是用来判断图像模糊度的 函数原型 dst = cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta ...
- Dungeon Master的两种方法
Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is co ...