??資源分享
我不知道小伙伴們有沒有dev5.4.0的資源,假如有那是最好的。假如沒有了,也不用著急,我已經(jīng)將它們上傳到gitee上了。可以直接下載喔~
學(xué)生機(jī)環(huán)境-Dev-cpp5.4.0及API幫助文檔
這差不多是今年里最后一次系統(tǒng)的寫藍(lán)橋杯了吧,之后了,還是會(huì)更算法,只是不會(huì)這種系統(tǒng)的更藍(lán)橋杯的算法了,會(huì)在執(zhí)梗的社區(qū)和冬冬這里更文章,跟著刷刷泡泡洛谷的題,會(huì)跟著英雄哥刷刷lc,記錄一下在acwing跟著y總學(xué)算法的筆記,也算是盡自己的綿薄之力,幫y總宣傳一下咱們acwing社區(qū)吧~。
因?yàn)閷懰{(lán)橋杯嘛,然后也有很多在罵我呀,罵執(zhí)梗呀還有罵泡泡的,其他的,p佬、小慫、樂樂和小羊那兒我倒是沒有注意到太多負(fù)面的話吧。這個(gè)我沒有什么好說的,我是逆來順受,不喜歡抗?fàn)幍娜恕?br>
我們從來沒有說過藍(lán)橋杯十分十分重要,相當(dāng)?shù)挠泻鹆康脑?,我和?zhí)梗的觀念只是,這里有個(gè)比賽,我們正好也在準(zhǔn)備它,那咱們也就更新和它相關(guān)的文章罷了,我們自己知道我們是菜狗,真覺得沒必要你們辛苦打字罵我們幾個(gè)。我們也是從當(dāng)初對藍(lán)橋帶著一點(diǎn)好感到現(xiàn)在只想說一句:藍(lán)橋杯絕絕子
??快捷鍵
1、
Ctrl + N
新建源代碼
2、Ctrl + F
搜索,同時(shí)也可以切換到替換了
Dev應(yīng)該沒有其他支撐咱們比賽時(shí)候使用的快捷鍵了,它沒有自動(dòng)補(bǔ)齊,沒有代碼聯(lián)想的它,屬實(shí)可愛。
然后我不知道是我熱鍵沖突了,或是其他原因,我自己使用不了ctrl +/
進(jìn)行注釋,ctrl + shift + /
也用不了。這兩個(gè)快捷鍵是大多數(shù)編輯器中的默認(rèn)的注釋方式了。
??環(huán)境配置
①編譯——注:下面代碼中的頭文件應(yīng)該是
bits/stdc++.h
。前面三張圖被我敲錯(cuò)了,但是因?yàn)榻仄僚?,我就不去重新截屏再加工?/font>②運(yùn)行
③解決問題的步驟
出現(xiàn)這種問題,主要是因?yàn)檫@個(gè)dev,咱們剛拿到手的時(shí)候,大多數(shù)是沒有進(jìn)行設(shè)定編譯器設(shè)置
,需要咱們手動(dòng)設(shè)置。(我都把頭文件敲錯(cuò)了…都不報(bào)錯(cuò)…)
步驟一:
步驟二:
步驟三:
解決成功
再次編譯運(yùn)行
點(diǎn)擊運(yùn)行
??將dev修改為支持C++11
既然官方說了支持c++11,有人造好輪子了,那咱們就乖乖用吧,只是怎么用了?
比如常用的auto吧,假如不修改為c++11,是使用不了的。
修改操作:
再次編譯+運(yùn)行
現(xiàn)在就可以使用C++11標(biāo)準(zhǔn)的語法去編寫代碼了。
??建議直接萬能頭文件
我自己的建議了,平時(shí)刷題的時(shí)候可以有選擇的
#include
需要的頭文件,明天就直接老老實(shí)實(shí)萬能頭吧,提前敲好放著,要用的時(shí)候直接復(fù)制粘貼,可以省一點(diǎn)時(shí)間。
??常見問題
??編譯無法通過——大多數(shù)是語法問題
1、代碼拼寫錯(cuò)誤
這種報(bào)錯(cuò)的意思大概是這個(gè)變量還沒有被聲明過。
[Error] 'dsi' was not declared in this scope
這種情況是最好處理的了,編譯器一般都會(huì)直接定位過去的。
再舉一個(gè)例子
2、庫函數(shù)名寫錯(cuò)了
調(diào)用庫函數(shù)的時(shí)候,函數(shù)名寫錯(cuò)了,大致是這種樣子的,讀出來了,也是說,沒有這個(gè)庫函數(shù)嗷~
[Error] 'std::string' has no member named 'lenght'
3、庫函數(shù)調(diào)用格式錯(cuò)誤
比如想用sort排序。
正確格式
解決方式——大多數(shù)是依賴平時(shí)積累的經(jīng)驗(yàn)+查提供的c++API.chm文檔
4、缺少了標(biāo)點(diǎn)符號(hào),或者標(biāo)點(diǎn)符號(hào)用錯(cuò)了
[Error] expected ';' before 'cout'
4、取名的時(shí)候,避免直接使用容易混淆的標(biāo)識(shí)符
,比如next、sort、max…
因?yàn)閭€(gè)別時(shí)候會(huì)與C++自帶的變量名重復(fù),導(dǎo)致編譯器找不著北。
??編譯可以通過,但結(jié)果有問題——大多數(shù)是邏輯問題了
1、假如是數(shù)組,注意數(shù)組角標(biāo)越界
編譯的時(shí)候Dev不會(huì)出現(xiàn)任何警告或者提示,但是運(yùn)行出來的結(jié)果挺奇怪的運(yùn)行結(jié)果:
常見的數(shù)組角標(biāo)可能越界的題型:
1、搜索。注意搜索的起點(diǎn)是1還是0
2、差分 和 前綴和 因?yàn)橛衖-1的索引,大多數(shù)也是從1開始
3、動(dòng)態(tài)規(guī)劃,大多數(shù)也是存在i-1的索引,結(jié)合實(shí)際情況而看了
暫時(shí)想起這么點(diǎn),假如還有的會(huì)來補(bǔ)充的~
2、代碼內(nèi)部邏輯錯(cuò)誤——調(diào)試
方法一:printf/cout輸出大法
Dev編輯器調(diào)試
能肉眼deBug是最好的,假如直接條調(diào)試比較吃力的話,可以就使用Dev自帶的調(diào)試功能,雖然不太好用…
步驟①
步驟②
步驟③
3、TLE(超時(shí)問題)
在本地的Dev跑,就算跑了半個(gè)小時(shí),也不會(huì)出現(xiàn)超時(shí)的提醒,但是考試的評測系統(tǒng)是有時(shí)間限制的,大多數(shù)情況下,就是1秒,現(xiàn)在C++一秒大概能進(jìn)行一億次運(yùn)算 ( 1 0 7 ? 1 0 8 ) (10^7 - 10^8) (107?108)的樣子,所以做題之前,先看好看好數(shù)據(jù)范圍,假如數(shù)據(jù)范圍是到 1 0 5 10^5 105了,這種時(shí)候,假如用兩個(gè)for循環(huán)來一個(gè) O ( n 2 ) O(n^2) O(n2)的時(shí)間復(fù)雜度,那么進(jìn)行的就是1 0 10 0^{10} 010次運(yùn)算,會(huì)超時(shí)的(只是不會(huì)做的時(shí)候,可以考慮暴力騙分)
1. n ≤ 30 n≤30 n≤30, 指數(shù)級別, dfs+剪枝,狀態(tài)壓縮dp
2. n ≤ 100 n≤100 n≤100 => O ( n 3 ) O(n^3) O(n3),floyd,dp,高斯消元
3. n ≤ 1000 n≤1000 n≤1000 => O ( n 2 ) O(n^2) O(n2), O ( n 2 l o g n ) O(n^2logn) O(n2logn),dp,二分,樸素版Dijkstra、樸素版Prim、Bellman-Ford
4. n ≤ 10000 n≤10000 n≤10000 => O ( n ? n ) O(n?\sqrt n) O(n?n?),塊狀鏈表、分塊、莫隊(duì)
5. n ≤ 100000 n≤100000 n≤100000 => O ( n l o g n ) O(nlogn) O(nlogn) => 各種sort,線段樹、樹狀數(shù)組、set/map、heap、拓?fù)渑判?、dijkstra+heap、prim+heap、Kruskal、spfa、求凸包、求半平面交、二分、CDQ分治、整體二分、后綴數(shù)組、樹鏈剖分、動(dòng)態(tài)樹
6. n ≤ 1000000 n≤1000000 n≤1000000 => O ( n ) O(n) O(n), 以及常數(shù)較小的 O ( n l o g n ) O(nlogn) O(nlogn) 算法 => 單調(diào)隊(duì)列、 hash、雙指針掃描、并查集,kmp、AC自動(dòng)機(jī),常數(shù)比較小的 O ( n l o g n ) O(nlogn) O(nlogn)的做法:sort、樹狀數(shù)組、heap、dijkstra、spfa
7. n ≤ 10000000 n≤10000000 n≤10000000 => O ( n ) O(n) O(n),雙指針掃描、kmp、AC自動(dòng)機(jī)、線性篩素?cái)?shù)
8. n ≤ 1 0 9 n \le 10^9 n≤109 => O ( n ) O(\sqrt n) O(n?),判斷質(zhì)數(shù)
9. n ≤ 1 0 18 n \le 10^{18} n≤1018 => O ( l o g n ) O(logn) O(logn),最大公約數(shù),快速冪,數(shù)位DP
10. n ≤ 1 0 1000 n \le 10^{1000} n≤101000 => O ( ( l o g n ) 2 ) O((logn)^2) O((logn)2),高精度加減乘除
11. n ≤ 1 0 100000 n \le 10^{100000} n≤10100000 => O ( l o g k × l o g l o g k ) O(logk×loglogk) O(logk×loglogk),k表示位數(shù),高精度加減、FFT/NTT
空間倒是一般都不會(huì)爆的,只要不開階乘級別的數(shù)組(比如int a[ 20!]),算法競賽對空間上的要求比較低。
4、涉及到取模的、或者數(shù)據(jù)范圍很大,還要進(jìn)行整數(shù)的乘法的題,不要使用int了,全部使用 long long
其他的,也沒有了吧,希望大家不要緊張叭~
努力對得起自己的付出就好,執(zhí)梗和我可能雖然是沖刺群的主要經(jīng)營者,要選題,要催打卡,要踢人…,就我自己而言嘛,我寫的題肯定是沒有泡泡、小慫、p佬、樂樂他們幾個(gè)多的,所以我自己也是挺慌,學(xué)校也爆了疫情,老師說之前申請的線下賽是不能改了,不知道周六能不能打了。
可能大家也知道今年線上賽作弊的,或者車隊(duì),800、1500包什么什么獎(jiǎng),這個(gè)了,我就不做評價(jià)啦,每個(gè)人有每個(gè)人的價(jià)值觀叭,加油加油加油,會(huì)好的
然后有不懂的題想請教的,可以私信這幾位博主呀,這個(gè)兩個(gè)社區(qū):高校算法學(xué)習(xí)社區(qū)、AI技術(shù)社里也有大量的大佬呀,大家也可以進(jìn)去提問的喔~。
淺說一點(diǎn),私信請教別人的時(shí)候,點(diǎn)個(gè)免費(fèi)的關(guān)注吧,人家并沒有什么給誰講題的義務(wù),我經(jīng)常也遇得到那種也沒有點(diǎn)贊,也沒有關(guān)注的,直接一段代碼的截屏,問,為什么這種寫。換位思考一下,就你想想你被這種問了以后,心中是怎么想的了
C/C++
Pluto(算法健將,各類周賽打?qū)殞毤墑e) | 看看Ta?? |
---|---|
泡泡(以大一學(xué)籍讓無數(shù)大四學(xué)長自愧不如,正在刷爆洛谷) | 看看Ta?? |
折疊的小餅干(實(shí)力派學(xué)姐,溫柔耐心~) | 看看Ta?? |
knao_s(題解絕絕子,除了詳細(xì)到位,還是詳細(xì)到位) | 看看Ta?? |
永遇樂金槍魚(一位謙虛的大佬,精準(zhǔn)把握你題解思路中不對的地方) | 看看Ta?? |
Java文章來源:http://www.zghlxwxcb.cn/news/detail-420894.html
執(zhí)梗(帶三百人沖刺藍(lán)橋主要負(fù)責(zé)人,講題細(xì)心,出題盡職盡責(zé)??????) | 看看Ta?? |
---|---|
小慫(用最樸素的for、while、if語句刷爆藍(lán)橋云課,擔(dān)心不熟悉數(shù)據(jù)結(jié)構(gòu)會(huì)影響解題的小伙伴可以多請教他喔~) | 看看Ta?? |
小羊不會(huì)飛(題解常年穩(wěn)居熱榜前三,高質(zhì)量題解質(zhì)量,講題耐心) | 看看Ta?? |
Hydrion-Qlz(西安交大大佬,算法愛好者) | 看看Ta?? |
小成同學(xué)(acwing師兄,刷題健將,考慮問題周全) | 看看Ta?? |
托馬斯—酷濤(Java算法愛好者,對多個(gè)方向均有涉獵) | 看看Ta?? |
小王同學(xué)(算法博客詳細(xì),答疑熱情,登上熱榜第一) | 看看Ta?? |
Python文章來源地址http://www.zghlxwxcb.cn/news/detail-420894.html
小鄭(國賽強(qiáng)勁實(shí)力選手,熱榜??停笾軓?qiáng)) | 看看Ta?? |
---|---|
小藍(lán)(算法思路清晰,博客題解詳細(xì)) | 看看Ta?? |
秋刀魚(會(huì)三門語言,題解很詳細(xì)滴) | 看看Ta?? |
到了這里,關(guān)于明天省賽,我都還不太熟悉Dev - C++,怎么切換成C++11了?它的報(bào)錯(cuò)看不懂呀,那花八分鐘看看這篇文章吧~解決你的困惑。的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!