1293 SCOI2009 生日禮物

2021-08-01 21:32:11 字數 589 閱讀 3266

題目鏈結

題目大意:數軸上有若干個彩色的點,求最短區間,使其包含所有顏色的點至少乙個

題解:做法挺多的,例如說堆,二分……我寫的大概是乙個叫尺取法的東西,就是維護兩個指標,表示區間的兩個端點,然後移動……感覺跟莫隊的維護方法差不多……

我的收穫:get

#include 

#include

#include

using

namespace

std;

#define inf 0x3f3f3f3f

const

int m=1000005;

#define p first

#define c second

int n,k,t;

pair a[m];

intmap[65];

void move(int &x,int &tot)

void back(int &x,int &tot)

void work()

cout

sort(a+1,a+1+t);

}int main()

1293 SCOI2009 生日禮物

time limit 10 sec memory limit 162 mb submit 3151 solved 1743 submit status discuss 小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有n個,分為k種。簡單的說,可以將彩帶考慮為x軸,每乙個彩珠有乙個對應的座標...

1293 SCOI2009 生日禮物

昨天想了好久這個題,最後發現竟然已經ac過了,還是寒假ac的!真是。網上都是些動歸,堆什麼的解法,我是佇列。按位置排序,依次加入佇列。加入乙個元素後判斷,保證隊首顏色只有一種。runid user problem result memory time language code length sub...

BZOJ1293 SCOI2009 生日禮物

標籤 單調佇列 description 小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有n個,分為k種。簡單的說,可以將彩帶考慮為x軸,每乙個彩珠有乙個對應的座標 即位置 某些座標上可以沒有彩珠,但多個彩珠也可以出現在同乙個位置上。小布生日快到了,於是小西打算剪一段彩帶送給小布。為了讓禮物...