谁看的最多

今天想到了昨天看到一道acm题目,难度入门级别。“谁看的最多”,题目大概是这样的:一队列的人3 2 1 6 4 5,数值的大小表示该人的高度。每个人只能看到前面比他高的人,如1可以看见2、3。但是,如果有人B比他高,那么他就不能看到这那个B之前比B低的人了。如5,因为6比他高,他只能看到6,但看不到6之前的人(如果之前有7、8之类比6高的,5也可以看到)。而4比5低也看不到。

题目想了个大概就没有想了,又是卡在里动态规划的状态里。F(i)表示第i个人看到的人数。如果他前一个人比i低,则i看到的最多只有一个了,就是i-1。如果他比前一个高,则看到的就是前i-1个人第一个比他高的人看的人数加一。如果可以快速找前面i-1的第一个比i高,就可以利用动态规划的方法了。通过一个数组记录i前面的第一个比i高的位置,这样就可以快速找出。

状态转移方程:F(i)=若i比i-1高,为F(j)+1,j为前面的第一比i高的;否则为1(i>0。i=0,看到就为0个)

挫挫代码:

 1 int func10(int a[], int n)
 2 {
 3     int i,j;
 4     int maxsee;
 5     int *see,*tall;
 6 
 7     if (n<0)
 8     {
 9         return -1;
10     }
11     see = (int*)malloc(n*sizeof(int));
12     tall = (int*)malloc(n*sizeof(int));
13 
14     maxsee = see[0] = 0;
15     tall[0] = -1; //之前未有比其高的
16 
17     for (i=1; i<n; i++)
18     {
19         if (a[i] > a[i-1])
20         {
21             for (j=tall[i-1]; j>0; )
22             {
23                 if (a[i]<=a[j])
24                 {
25                     break;
26                 }
27                 j=tall[j];
28             }
29             if (j==-1)
30             {
31                 see[i] = 0;
32                 tall[i] = -1;
33             }
34             else
35             {
36                 see[i] = see[j] +1;
37                 tall[i] = j;
38             }
39         }
40         else  //a[i]<=a[i-1]
41         {
42             see[i] = see[i-1]+1;
43             tall[i] = i-1;
44         }
45 
46         maxsee = maxsee<see[i] ? see[i]  : maxsee;
47     }
48 
49     free(see);
50     free(tall);
51 
52     return maxsee;
53 
54 }

又一题。

复习还是不给力。。。继续。。

毕。

 修订2013-4-18 :

在不断的被虐之后,发现其是这个算法的题目是ACM中一个犀利的数据结构:单调栈的应用(参考博客中的另一篇文章:单调栈:柱形统计图中最大面积(POJ 2559)) 其实此问题的解决就是单调栈的思想,通过记录的一些信息模拟单调栈。其算法复杂度和单调栈是一致的。

转载于:https://www.cnblogs.com/legendmaner/archive/2013/03/22/2975843.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机与网络应用基础知识下上机考试,计算机应用基础知识考试

计算机应用基础课程是提高高职学生计算机文化水平的公共必须课&#xff0c;那么你对计算机应用基础知识了解多少呢?以下是由小编整理关于计算机应用基础知识试题的内容&#xff0c;希望大家喜欢!计算机应用基础知识试题1、计算机系统由硬件系统和软件系统两部分组成&#xff0…

分支-08. 高速公路超速处罚

按照规定&#xff0c;在高速公路上行使的机动车&#xff0c;超出本车道限速的10%则处200元罚款&#xff1b;若超出50%&#xff0c;就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。 输入格式&#xff1a;输入在一行中给出2个正整数&#xff0c;分别对应车速…

lua 从一串数字中取出偶数位的数字_为什么JavaScript中 0.1 0.2 不等于0.3?

在 js 中进行数学的运算时&#xff0c;会出现0.10.20.300000000000000004的结果&#xff0c;一开始认为是浮点数的二进制存储导致的精度问题&#xff0c;但这似乎不能很好的解释为什么在同样的存储方式下0.30.40.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算&am…

zookeeper启动后没有相关进程

查看状态报错&#xff0c;报错&#xff0c;百度硕士nc问题&#xff0c;让看.out文件&#xff0c;但是这哥文件是空的&#xff0c;那就看log 016-12-15 14:08:19,355 [myid:] - INFO [main:QuorumPeer$QuorumServer149] - Resolved hostname: StandByNameNode to address: Stan…

html如何播放h264视频,浏览器 – 我如何播放H264视频?

嗯..从它的外观看起来它不像H264文件..通过MediaInfo运行它,我得到了这个&#xff1a;VideoFormat : AVCFormat/Info : Advanced Video CodecFormat profile : BaselineL2.0Format settings, CABAC : NoFormat settings, ReFrames : 1 frameWidth : 352 pixelsHeight : 288 pix…

ebs r12 -- adadmin: error while loading shared libraries: libclntsh.so.10.1

安装EBS R12.2增加中文字符集时&#xff0c;运行$AU_TOP/bin/adadmin出错&#xff1a; $ adadmin adadmin: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory产因是没有配置应用管理用户的环境变量。 对.…

kingedit 上传php_php文件上传下载实例(实现最简单的网盘功能)

本人是一个新手代码狗&#xff0c;第一次发表博客&#xff0c;欢迎大大们指点&#xff01;最近手头有一个文件上传下载的案例&#xff0c;跟大家一起分享一下作为一个新手的苦逼成长历程&#xff01;话不多说&#xff0c;先上代码:一&#xff1a;这个是一个文件上传的html页面&…

Perl 面对对象的案例理解

晚上仔细的推敲了下大骆驼的案例&#xff0c;由于有段时间没继续看下去了&#xff0c;导致有些地方忘记了。 今天仔细的翻了下面对对象那块&#xff0c;说实话&#xff0c;认真看&#xff0c;用心看的话&#xff0c;就能看明白它写神码。 看完前面一堆的理论&#xff0c;发现一…

计算机发展与应用,网络计算机的发展与应用

网络计算机(Network Computer)&#xff0c;简称NC&#xff0c;是专用于高速网络环境下的一种计算机终端设备。它一般不需要硬盘、软驱及光驱等外部存储器&#xff0c;而是通过网络获取大部分资源&#xff0c;其所需要的应用程序和数据都存储在服务器上。NC与PC的比较随着网络技…

ASP.NET 缓存技术分析

缓存功能是大型网站设计一个很重要的部分。由数据库驱动的Web应用程序&#xff0c;如果需要改善其性能&#xff0c;最好的方法是使用缓存功能。可能的情况下尽量使用缓 存&#xff0c;从内存中返回数据的速度始终比去数据库查的速度快&#xff0c;因而可以大大提供应用程序的性…

分布式搜索 Elasticsearch —— 删除索引

为什么80%的码农都做不了架构师&#xff1f;>>> 删除索引的方式很多&#xff0c;这里列举三种。 指定 index 、type、id 执行删除 package com.gsoft.gsearch.util;import org.elasticsearch.action.get.GetResponse; import org.junit.Test;import com.gsoft.gsea…

springmvc拦截器对请求参数解密_SpringMVC拦截器如何修改请求参数

拦截器1&#xff0c;基本拦截器&#xff1a;package cn.ijava.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servle…

SQL Server 2008安装配置说明书+简单使用 亲测可用

SQL Server 2008 序列号&#xff1a;Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYBEnterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB 产品秘药JD8Y6-HQG69-P9H84-XDTPG-34MBB 下面只说企业版安装说明 SQL Server版本&#xff1a;SQL Server 2008 企业版。 安装Microsoft SQL Server 20…

计算机云客户端,蓝奏云网盘客户端 0.3.7电脑版

蓝奏云由于不限速、下载速度快被很多用户所欢迎&#xff0c;不过蓝奏云没有客户端&#xff0c;上传下载有时也不太方便,这里有大神写了蓝奏云网盘客户端&#xff0c;采用蓝奏云API项目使用PyQt5实现图形界面&#xff0c;蓝奏云盘API项目实现了对蓝奏网盘的基本操作: 登录、列出…

IT知识免费学习视频地址大全

Jquery2.0实战 http://edu.ibeifeng.com/view-index-id-318.html使用SSH框架技术开发学籍管理系统-Hibernate 部分http://edu.ibeifeng.com/view-index-id-319.htmlSpring 实战:使用 SSH 框架技术开发学籍管理系统http://edu.ibeifeng.com/view-index-id-320.htmlStruts 实战:使…

三十分钟学会SED

本文承接之前写的三十分钟学会AWK一文&#xff0c;在学习完AWK之后&#xff0c;趁热打铁又学习了一下SED&#xff0c;不得不说这两个工具真的堪称文本处理神器&#xff0c;谁用谁知道&#xff01;本文大部分内容依旧是翻译自Tutorialspoint上的入门教程&#xff0c;这次是 Sed …

unity实现图片轮播效果_Unity实现图片轮播组件

游戏中有时候会见到图片轮播的效果&#xff0c;那么这里就自己封装了一个&#xff0c;包括自动轮播、切页按钮控制、页码下标更新、滑动轮播、切页后的回调等等 。下面&#xff0c;先上一个简陋的gif动态效果图从图中可以看出&#xff0c;该示例包括了三张图片的轮播&#xff0…

[置顶] 2013腾讯编程马拉松初赛第4场(3月24)(HDU 4520 HDU4521 HDU4522 HDU4523 HDU4524)...

话说昨天比赛终于拿到一个不错的名次&#xff0c;rank77&#xff0c;对于我们这种ACM弱菜的学校来说已经很好了&#xff0c;可惜我1003用了俩floyd超时&#xff0c;如果我最近稍微搞搞图论的话&#xff0c;用个bellman&#xff0c;或者SPFA&#xff0c;绝对超不了了就。。。哎。…

计算机学院年会,重庆大学计算机学院举行2019年迎新晚会

2019年12月6号晚&#xff0c;重庆大学计算机学院2019年迎新晚会在兰园小剧场举行。出席本次晚会的嘉宾有计算机学院党委副书记兼纪委书记郭坤银、党委组织员刘霜、2016级辅导员李若菡老师、2017级辅导员古曦老师、2018级辅导员郑田青老师、2019级辅导员谢璧如老师。本次晚会的主…

[转贴]Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程

看了opengles有一段时间了&#xff0c;算是了解了一下下。然后&#xff0c;就在基本要决定还是回归cocos2dx 3.2的&#xff0c;看了这篇好文章&#xff0c;欣喜转之~ 推荐看原帖&#xff1a; Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程 最近几天&#xff0c;我都…