排序+逆向思维 ACdream 1205 Disappeared Block
- /*
- 从大到小排序,逆向思维,从最后开始考虑,无后向性
- 每找到一个没被淹没的,对它左右的楼层查询是否它是孤立的,若是++,若不是--
- 复杂度 O(n + m),还以为 O(n^2)吓得写了一半就不写了
- */
- #include <cstdio>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #include <map>
- #include <set>
- #include <string>
- using namespace std;
- const int MAXN = 1e6 + ;
- const int INF = 0x3f3f3f3f;
- struct Hight
- {
- int val, id;
- }h[MAXN];
- int q[MAXN];
- int vis[MAXN];
- int ans[MAXN];
- bool cmp(Hight a, Hight b)
- {
- return a.val > b.val;
- }
- int main(void) //ACdream 1205 Disappeared Block
- {
- //freopen ("J.in", "r", stdin);
- int t;
- int n, m;
- scanf ("%d", &t);
- int cas = ;
- while (t--)
- {
- memset (vis, , sizeof (vis));
- scanf ("%d%d", &n, &m);
- for (int i=; i<=n; ++i)
- {
- scanf ("%d", &h[i].val);
- h[i].id = i;
- }
- for (int i=; i<=m; ++i) scanf ("%d", &q[i]);
- sort (h+, h++n, cmp);
- int cnt = ; int res = ;
- for (int i=, j=m; j>=; --j)
- {
- for (; i<=n; ++i)
- {
- if (h[i].val <= q[j]) break;
- int pos = h[i].id;
- vis[h[i].id] = ;
- if (!vis[pos-] && !vis[pos+]) res++;
- if (vis[pos-] && vis[pos+]) res--;
- }
- ans[j] = res;
- }
- printf ("Case #%d: ", ++cas);
- for (int i=; i<=m; ++i) printf ("%d%c", ans[i], (i==m) ? '\n' : ' ');
- }
- return ;
- }
- /*
- Case #1: 1 1 2
- Case #2: 1 2 1 1 0
- */
排序+逆向思维 ACdream 1205 Disappeared Block的更多相关文章
- iOS-Block总结 && 全面解析逆向传值
1.block的特点: block是C语言: block是一种数据类型.可以当做参数,也可以用做返回值:--总之,对比int的用法用即可(当然,定义的时候,最好跟函数对比): ...
- [转]iOS代码块Block
代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值,特殊地,Block还可以保存一段代码,在需要 ...
- magento 产品列表排序、分页功能
我们以 catalog_category_layered 控制器为例说明 在catalog.xml 找到catalog_category_layered配置段 <catalog_category ...
- ios Block详解
一. iOS代码块Block 1.1 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值, ...
- 一篇文章看懂iOS代码块Block
block.png iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返 ...
- ClickHouse源码笔记6:探究列式存储系统的排序
分析完成了聚合以及向量化过滤,向量化的函数计算之后.本篇,笔者将分析数据库的一个重要算子:排序.让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的. 本系列文章的源码分析基于 ...
- ubifs概述
UBIFS无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开 ...
- 浅析Hadoop文件格式
Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势.不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定目的而建,因此序列化和反序 ...
- Ensemble Learning 之 Gradient Boosting 与 GBDT
之前一篇写了关于基于权重的 Boosting 方法 Adaboost,本文主要讲述 Boosting 的另一种形式 Gradient Boosting ,在 Adaboost 中样本权重随着分类正确与 ...
随机推荐
- Spring AOP使用整理:自动代理以及AOP命令空间
三.自动代理的实现 1.使用BeanNameAutoProxyCreator 通过Bean的name属性自动生成代理Bean. <bean class="org.springframe ...
- 6个关于dd命令备份Linux系统的例子
数据丢失带来的损失是相当昂贵的.关键数据的丢失会对各种规模的企业带来影响.有几种方法来备份Linux系统,包括rsync的和rsnapshot等.本文提供有关使用dd命令备份Linux系统的6个实例. ...
- unity3d AssetBundle包加密
原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961587.html 保护资源管理文件的相关内容 Unity允许用户使用AssetBu ...
- [Unity3D]关于Assets资源目录结构管理
原地址:http://www.cnblogs.com/hisiqi/p/3203515.html 分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本.个人认为这种管理资源方式是不错的.欢迎探 ...
- C语言课程2——我们交流的工具:Coding.net
各位同学,大家好,在我们本学期既有老师的课堂授课,同样也有我与你们在线的辅导:那么问题来了,我与你们之间是通过何种方式进行交流,比如你的代码我怎么修改,怎样看到修改了哪些地方,我对你们的代码怎样批注, ...
- django-cms 代码研究(五)深入(代码结构)
前言: 前戏已经做得比较充分了,下面我们开始步入正题. 代码结构: cms |--admin (猜测是admin界面的二次开发和改良) |--cache (猜测是缓存机制的处理) |--extensi ...
- Html form 表单提交前验证
可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验. onsubmit指定的方法返回true,则提交数据:返回false不提交数据. 直接看下面的代码: 1 & ...
- 【云计算】Netflix 开源持续交付平台 Spinnaker
oschina 发布于: 2015年11月19日 (0评) 分享到: 收藏 +1 CDS首都在线全球云主机.全球私有网络,开工送礼,免费试用! » 日前,Ne ...
- ASP.NET MVC 的URL路由介绍
在这个教程中,向你介绍每个ASP.NET MVC一个重要的特点叫做URL路由.URL路由模块是负责映射从浏览器请求到特定的控制器动作. 在教程的第一部分,你将学习标准路由表如何映射到控制器的动作.在教 ...
- 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 ...