2017-10-07 16:15:16

writer;pprp

题目来源: Codility
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

一个长度为M的正整数数组A,表示从左向右的地形高度。测试一种加农炮,炮弹平行于地面从左向右飞行,高度为H,如果某处地形的高度大于等于炮弹飞行的高度H(A[i] >= H),炮弹会被挡住并落在i - 1处,则A[i - 1] + 1。如果H <= A[0],则这个炮弹无效,如果H > 所有的A[i],这个炮弹也无效。现在给定N个整数的数组B代表炮弹高度,计算出最后地形的样子。
例如:地形高度A = {1, 2, 0, 4, 3, 2, 1, 5, 7}, 炮弹高度B = {2, 8, 0, 7, 6, 5, 3, 4, 5, 6, 5},最终得到的地形高度为:{2, 2, 2, 4, 3, 3, 5, 6, 7}。

Input
第1行:2个数M, N中间用空格分隔,分别为数组A和B的长度(1 <= m, n <= 50000)
第2至M + 1行:每行1个数,表示对应的地形高度(0 <= A[i] <= 1000000)。
第M + 2至N + M + 1行,每行1个数,表示炮弹的高度(0 <= B[i] <= 1000000)。
Output
输出共M行,每行一个数,对应最终的地形高度。
Input示例
9 11
1
2
0
4
3
2
1
5
7
2
8
0
7
6
5
3
4
5
6
5
Output示例
2
2
2
4
3
3
5
6
7

可以暴力求解:直接去做代码如下:
/*
@theme:51nod 加农炮
@writer:pprp
@begin:16:00
@end:16:17
@declare:暴力求解
*/
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdiO>using namespace std;
int M, N;
int h[1000000];int main()
{freopen("in.txt","r",stdin);memset(h,0,sizeof(h));cin >> M >> N;int maxh = -100;for(int i = 0 ; i < M ; i++){cin >> h[i];if(maxh < h[i]){maxh = h[i];}}int cmp;for(int i = 0 ; i < N ; i++){cin >> cmp;if(cmp <= h[0] || cmp > maxh)continue;for(int j = 0 ; j < M ; j++){if(h[j] >= cmp){h[j-1]++;break;}}}for(int i = 0 ; i < M ; i++){cout << h[i] << endl;}return 0;
}

预处理,用lower_bound做

/*
@theme:51nod 加农炮
@writer:pprp
@begin:16:20
@end:
@declare:预处理
*/
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdiO>using namespace std;
int h[100000+10];
int canno[100000+10];
int M, N;int main()
{freopen("in.txt","r",stdin);cin >> M >> N;int maxh = -1000;for(int i = 0 ; i < M ; i++){cin >> h[i];maxh = max(maxh,h[i]);canno[i] = maxh;// 预处理
    }int cmp;for(int i = 0 ; i < N ; i++){cin >> cmp;int j;if(cmp <= h[0] || cmp > maxh)continue;j = lower_bound(canno,canno+M,cmp)-canno;h[j-1]++;canno[j-1] = max(canno[j-1],h[j-1]);}for(int i = 0 ; i < M ; i++)cout << h[i] << endl;return 0;
}

转载于:https://www.cnblogs.com/pprp/p/7635135.html

解题报告:51nod 加农炮相关推荐

  1. 51Nod 1453(CF553-A) - 抽彩球(Kyoya and Colored Balls) - 解题报告

    51Nod 1453 - 抽彩球 - 解题报告 51Nod 1453 - 抽彩球 - 解题报告 Information Source Description Input Output Sample S ...

  2. 解题报告 Toy Bricks

    Toy Bricks [题目描述] Ray又在NPC问题了:这里有一个箱子,还有若干个玩具. 我们可以假设玩具的数量是没有上限的.我们还知道这个箱子是不规则的,或者可以说,他的外形比较像一个矩形,但是 ...

  3. uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)

    线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报  分类: ...

  4. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  5. 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...

  6. 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  7. 解题报告(十三)中国剩余定理(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  8. 解题报告(四)生成函数(ACM/ OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  9. 解题报告(八) prufer 序列与 Cayley 公式(ACM / OI)超高质量题解

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

最新文章

  1. dedecms上传图片不自动改名,以利于seo图片优化
  2. centos6配置日志外发_CentOS6下记录后台操作日志的两种方式
  3. PIC32单片机harmony开发环境 - uart例程和代码分析
  4. oracle 数据执行计划,Oracle 常见的执行计划步骤(explain结果的Description数据参考)...
  5. centos7手把手教你搭建zabbix监控
  6. 如何在版本控制工具中管理Sencha Architect的項目
  7. 利用Applet类和Runnable接口实现滚动字幕
  8. php行为和事件是什么,Yii Framework框架中事件和行为的区别及应用实例分析
  9. Shader入门精要-1-渲染流水线数学基础
  10. Jetson nano 2G跑通Nvidia官方案例Jetson Inference
  11. 微信浮窗是不是服务器保存,微信浮窗,能解决小程序留存难题吗?
  12. 一文搞懂 | Linux 同步管理(上)
  13. JavaEE | 增强for循环
  14. Unity制作圆环进度条加载场景资源
  15. 手机写python脚本_用Python写王者荣耀刷金币脚本
  16. DNSPod十问董文辉:我们为什么要拥抱云原生安全?
  17. 【架构师之路】四、系统架构
  18. 请给出太阳系各类引力参数,包括太阳、地球等星球的质量,距离,自转角度,公转速度等。...
  19. AB实验你真的了解嘛
  20. 清北学堂培训2019.4.28

热门文章

  1. sourceTree添加git密钥步骤
  2. 上海交通大学2006年数学分析考研试题
  3. 错误 0xc0202049: 数据流任务 1: 无法在只读列“ID”中插入数据
  4. 在WinForm中实现省市级联的效果
  5. [pytorch、学习] - 4.5 读取和存储
  6. es6 --- map的使用
  7. 阿里云RPA专有云产品文档集合
  8. 从一个Android码农视角回顾2018GDD大会
  9. leetcode-665-Non-decreasing Array
  10. 如何在PFSense中设置故障转移和负载平衡