誰看的最多

今天想到了昨天看到一道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.pswp.cn/news/259931.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259931.shtml
英文地址,請注明出處:http://en.pswp.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;我都…