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

蓝桥杯倒计时 43天 - 前缀和

请添加图片描述
请添加图片描述
请添加图片描述
思路:如果用n^2复杂度暴力会超时。nlogn 可以,利用前缀和化简,提前存储某个位置前的每个石头搬运到该位置和每个石头后搬运到该位置的前缀和On最后直接输出 On。排序花 nlogn

#include<bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
#define w second
#define p first
const int N = 1e5+10;
typedef long long  LL;
PII q[N];
int n;
LL pre[N],nex[N];int main( ){cin>>n;for(int i=1;i<=n;i++){cin>>q[i].w>>q[i].p;}sort(q+1,q+1+n);LL s = 0;for(int i=2;i<=n;i++){s+=q[i-1].w;pre[i] = (q[i].p-q[i-1].p)*s+pre[i-1];}s = 0;for(int i=n-1;i>=1;i--){s+=q[i+1].w;nex[i] = (q[i+1].p-q[i].p)*s+nex[i+1];}LL ans = 1e18;pre[0]=0;nex[n]=0;for (int i = 1; i <= n; ++ i )ans = min(ans, pre[i] + nex[i]);cout<<ans<<'\n';return 0;
}
http://www.lryc.cn/news/313099.html

相关文章:

  • 【Web - 框架 - Vue】随笔 - Vue的简单使用(01) - 快速上手
  • 【简说八股】Redisson的守护线程是怎么实现的
  • WPS/Office 好用的Word插件-查找替换
  • Go 简单设计和实现可扩展、高性能的泛型本地缓存
  • Vue.js 深度解析:模板编译原理与过程
  • Java多线程——如何保证原子性
  • stm32消息和邮箱使用
  • 银行数字化转型导师坚鹏:银行数字化转型案例研究
  • 142.乐理基础-音程的构唱练习
  • 【比较mybatis、lazy、sqltoy、mybatis-flex操作数据】操作批量新增、分页查询(二)
  • 每日OJ题_链表②_力扣24. 两两交换链表中的节点
  • C语言数据类型详解及相关题——各种奇奇怪怪的偏难怪
  • 经典语义分割(二)医学图像分割模型UNet
  • 三天学会阿里分布式事务框架Seata-seata事务日志mysql持久化配置
  • C语言-简单实现单片机中的malloc示例
  • 外包干了2年,技术退步明显
  • 计算机网络面经-HTTPS加密过程
  • 2024年最佳硬盘!为台式电脑、NAS等产品量身定做的顶级机械硬盘
  • 串的匹配算法——BF算法(朴素查找算法)
  • 数据处理分类、数据仓库产生原因
  • 【力扣100】 118.杨辉三角
  • 好物周刊#44:现代终端工具
  • 每日五道java面试题之springMVC篇(一)
  • 【GStreamer】basic-tutorial-4:媒体播放状态、跳转seek操作
  • IPSEC VPN 网关模式实验
  • 想在Vue中使用v-for来循环遍历一组对象,但只循环三次
  • Blazor系统教程(.net8)
  • Day15:技术架构、Maven、Spring Initializer、Spring全家桶、Spring IoC
  • [c/c++] const
  • 生成商品条码