洛谷 P4305 JLOI2011 不重複數字

2022-03-15 16:16:38 字數 825 閱讀 4669

題解原發於我的blog

兩個月不寫題解了,今天來水一波

這題的目標就是去重,我們都知道c++有stl

先把整個序列按值排序一遍,在按值去重,再按原來的順序排回去,就這麼簡單

注意使用\(sort\)時可能會打亂前後順序,所以也要在排序時加入另外加入與位置有關的條件

複雜度\(o(nlogn)\)

#include#include#define re register

using namespace std;

template inline void read(t &x)

while(s>='0'&&s<='9')

if(flag)

x=~x+1;

return;

}const int n=5e4+5;

int n;

struct node

inline bool operator ==(const node &rhs)const

} a[n];

inline bool cmp(const node &x,const node &y)

int main()

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

n=unique(a+1,a+1+n)-1-a;

// printf("%d\n",n);

sort(a+1,a+1+n,cmp);

for(re int i=1; i<=n; ++i)

printf("%d ",a[i].val);

putchar('\n');

} return 0;

}

洛谷 P4305不重複數字

給定 n 個數,要求把其中重複的去掉,只保留第一次出現的數。本題有多組資料。第一行乙個整數 t,表示資料組數。對於每組資料 第一行乙個整數 n。第二行 n 個數,表示給定的數。對於每組資料,輸出一行,為去重後剩下的數,兩個數之間用乙個空格隔開。輸入2111 21833 19236 5461 2345...

洛谷 4568 JLOI2011 飛行路線

題目戳這裡 一句話題意 有n個點,m條邊的有向圖,最多可以把k條邊變為0,求從起點到終點最短距離。solution 首先看到這題目,感覺賊難,看起來像dp,貌似也有大佬這麼做,但鑑於本蒟蒻思維能力有限,經過大佬點撥後拿出了失傳已久的絕技 分層圖!廢話真多 那麼我們就可以愉快地建圖了,根據題意,建出k...

洛谷P3261 JLOI2015 城池攻占

不得不說,這道題目是真的難,真不愧它的 省選 noi 的紫色大火題!花了我晚自習前半節課看題解,寫 又花了我半節晚自習調 真的心態 基本上改得和題解完全一樣了我才過了這道題!真的煩。沒事,那接下來我來完全把這道題搞透。part 1 理解題目 至少我一開始不知道為什麼要用左偏樹,甚至我看題解一開始也都...