题目传送门

  1. /*
  2. 从大到小排序,逆向思维,从最后开始考虑,无后向性
  3. 每找到一个没被淹没的,对它左右的楼层查询是否它是孤立的,若是++,若不是--
  4. 复杂度 O(n + m),还以为 O(n^2)吓得写了一半就不写了
  5. */
  6. #include <cstdio>
  7. #include <cstring>
  8. #include <iostream>
  9. #include <algorithm>
  10. #include <map>
  11. #include <set>
  12. #include <string>
  13. using namespace std;
  14. const int MAXN = 1e6 + ;
  15. const int INF = 0x3f3f3f3f;
  16. struct Hight
  17. {
  18. int val, id;
  19. }h[MAXN];
  20. int q[MAXN];
  21. int vis[MAXN];
  22. int ans[MAXN];
  23. bool cmp(Hight a, Hight b)
  24. {
  25. return a.val > b.val;
  26. }
  27. int main(void) //ACdream 1205 Disappeared Block
  28. {
  29. //freopen ("J.in", "r", stdin);
  30. int t;
  31. int n, m;
  32. scanf ("%d", &t);
  33. int cas = ;
  34. while (t--)
  35. {
  36. memset (vis, , sizeof (vis));
  37. scanf ("%d%d", &n, &m);
  38. for (int i=; i<=n; ++i)
  39. {
  40. scanf ("%d", &h[i].val);
  41. h[i].id = i;
  42. }
  43. for (int i=; i<=m; ++i) scanf ("%d", &q[i]);
  44. sort (h+, h++n, cmp);
  45. int cnt = ; int res = ;
  46. for (int i=, j=m; j>=; --j)
  47. {
  48. for (; i<=n; ++i)
  49. {
  50. if (h[i].val <= q[j]) break;
  51. int pos = h[i].id;
  52. vis[h[i].id] = ;
  53. if (!vis[pos-] && !vis[pos+]) res++;
  54. if (vis[pos-] && vis[pos+]) res--;
  55. }
  56. ans[j] = res;
  57. }
  58. printf ("Case #%d: ", ++cas);
  59. for (int i=; i<=m; ++i) printf ("%d%c", ans[i], (i==m) ? '\n' : ' ');
  60. }
  61. return ;
  62. }
  63. /*
  64. Case #1: 1 1 2
  65. Case #2: 1 2 1 1 0
  66. */

排序+逆向思维 ACdream 1205 Disappeared Block的更多相关文章

  1. iOS-Block总结 && 全面解析逆向传值

    1.block的特点:      block是C语言:      block是一种数据类型.可以当做参数,也可以用做返回值:--总之,对比int的用法用即可(当然,定义的时候,最好跟函数对比):   ...

  2. [转]iOS代码块Block

    代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值,特殊地,Block还可以保存一段代码,在需要 ...

  3. magento 产品列表排序、分页功能

    我们以 catalog_category_layered 控制器为例说明 在catalog.xml 找到catalog_category_layered配置段 <catalog_category ...

  4. ios Block详解

    一. iOS代码块Block 1.1 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值, ...

  5. 一篇文章看懂iOS代码块Block

    block.png iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返 ...

  6. ClickHouse源码笔记6:探究列式存储系统的排序

    分析完成了聚合以及向量化过滤,向量化的函数计算之后.本篇,笔者将分析数据库的一个重要算子:排序.让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的. 本系列文章的源码分析基于 ...

  7. ubifs概述

    UBIFS无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开 ...

  8. 浅析Hadoop文件格式

    Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势.不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定目的而建,因此序列化和反序 ...

  9. Ensemble Learning 之 Gradient Boosting 与 GBDT

    之前一篇写了关于基于权重的 Boosting 方法 Adaboost,本文主要讲述 Boosting 的另一种形式 Gradient Boosting ,在 Adaboost 中样本权重随着分类正确与 ...

随机推荐

  1. Spring AOP使用整理:自动代理以及AOP命令空间

    三.自动代理的实现 1.使用BeanNameAutoProxyCreator 通过Bean的name属性自动生成代理Bean. <bean class="org.springframe ...

  2. 6个关于dd命令备份Linux系统的例子

    数据丢失带来的损失是相当昂贵的.关键数据的丢失会对各种规模的企业带来影响.有几种方法来备份Linux系统,包括rsync的和rsnapshot等.本文提供有关使用dd命令备份Linux系统的6个实例. ...

  3. unity3d AssetBundle包加密

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961587.html 保护资源管理文件的相关内容 Unity允许用户使用AssetBu ...

  4. [Unity3D]关于Assets资源目录结构管理

    原地址:http://www.cnblogs.com/hisiqi/p/3203515.html 分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本.个人认为这种管理资源方式是不错的.欢迎探 ...

  5. C语言课程2——我们交流的工具:Coding.net

    各位同学,大家好,在我们本学期既有老师的课堂授课,同样也有我与你们在线的辅导:那么问题来了,我与你们之间是通过何种方式进行交流,比如你的代码我怎么修改,怎样看到修改了哪些地方,我对你们的代码怎样批注, ...

  6. django-cms 代码研究(五)深入(代码结构)

    前言: 前戏已经做得比较充分了,下面我们开始步入正题. 代码结构: cms |--admin (猜测是admin界面的二次开发和改良) |--cache (猜测是缓存机制的处理) |--extensi ...

  7. Html form 表单提交前验证

    可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验. onsubmit指定的方法返回true,则提交数据:返回false不提交数据. 直接看下面的代码: 1 & ...

  8. 【云计算】Netflix 开源持续交付平台 Spinnaker

    oschina        发布于: 2015年11月19日 (0评)          分享到:    收藏 +1 CDS首都在线全球云主机.全球私有网络,开工送礼,免费试用! »   日前,Ne ...

  9. ASP.NET MVC 的URL路由介绍

    在这个教程中,向你介绍每个ASP.NET MVC一个重要的特点叫做URL路由.URL路由模块是负责映射从浏览器请求到特定的控制器动作. 在教程的第一部分,你将学习标准路由表如何映射到控制器的动作.在教 ...

  10. Convert Sorted Array to Binary Search Tree With Minimal Height

    Given a sorted (increasing order) array, Convert it to create a binary tree with minimal height. Exa ...