题解:这道题暴力可以出答案,但是会tle

tle代码:

#include <iostream>using namespace std;
const int maxn = 1e5 + 10;int pile[maxn],snow[maxn];
int main() {int n,hurt;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&pile[i]);}for(int i=1;i<=n;i++){scanf("%d",&snow[i]);
//      pile[i]-=snow[i];}for(int i=1;i<=n;i++){int hurt=0;for(int j=1;j<=i;j++){if(pile[j]!=0&&pile[j]-snow[i]>=0){hurt+=snow[i];pile[j]-=snow[i];}else{hurt+=pile[j];pile[j]=0;}}printf("%d ",hurt);}return 0;
}

题解:

前缀和➕优先队列进行维护

具体细节在代码里推到过了

#include <iostream>
#include <queue>
using namespace std;
const int maxn = 1e5 + 10;
//这一道题需要使用优先队列,去存储需要的量
long long pile[maxn],snow[maxn];
long long sumn[maxn];
int main() {int n;//优先队列的定义long long hurt=0;priority_queue<long long,vector<long long>,greater<long long>>q;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&pile[i]);
//      sum[i]=sum[i-1]+pile[i];}sumn[0]=0;for(int i=1;i<=n;i++){scanf("%d",&snow[i]);sumn[i]=sumn[i-1]+snow[i];}//如果从第一个开始看的话//pile[1];//第二个//pile[2]+snow[1];//第三个//pile[3]+snow[1]+snow[2];//对呀,因为第一次融化不会伤害第二堆雪for(int i=1;i<=n;i++){q.push(pile[i]+sumn[i-1]);//要把sumn[i-1]带进去,因为接下来减去的是前缀和,为什么不能放入单个???如hurt = q.size()*snow[i];//现在里面剩几堆就几个while(!q.empty()&&q.top()<=sumn[i]){//你不够 融化的时候,我就不管你,每次该剪就剪hurt += q.top()-sumn[i];q.pop();}printf("%lld",hurt);if(i!=n){
//          char c;printf("%c",' ');}else{printf("\n");}}return 0;
}

Producing Snow相关推荐

  1. Codeforces Round #470 (rated, Div. 2 C. Producing Snow(思维)

    C. Producing Snow time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  2. cf 923B Producing Snow

    一 原题 C. Producing Snow time limit per test 1 second memory limit per test 256 megabytes input standa ...

  3. codeforces 948C / 923B Producing Snow 【优先队列+思维】

    戳我 传送至 Producing Snow 戳我 到参考网站 **题意:**每天产生一堆雪,大小为v[i]个单位体积,然后每天对应一个数值a[i]代表当天温度,然后剩下的每一堆的雪都会减少这个温度的数 ...

  4. 【二分】Producing Snow @Codeforces Round #470 Div.2 C

    time limit per test: 1 second memory limit per test: 256 megabytes Alice likes snow a lot! Unfortuna ...

  5. 2018.12.05 codeforces 948C. Producing Snow(堆)

    传送门 维护一个堆. 每次先算出一个都不弹掉的总贡献. 然后把要弹掉的弹掉,并减去它们对应的贡献. 代码: #include<bits/stdc++.h> #define ri regis ...

  6. Codeforces 923 B. Producing Snow

    http://codeforces.com/contest/923/problem/B 题意: 有n天,每天产生一堆体积为Vi的雪,每天所有雪堆体积减少Ti 当某一堆剩余体积vi<=Ti时,体积 ...

  7. Producing Snow CodeForces - 948C 优先队列+思维

    题目链接:https://vjudge.net/problem/CodeForces-948C 转自:https://blog.csdn.net/doncoder/article/details/81 ...

  8. CF923B Producing Snow 堆/优先队列

    cf938b 题意每天会产生Vi的雪,每天会融化Ti的雪,所有雪互相独立,V≤0就会消失每天会产生V_i的雪,每天会融化T_i的雪,所有雪互相独立,V\leq0就会消失每天会产生Vi​的雪,每天会融化 ...

  9. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

最新文章

  1. python的class的__str__和__repr__(转)
  2. html焦点图自动播放纯代码,jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)...
  3. 题目1076:N的阶乘
  4. Google Maps JavaScript API V3 根据地址 加载地图
  5. Github中Tag的使用
  6. 【平面设计】扁平化设计(Ⅲ)——原则
  7. python爬取小说项目概述_Python实战项目网络爬虫 之 爬取小说吧小说正文
  8. Android4.1.1_r1系统移植------TP移植篇
  9. 图像直方图及直方图均衡总结(一)经典方法(附matlab和opencv端算法实现)
  10. 飞机大战小游戏2.0
  11. unity去掉物体的阴影
  12. matlab画图画点画直线
  13. Java编译器IDE-文本编辑器
  14. TO-220与TO-220F的区别 封装
  15. Java 实现 POS 打印机无驱打印
  16. 神经网络人口预测matlab,利用MATLAB工具模拟实现人口预测实例分析.doc
  17. 【深度学习】什么是解耦?
  18. http协议服务器ppt,传智播客内部资料HTTP协议.ppt
  19. kali2.0 mysql_kali linux2.0下MariaDB修改密码
  20. AI算法工程师笔试经验分享 | 【是你等的那一篇推文吗?】

热门文章

  1. python 输出三角形字符阵列 本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
  2. 第一方物流、第二方物流、第三方物流、第四方物流
  3. 计算机内存条价格,1g内存条的价格大全
  4. 双频段GSM/DCS移动电话射频指标分析
  5. 什么是长连接,什么是短连接
  6. python实现atm取款机_python ATM机 案例代码
  7. 深度式睡眠潜入虚拟世界_潜入swiftui的惊人世界
  8. IIS的应用程序池打开及使用方式
  9. 电商小程序Java_小程序电商客户端Demo 系统:小程序电商客户端源码 开发语言:Java(System: small program e - 下载 - 搜珍网...
  10. 计算机考研自我介绍大概多少字,考研复试英语自我介绍多少字合适呢