題解原發於我的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 理解題目 至少我一開始不知道為什麼要用左偏樹,甚至我看題解一開始也都...