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

P9403 [POI 2020/2021 R3] Les Bitrables

题意简明,不再阐述。

首先可以对当前两行(假设为第 \(i\)\(i+1\) 行)的情况分类。

  1. \(s_i\leq s_{i+1}\)

此时可以分为三种情况。

一种是从 0 处调 \(x\) 件物品(\(0\leq x\leq s_{i+1}\)),这 \(x\) 件物品显然对应第 \(i+1\)\(p_1,p_2,...,p_x\),然后第 \(i\) 行的后 \(s_i+x-s_{i+1}\) 个物品去到 \(d\)

另一种是从 \(d\) 处调 \(x\) 件物品(\(0\leq x \leq s_{i+1}\)),这 \(x\) 件物品显然对应第 \(i+1\)\(p_{s_{i+1}-x+1},p_{s_{i+1}-x+2},...,p_{s_{i+1}}\),然后第 \(i\) 行的前 \(s_i+x-s_{i+1}\) 个物品去到 0。

还有一种是从 0 处调 \(x\) 件物品,从 \(d\) 处调 \(y\) 件物品(\(0\leq x,0\leq y,x+y+s_i=s_{i+1}\)),分别对应 \(i+1\)\(p_1,p_2,...,p_x\)\(p_{s_{i+1}-y+1},p_{s_{i+1}-y+2},p_{s_{i+1}}\),第 \(i\) 行的物品则对应第 \(i+1\) 行的 \(p_{x+1},p_{x+2},...,p_{s_{i+1}-y}\)

发现最小代价无论在哪种情况中取到其代价随 \(x\) 变化所形成的图像都是单谷的(第三种情况看作 \(y=s_{i+1}-s_{i}-x\)),于是可以三分,对于每一种情况都三分 \(x\) 找到最小代价最后三种情况取最小即可。

  1. \(s_i>s_{i+1}\)

此时也是分三种情况,前两种情况与 \(s_i\leq s_{i+1}\) 时的前两种情况相同,第三种情况变为调前 \(x\) 个元素到 0,调后 \(y\) 个元素到 \(d\)\(0<x,0<y,s_i-x-y=s_{i+1}\))。

最小代价无论在哪种情况中取到其代价随 \(x\) 变化所形成的图像也是单谷的,同上三分求最小代价即可。

时间复杂度 \(O(n\log_3n)\)

#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define int long long
#define db double
#define endl '\n'
#define lowbit(x) x&-x
#define intz(x,a) memset(x,a,sizeof(x))
const int N=5e5+5; 
int s[N];vector<int>p[N];
signed main(){int n,d;cin>>n>>d;for(int i=1;i<=n;i++){cin>>s[i];p[i].resize(s[i]+5);for(int j=1;j<=s[i];j++)cin>>p[i][j];}for(int i=1;i<n;i++){if(s[i]<=s[i+1]){int l=0,r=s[i+1],ans=(1ll<<63)-1;while(l<=r){int mid0=l+(r-l)/3,mid1=r-(r-l)/3,sum0=0,sum1=0;for(int j=1;j<=s[i+1];j++)if(j<=mid0)sum0+=p[i+1][j];else if(j<=mid0+s[i])sum0+=abs(p[i+1][j]-p[i][j-mid0]);else sum0+=d-p[i+1][j];for(int j=s[i+1]-mid0+1;j<=s[i];j++)sum0+=min(p[i][j],d-p[i][j]);for(int j=1;j<=s[i+1];j++)if(j<=mid1)sum1+=p[i+1][j];else if(j<=mid1+s[i])sum1+=abs(p[i+1][j]-p[i][j-mid1]);else sum1+=d-p[i+1][j];for(int j=s[i+1]-mid1+1;j<=s[i];j++)sum1+=min(p[i][j],d-p[i][j]);if(sum0>=sum1)l=mid0+1,ans=min(ans,sum1);else r=mid1-1,ans=min(ans,sum0);}l=0,r=s[i+1];while(l<=r){int mid0=l+(r-l)/3,mid1=r-(r-l)/3,sum0=0,sum1=0;for(int j=s[i+1];j;j--)if(j>=s[i+1]-mid0+1)sum0+=d-p[i+1][j];else if(j>=s[i+1]-mid0-s[i]+1)sum0+=abs(p[i+1][j]-p[i][j-s[i+1]+mid0+s[i]]);else sum0+=p[i+1][j];for(int j=1;j<=-s[i+1]+mid0+s[i];j++)sum0+=min(p[i][j],d-p[i][j]);for(int j=s[i+1];j;j--)if(j>=s[i+1]-mid1+1)sum1+=d-p[i+1][j];else if(j>=s[i+1]-mid1-s[i]+1)sum1+=abs(p[i+1][j]-p[i][j-s[i+1]+mid1+s[i]]);else sum1+=p[i+1][j];for(int j=1;j<=-s[i+1]+mid1+s[i];j++)sum1+=min(p[i][j],d-p[i][j]); if(sum0>=sum1)l=mid0+1,ans=min(ans,sum1);else r=mid1-1,ans=min(ans,sum0);}cout<<ans<<endl;}else{int l=0,r=s[i],ans=(1ll<<63)-1;while(l<=r){int mid0=l+(r-l)/3,mid1=r-(r-l)/3,sum0=0,sum1=0;for(int j=1;j<=s[i];j++)if(j<=mid0)sum0+=p[i][j];else if(j<=mid0+s[i+1])sum0+=abs(p[i][j]-p[i+1][j-mid0]);else sum0+=d-p[i][j];for(int j=s[i]-mid0+1;j<=s[i+1];j++)sum0+=min(p[i+1][j],d-p[i+1][j]);for(int j=1;j<=s[i];j++)if(j<=mid1)sum1+=p[i][j];else if(j<=mid1+s[i+1])sum1+=abs(p[i][j]-p[i+1][j-mid1]);else sum1+=d-p[i][j];for(int j=s[i]-mid1+1;j<=s[i+1];j++)sum1+=min(p[i+1][j],d-p[i+1][j]);if(sum0>=sum1)l=mid0+1,ans=min(ans,sum1);else r=mid1-1,ans=min(ans,sum0);}l=0,r=s[i];while(l<=r){int mid0=l+(r-l)/3,mid1=r-(r-l)/3,sum0=0,sum1=0;for(int j=s[i];j;j--)if(j>=s[i]-mid0+1)sum0+=d-p[i][j];else if(j>=s[i]-mid0-s[i+1]+1)sum0+=abs(p[i][j]-p[i+1][j-s[i]+mid0+s[i+1]]);else sum0+=d-p[i][j];for(int j=1;j<=-s[i]+mid0+s[i+1];j++)sum0+=min(p[i+1][j],d-p[i+1][j]);for(int j=s[i];j;j--)if(j>=s[i]-mid1+1)sum1+=d-p[i][j];else if(j>=s[i]-mid1-s[i+1]+1)sum1+=abs(p[i][j]-p[i+1][j-s[i]+mid1+s[i+1]]);else sum1+=d-p[i][j];for(int j=1;j<=-s[i]+mid1+s[i+1];j++)sum1+=min(p[i+1][j],d-p[i+1][j]);if(sum0>=sum1)l=mid0+1,ans=min(ans,sum1);else r=mid1-1,ans=min(ans,sum0);}cout<<ans<<endl;}}return 0;
}
http://www.hskmm.com/?act=detail&tid=32110

相关文章:

  • Cartesian MST
  • P5609 [Ynoi2013] 对数据结构的爱
  • 剪映高级感口播动态文字字幕排版预设标题入场出场动画素材850款
  • JavaScript 中的安全编码:10 个关键实践
  • 2025 年最新推荐!国内优质球墨铸铁管厂家排行榜,涵盖市政 / 给水 / 水利工程适用产品
  • STM32 代码
  • 2025 年最新冷水机定制厂家排行榜:工业 / 防爆 / 低温 / 水冷 / 螺杆 / 超低温等多类型冷水机优质品牌推荐
  • 2025 年飞机票预定公司最新推荐排行榜:聚焦专业诚信,覆盖特殊旅客与企业服务的口碑榜单
  • 2025 年水质测定仪厂家最新推荐排行榜:解析科技等优质企业实力领衔,助您精准选品多参数/便携式/cod快速/台式水质测定仪厂家推荐
  • 2025 年电永磁吊具厂家最新推荐排行榜:涵盖多类型吊具优质厂家及专业选型参考大型电/全覆盖电/起重电永磁吊具厂家推荐
  • Redis布隆过滤器 Redisson 汇总
  • 2025 年电子散热器厂家推荐:镇江新区富利电子散热器厂,多领域适配与品质服务的可靠之选
  • 高级 RAG 实战:Neo4j 与 LangChain 构建知识图谱驱动的 AI 系统
  • 朴诚乳业携手纷享销客CRM6周实现项目全国推广(附9大核心能力)
  • 2025 年最新推荐 AI 健康管理公司榜单:覆盖多场景,为机构选品提供权威参考
  • 从playfield开源代码复制的opensl es初始化代码
  • 第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025)
  • 2025 年螺带混合机优质厂家最新推荐排行榜:聚焦综合实力、产品性能与服务质量的权威筛选榜单
  • P2151 HH 去散步
  • 2025年钢结构建材厂家最新推荐排行榜,彩钢瓦,镀锌板,折弯件,C型钢,Z型钢,压型瓦,楼承板,钢结构安装,次檩条公司推荐
  • 2025年发电机组厂家最新权威推荐榜:柴油/燃气/船用/静音箱式/移动拖车/集装箱发电机组,上柴/玉柴/潍柴/康明斯/沃尔沃/道依茨/帕金斯/MTU品牌全覆盖
  • 2025年铣刀厂家最新权威推荐榜:雕刻机铣刀/金刚石铣刀/木工铣刀/绝缘材料铣刀/碳纤维铣刀/亚克力铣刀/金属加工铣刀/铝合金铣刀/石墨铣刀/不锈钢铣刀/金属切削铣刀/电木铣刀/塑胶铣刀/PC铣刀
  • 2025年下半年权威信息公布:西安学区房/书包房/五大名校/交大书包新楼盘口碑推荐榜前十强出炉,高得房率/推荐好房/地铁口/小高层/低总价/低单价/高性价比/高赠送/四代宅
  • 第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)
  • .NET 10中GC(垃圾收集器)更新
  • 【转】扫盲:Windows桌面应用开发框架:原生、跨平台、云桌面
  • vxe-table v4版本使用注意事项
  • ​​电容瞬态放电原理:大电流的产生机制深度解析​
  • Chrome浏览器离线版下载,谷歌(Google)浏览器离线安装包下载,手机版,Mac版,window版都有,不上网也可以安装
  • 基于Java+Springboot+Vue开发的在线摄影预约管理系统源码+运行步骤