题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1276

题意:中文题诶~

思路:xjb

通过画图可以发现对于当前水没过的点,若其为极小值点,则岛屿数目-1,若为极大值点则岛屿数目+1;

可以给海面高度排序,海面高度单调时岛屿的状态也是连续的。

可以给山峰高度排序,避免对于每一个高度海面都遍历一遍才能找到被淹没的山峰。

代码:

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <algorithm>
 5 #include <map>
 6 using namespace std;
 7
 8 const int MAXN=1e5+10;
 9
10 struct node{
11     int value, num;
12 }gg[MAXN];
13
14 int a[MAXN], b[MAXN], value[MAXN];
15 map<int, int> mp;
16
17 bool cmp(node a, node b){
18     return a.value<b.value;
19 }
20
21 int main(void){
22     int n, m, ans=1;
23     scanf("%d%d", &n, &m);
24     for(int i=0; i<n; i++){
25         scanf("%d", &gg[i].value);
26         gg[i].num=i;
27         value[i]=gg[i].value;
28     }
29     for(int i=0; i<m; i++){
30         scanf("%d", &a[i]);
31     }
32     memcpy(b, a, sizeof(a));
33     sort(gg, gg+n, cmp);
34     sort(a, a+m);
35     int indx=0;
36     for(int i=0; i<m; i++){
37         while(gg[indx].value<=a[i]&&indx<n){
38             int cc=gg[indx].num;
39             if(cc==0||cc==n-1){//注意边界情况
40                 if(cc==0){
41                     if(value[cc]>value[cc+1]) ans--;
42                 }else{
43                     if(value[cc]>value[cc-1]) ans--;
44                 }
45             }else{
46                 if(value[cc]<value[cc-1]&&value[cc]<value[cc+1]){
47                     ans++;
48                 }else if(value[cc]>value[cc-1]&&value[cc]>value[cc+1]){
49                     ans--;
50                 }
51             }
52             indx++;
53         }
54         mp[a[i]]=ans;
55     }
56     for(int i=0; i<m; i++){
57         printf("%d\n", mp[b[i]]);
58     }
59     return 0;
60 }

View Code

转载于:https://www.cnblogs.com/geloutingyu/p/6690246.html

51nod1276(xjb)相关推荐

  1. hdu_5761_Rower Bo(xjb猜公式)

    题目链接:hdu_5761_Rower Bo 题意: 让你求一个物理问题 题解: xjb猜公式,由题目样例可得,答案为8/7,然后我们可以xjb猜出公式为v1*a/(v1*v1-v2*v2),然后特判 ...

  2. xjb java,java – .xsd不是此编译的一部分.这是.xjb的...

    我试图更改我的xjb文件中的schemaLocation以使用不是使用URL的远程文件,而是使用也受版本控制的本地副本. 所以例如我的xjb文件有类似的东西 xmlns:jxb="http: ...

  3. xjb java,java – 使用保留下划线的xjb覆盖JAXB属性名称

    自定义xjb非常适合根据需要覆盖名称,但是我们会丢失名称中的下划线. xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jxb=& ...

  4. xjb——洛谷P1191 矩形

    https://www.luogu.org/problem/show?pid=1191 来一个用xjb算法的题解: xjb是什么算法? 这种算法基本上可以解决所有题目: 也许你不会lct: 也许你不会 ...

  5. 程设大作业xjb写——魔方复原

    鸽了那么久总算期中过[爆]去[炸]了...该是时候写写大作业了 [总不能丢给他们不会写的来做吧 一.三阶魔方的几个基本定义 ↑就像这样,可以定义面的称呼:上U下D左L右R前F后B UD之间的叫E,LR ...

  6. 树莓派飞控PID调节之XJB调

    最近代码已经整理差不多,开始了漫长的调试,试图在电机转动的时候调节到平衡状态.遇到了飞机震动造成的姿态也随之起伏的问题.看了下前辈的说法,是飞机共振.需要减震,需要滤波,关于滤波,用的是卡尔漫滤波,目 ...

  7. HDU 1230 火星A+B (xjb搞)

    火星A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. CodeForces - 747D Winter Is Coming(xjb乱搞)

    题目链接:http://codeforces.com/problemset/problem/747/D点击打开链接 D. Winter Is Coming time limit per test 1 ...

  9. 【斜率优化】【决策单调】xjb讲课

    大佬们要让蒟蒻给他们讲斜率优化 --.(色色发抖 斜率优化是什么呢,先看点没用的东西. 考虑一类动态规划,满足这样的性质: 状态数有nn个,一个状态的决策数有nn个 形似f[i]=♂i1f[j]f[i ...

最新文章

  1. laravel的工厂模式数据填充:
  2. mysql的内存表和临时表
  3. [蓝桥杯][算法提高VIP]分分钟的碎碎念-dfs
  4. [中山市选]杀人游戏 (Tarjan缩点)
  5. 【Android】7.5 RelativeLayout(相对布局)
  6. ArcGISEngine二次开发(1):系统基本功能
  7. dockertool (win10家庭版)安装后的问题
  8. vscode插件离线下载vsix文件
  9. 将自己开发的vue组件库发布到npm
  10. 心理学-墨菲定律 个人笔记
  11. 修改mac地址导致计算机无法上网,如何解决Win7计算机上无法修改MAC地址的问题...
  12. c语言自评报告怎么写,大学生学生自评报告怎么写
  13. 深度测评:RAKsmart美国站群服务器怎么样
  14. python学习日志3--ARIMA时间序列模型预测
  15. 北大核刊最新版2020目录_2021年一建教材出来了?最新版考点速记手册,早备考早通关...
  16. VM16Pro安装win7
  17. 接下来的认证考试 阿里云云计算专业认证考试(ACP级)
  18. ixgbe 如何开启vf
  19. Cesium 填挖方分析
  20. [离散数学]谓词逻辑与推理演算

热门文章

  1. Typora + Picgo + 阿里云oss实现图片上传
  2. 移动应用程序和网页应用程序_2020年移动应用程序设计最佳实践
  3. Transactional注解原理解析
  4. 曾为你冷风中颤抖 曾为你泪水狂流
  5. 端午福利 | ONES 端午礼盒等你拿!
  6. Linux ❉ tmpfs详解
  7. 南职计算机专业是热门吗,计算机专业现在还是热门专业吗?
  8. 非洲出现新蓝海,他们抓住机遇将产品加工反向送入国内市场
  9. html最美观的卡片列表,信息列表效果:卡片、列表切换(HTML+CSS+JS案例)
  10. 酷酷的滚动彩虹色文字