HDU 1025 Constructing Roads In JGShining's Kingdom(DP+二分)

點我看題目

題意 :兩條平行線上分別有兩種城市的生存,一條線上是貧窮城市,他們每一座城市都剛好只缺乏一種物資,而另一條線上是富有城市,他們每一座城市剛好只富有一種物資,所以要從富有城市出口到貧窮城市,所以要修路,但是不能從富有的修到富有的也不能從貧窮的修到貧窮的,只能從富有的修到貧窮的,但是不允許修交叉路,所以問你最多能修多少條路。

題意 :這個題一開始我瞅了好久都沒覺得是DP,后來二師兄給講了一下才恍然大悟。其實就是用到了DP中的那個最長上升子序列,把題中貧窮城市的坐標當成數組的下標,跟其相連的富有城市的坐標當作數組的值,這樣的話,因為不能有交叉,所以只能一直往右,這就好比找最長上升子序列,因為用樸素的算法會超時所以要用二分。

解題報告這里邊的解釋非常詳細,就是怎么用二分去做,其實就是將找到的子序列保存到B數組里,但是往里插入的過程用的是二分。

?

//HDU 1025

#include <iostream>
#include <stdio.h>
#include <string.h>using namespace std;int dp[505000] ;
int B[505000] ;int main()
{int n ;int casee = 1 ;while(~scanf("%d",&n)){int a,b ;for(int i = 0 ; i < n ; i++){scanf("%d %d",&a,&b) ;dp[a] = b ;//這樣就相當于去找dp這個數組的最長上升子序列了
        }int len = 1 ;B[1] = dp[1] ;for(int i = 2 ; i <= n ; i++)//這里掉了等號WA到死啊
        {int low = 1 , high = len ;while(low <= high){int mid = (low+high) >> 1 ;if(B[mid] < dp[i]) low = mid+1 ;else high = mid - 1 ;}B[low] = dp[i] ;if(low > len) len++ ;}printf("Case %d:\n",casee++) ;if(len == 1)printf("My king, at most 1 road can be built.\n\n") ;else printf("My king, at most %d roads can be built.\n\n",len) ;}return 0;
}
View Code

?

轉載于:https://www.cnblogs.com/luyingfeng/p/3569595.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260802.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260802.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260802.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

表單元素選擇器

無論是提交還是傳遞數據&#xff0c;表單元素在動態交互頁面的作用是非常重要的。jQuery中專門加入了表單選擇器&#xff0c;從而能夠極其方便地獲取到某個類型的表單元素 表單選擇器的具體方法描述&#xff1a; 注意事項&#xff1a; 除了input篩選選擇器&#xff0c;幾乎每個…

怎樣在excel表格中畫斜線并打字_一日一技丨Excel斜線表頭如何制作?標題、表頭的4個技巧...

來源 | 迅捷PDF轉換器 (ID:xjpdf6)作者丨小小迅「一日一技」是每天的知識分享專欄&#xff0c;一是分享一些PDF、Office、辦公小技巧&#xff1b;二是抽取小可愛們在留言中的疑問并解決。希望對大家有所幫助&#xff01;表頭的標題是Excel中的第一道大門&#xff0c;精致好看的…

Retina時代的前端視覺優化

隨著New iPad的發布&#xff0c;平板也將逐漸進入Retina時代&#xff0c;在高分辨率設備里圖片的顯示效果通常不盡人意&#xff0c;為了達到最佳的顯示效果就需要對圖片進行優化&#xff0c;這里介紹一些優化方法&#xff1a; 一、用CSS替代圖片 這一點在任何時候都適用&#x…

第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波10 - 直方圖處理 - 局部直方圖處理

這里寫目錄標題局部直方圖處理局部直方圖處理 因為像素是由基于整個圖像的灰度的變換函數修改的。這種全局性方法適合于整體增強&#xff0c;但當目的是增強圖像中幾個小區域的細節時&#xff0c;通常就會失敗。這是因為在這些小區域中&#xff0c;像素的數量對計算全局變換的…

CodeForces369C On Changing Tree

昨天的CF自己太挫了。一上來看到A題&#xff0c;就有思路&#xff0c;然后馬上敲&#xff0c;但是苦于自己很久沒有敲計數的題了&#xff0c;許多函數都稍微回憶了一陣子。A題的主要做法就是將每個數質因數分解&#xff0c;統計每個質因子的個數&#xff0c;對于每個質因子pi的…

ES6之const命令

一直以來以ecma為核心的js始終沒有常量的概念&#xff0c;es6則彌補了這一個缺陷&#xff1b; const foofoo;foobar;//TypeError: Assignment to constant variable.上例聲明了一個基本類型的常量&#xff0c;如過試圖修改初始值則會報錯&#xff1b;如果是引用類型的值同樣適用…

C++和Rust_后端程序員一定要看的語言大比拼:Java vs. Go vs. Rust

這是Java&#xff0c;Go和Rust之間的比較。這不是基準測試&#xff0c;更多是對可執行文件大小、內存使用率、CPU使用率、運行時要求等的比較&#xff0c;當然還有一個小的基準測試&#xff0c;可以看到每秒處理的請求數量&#xff0c;我將嘗試對這些數字進行有意義的解讀。為了…

Hdu 2015 偶數求和

題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2040。水題。CODE&#xff1a;1 #include <stdio.h>2 #include <stdlib.h>3 #include <string.h>4 #include <math.h>5 using namespace std;6 7 const int maxn 102;8 9 int save[ma…

第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波11 - 直方圖處理 - 使用直方圖統計量增強圖像

使用直方圖統計量增強圖像 全局均值和方差 μn∑i0L?1(ri?m)np(ri)(3.24)\mu_{n} \sum_{i0}^{L-1} (r_{i} - m)^{n} p(r_{i}) \tag{3.24}μn?i0∑L?1?(ri??m)np(ri?)(3.24) m∑i0L?1rip(ri)(3.25)m \sum_{i0}^{L-1} r_{i} p(r_{i}) \tag{3.25}mi0∑L?1?ri?p(ri?…

數據結構 --- 堆

to be continued轉載于:https://www.cnblogs.com/zhongzhiqiang/p/5808564.html

HDU - 1723 - Distribute Message

先上題目&#xff1a; Distribute Message Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1186 Accepted Submission(s): 547 Problem DescriptionThe contest’s message distribution is a big thing in pre…

nodejs 圖片處理模塊 rotate_學會Pillow再也不用PS啦——Python圖像處理庫Pillow入門!...

你在用什么軟件進行圖像處理呢&#xff1f;厭倦了鼠標和手指的拖拖點點&#xff0c;想不想用程序和代碼進行圖像的高效處理&#xff0c;Python作為簡單高效又很強大的一門編程語言&#xff0c;對于圖像的處理自然也是輕松拿下&#xff0c;聽起來是不是很酷很極客&#xff0c;那…

創建一個追蹤攝像機(2)

為了生成曲線&#xff0c;函數需要通過4個在沿著重量值在0和1之間的路徑上連貫的位置。由于重量在這些2個值之間增加&#xff0c;曲線返回在更遠的路徑上的坐標。 當所提供的重量值為0&#xff0c;曲線將返回正確的坐標在第二個輸入坐標。當所提供的重量值為1&#xff0c;曲線將…

Xcodebuild自動打包

#! /bin/bash #firtoken 29b441056e1e17c984cb32fadadsdddd shell_dirdirname $0 TARGET_NAME"SmartLock" DIR_PATH/Users/用戶名/Desktop/SmartLock SIGN"iPhone Distribution:******" PROFILE"66d127d6-7963-4c20-ac8b-47e4f0fe8742" TEMP_DIR…

第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波12 - 空間域濾波基礎 - 卷積運算(numpy 實現的三種卷積運算)

這篇文章比較長&#xff0c;請耐心看空間域濾波基礎線性濾波可分離濾波器核空間域濾波和頻率域濾波的一些重要比較如何構建空間濾波器第一種卷積方法&#xff08;公式法&#xff09;第二種卷積的方法&#xff08;可分離核&#xff09;第三種方法&#xff08;img2col)這是分離核…

hdu_1861_游船出租_201402282130

游船出租 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7238 Accepted Submission(s): 2411 Problem Description 現有公園游船租賃處請你編寫一個租船管理系統。當游客租船時&#xff0c;管理員輸入船號并按…

acer清理工具 clear下載_SolidWorks綠色版下載-SolidWorks完全清理工具v1.0免費版

SolidWorks完全清理工具(SWCleanUninstall)是一款綠色免費的SolidWorks完全卸載工具。很多SolidWorks安裝不成功都是因為之前安裝錯誤做成軟件殘留。這款工具可以完全清理很多SolidWorks留下的注冊表垃圾。軟件核心功能1、SWCleanUninstall可以直接刪除電腦上的SolidWorks軟件2…

ZOJ1221 Risk 圖形的遍歷

一開始做圖形遍歷的題都是用鏈表做的&#xff0c;這次用數組體會到了方便但就是有點浪費。 不過題目給的內存限制已經足夠了。 View Code 1 #include<cstdio>2 #include<cstdlib>3 #include<cstring>4 #include<queue>5 #include<iostream>6 7 …

Android 從AndroidManifest獲取meta-data

語法如下&#xff1a; <meta-data android:name"string"android:resource"resource specification"android:value"string" /><meta-data>標簽可以作為子標簽&#xff0c;可以被包含在<activity>、<application> 、<s…

trim()函數

參數string&#xff1a;string類型&#xff0c;指定要刪除首部和尾部空格的字符串返回值String。 函數執行成功時返回刪除了string字符串首部和尾部空格的字符串&#xff0c;發生錯誤時 返回空字符串&#xff08;""&#xff09;。 如果參數值為null時&#xff0c;會拋…