链接:CodeForces - 948C

题意:N天,每天生产一堆雪体积 V[i] ,每天每堆雪融化 T[i],问每天融化了多少雪。

题解:对 T 求前缀和,求每一堆雪能熬过多少天,再记录一下多余的就行了。

#include <bits/stdc++.h>
using namespace std;const int maxn = 1e5 + 10;
int N;
int V[maxn], T[maxn];
long long S[maxn], E[maxn], D[maxn], X[maxn];int main()
{scanf("%d", &N);for(int i = 1; i <= N; i++) scanf("%d", &V[i]);for(int i = 1; i <= N; i++) scanf("%d", &T[i]);for(int i = 1; i <= N; i++) S[i] = S[i - 1] + T[i];for(int i = 1; i <= N; i++){int l = i, r = N;while(l <= r){int m = (l + r) >> 1;if(V[i] >= S[m] - S[i - 1]) l = m + 1;else r = m - 1;}E[i]++; E[l]--;D[l] += V[i] - (S[r] - S[i - 1]);}for(int i = 1; i <= N; i++) X[i] = X[i - 1] + E[i];for(int i = 1; i <= N; i++) printf("%lld%c", X[i] * T[i] + D[i], i == N ? '\n' : ' ');return 0;
}

转载于:https://www.cnblogs.com/chenquanwei/p/9477570.html

CodeForces - 948C(前缀和 + 二分)相关推荐

  1. poj3061尺取法/前缀和 二分(java)

    今天遇到这题因为以前没见到过,当时就是想着应该有着一个很简单的方法可以过但是奈何就是没思路.后来看了别人思路写了下来.学习了尺取法 poj3061 题目介绍: Description A sequen ...

  2. [Leedcode][JAVA][第209题][长度最小的子数组][滑动窗口][前缀和][二分查找][双指针]

    [问题描述][中等] 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0.示例: 输入: ...

  3. LeetCode 528. 按权重随机选择(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 ...

  4. LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个非重叠轴对齐矩形的列表 rects,写一个函数 pick 随机均匀地选取矩形覆盖的空间中的整数点. 提示: 整数点是具有整数坐标的点. 矩形周边上 ...

  5. Glider(前缀和+二分)

    题目链接:Glider Gym-101911B 解题分析:下落的高度一定,是h.在没有气流的地方每秒下落1:所以可以转化为经过无气流地带的时间总长为h. 那么很显然从一个有气流地带的开始,选择下落,那 ...

  6. 209 长度最小的子数组(前缀和+二分查找、滑动窗口)

    1. 问题描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的子数组,返回 0. 示例: 输入:s = ...

  7. HDU 6406 Taotao Picks Apples(前缀和+二分)

    HDU 6406 Taotao Picks Apples(前缀和+二分) Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 131072/131 ...

  8. Codeforces 774B:Significant Cups 前缀和 + 二分

    传送门 题目描述 给你n1个一类物品和n2个二类物品,给你每件物品的重要程度和重量,每类物品必须选一件,如果选了某个物品,那么重要程度大于已选物品的同类物品必须要选上,要求选中物品的总重量不超过给定的 ...

  9. codeforces1119D Frets On Fire(差分/前缀和/二分)

    题目链接:codeforces 1119D 题目思路: 数据这么大一定是找规律--求区间里数的个数,与顺序无关,不妨先排个序.不难发现当 a [ i ] + r > = a [ i + 1 ] ...

最新文章

  1. 复杂性系统面临的难题
  2. 幅度调制后的频率混叠
  3. dwa的区别 teb_teb_local_planner安装及使用
  4. hbase启动报错Permission denied: user=xxx, access=WRITE, inode=“/HBase/MasterProcWALs“:root:supergroup:d
  5. POJ 3268 Silver Cow Party
  6. 按钮是什么意思_汽车里的Rear按键是什么意思?
  7. 【剑指offer】_09二叉搜索树的后序遍历序列
  8. 魔百盒配置服务器信息,移动魔百盒网络设置方法
  9. CentOS 7 配置Java环境变量
  10. 泛函编程(29)-泛函实用结构:Trampoline-不再怕StackOverflow
  11. ubuntu server 18.04 和 20.04 安装 RabbitMQ
  12. 中兴V889D刷机变砖不用怕 V889D救砖教程发布【转载】
  13. Eclipse插件开发
  14. vue点击后html放大,vue实现点击图片放大效果
  15. C语言程序设计(十七)12.12
  16. Centos7 安装teamviewer
  17. C语言学习—杨辉三角的实现
  18. 年会邀请函如何制作?教你一分钟快速制作年会邀请函
  19. 超酷的javascript文字云/标签云效果 - D3 Cloud
  20. vs可以开发python吗_vs可以写python吗

热门文章

  1. 快速从入门到精通!mysql字符串截取前两位
  2. ajax 输入一个整数,jQuery.ajax()仅适用于整数
  3. java objective-c_Objective-C基础教程学习笔记(附录)从Java转向Objective-C
  4. 湖北师范大学计算机应用基础,2019年湖北师范大学911计算机应用基础考研大纲...
  5. ui做成html格式,使用element-ui的table组件时,渲染为html格式
  6. pca 累积方差贡献率公式_PCA--主成分分析
  7. python写一个类600行代码_带你领略算法的魅力,一个600行代码的分词功能实现(一)...
  8. linux中mysql自动备份操作文档_linux下mysql自动备份和自动删除文件功能实现
  9. mysql5.7.6允许远程_mysql5.7 设置远程访问
  10. lms自适应滤波器matlab_自适应回声消除器简介