C++有哪些NOIP中適用的能大幅簡化編碼及調試難度的內置函數/數據結構?
01-08
OI將至,求各位dalao分享一下自己知道的好東西~
比如說nth_element()之類的函數
pq map set vectorext pbds
不用白不用
謝...邀?
STL中的模板,比如map,set,vector,priority_queue等等,還有algorithm里的sort,***er_bound,unique,nth_element等等,都是noip確認可以用的,至於pbds等倒是不太清楚能不能用。
使用STL可以大幅減少編程時間和難度,在noip這個時間短的比賽,儘管不開-O2優化,但是從求穩和節省時間的角度,還是建議用的。(如果你想AK就還是盡量手寫吧,因為這幾年都有那麼幾個點卡常數)
vector,可以直接swap。
stack可以提高代碼可讀性,雖然簡單,但是能少寫一個數據結構多好。vector sort map queue
至少有了我用前3個還是少寫了很多代碼,並且沒損什麼效率,但是我嫌stl的queue太慢普通的queue還是在手寫。
上stl啊,sort,map,set,啥都有。
謝邀qwq 辣雞退役選手強答一發前面說的我覺得很全了 主要分為數據結構:vector map stack queue priority_queue set deque bitset以及沒怎麼用過的multiset(順便吐槽STL棧功能捉急233演算法(大概):常用的大概包括algorithm里的sort unique 以及cmath里的各種數學函數外加懶人必備lower_bound不過有兩個前面好像沒提到233 就是pair和string 在不考慮時間的情況下 這兩個都可以減少很多代碼複雜度還有黑科技pbds(劃掉)tips:建議至少對指針 地址 迭代器有一定的了解再使用大部分STL
用的最多的算是vector,map,set,queue,stack了吧,還有幾個不常用的比如tuple,pbds,bitset,函數的話有next_permutation等等(雖然不知道noip能不能用)
STL啊(其他人說的挺好了我就不講了)
STDINT啊
先
#include &
然後就可以使用以下類型:
int8_t
int 16_t
....
int64_t
uint8_t
uint16_t
....
等
然後就可以
#define int long long
並把main的返回值改成int32_t了
順便可以用萬能庫bits/stdc++.h
瀉藥.....(弱子般的我為什麼會被邀請....
樓上的大佬們都說的很準確了STL模版中的vector和map用的比較多但是弱子般的答主不習慣.....一般手打
其他用的比較多的就是sort(頭文件algorithm)
排序用快排碼一堆不如sort...複雜度是n*log(n)有些結構體類型排序用sort真心方便...先寫到這裡吧.....想到別的再補充.....QAQ推薦閱讀:
※說下近些年來你認為最強的OI選手?
※什麼樣的C++代碼不開O2沒事,一開O2就會出錯?
※有哪些這樣的圖片或句子?
※獲得IOI金牌是怎樣的一種體驗?
