傳送門
思路:顯然區間具有單調性,所以可以通過列舉區間左端點,讓區間右端點不斷增加,至於區間畫的種類數,用乙個陣列記錄區間的[l , r]的畫的種類數,不斷更新即可。
時間複雜度:o(n
)o(n)
o(n)
ac**:
#include
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n=
1e6+5;
#define mst(a) memset(a,0,sizeof a)
int a[n]
,cnt[n]
,n,m,x,y=
1e9+7;
//用cnt[i]維護區間每種畫的個數.
intmain()
if(sumbreak;if
(r-l+
1if(
--cnt[a[l++]]
==0) sum--
;//更新區間左端點.
}printf
("%d %d\n"
,x,y)
;return0;
}
洛谷 P1638 逛畫展 尺取法
link description 博覽館正在展出由世上最佳的 m 位畫家所畫的圖畫。wangjy想到博覽館去看這幾位大師的作品。可是,那裡的博覽館有乙個很奇怪的規定,就是在購買門票時必須說明兩個數字,a和b,代表他要看展覽中的第 a 幅至第 b 幅畫 包含 a 和 b 之間的所有圖畫,而門票的價錢就...
P1638 逛畫展 左右指標移動
這道題不是莫隊,只是有莫隊的影子 題意 給出n個數字,給出m個畫家 表示這n個數字為1 m 讓我們找到乙個最小的範圍涵蓋這1 m個數,如果多解,則輸出左區間最小的解 思路 我們用左右指標移動來做此題,類似於莫隊 那麼如何做呢?我們一開始從第乙個端點開始,把第乙個端點納進來,然後開始分情況討論 假如已...
雙指標法典中典 逛畫展(洛谷P1638)
題目描述 博覽館正在展出由世上最佳的 m 位畫家所畫的圖畫。wangjy想到博覽館去看這幾位大師的作品。可是,那裡的博覽館有乙個很奇怪的規定,就是在購買門票時必須說明兩個數字,a和b,代表他要看展覽中的第 a 幅至第 b 幅畫 包含 a 和 b 之間的所有圖畫,而門票 的價錢就是一張圖畫一元。為了看...