由於充分意識到自己在演算法方面的慘不忍睹,然後又覺得自己學了這麼多年計算機卻可能連些高中生都比不過,決定奮發圖強
我覺得我現在的狀態是,知道自己的差距在哪,也大概知道該如何提高,剩下的就是努力去完成它了。
執行力永遠是很難的那麼一件東西,但仍舊不能放棄
原本在研一剛開學的時候就制定了學習演算法的目標,結果學期快要結束了,也沒見開始。
考完試離回家正好有段時間,可以好好地完成它了
我覺得計算機系的學生大都沒有做題的意識,好象題目總是學數學的人做的
正如不做題沒法學好數學一樣,我覺得做一些演算法題對學習計算機是很有幫助的
原本準備做北大oj上的acm的題目
但看到網上說usacogate分類齊全,有相應的提示,比較適合初學者,終於於2023年1月15號下定決心
新年新氣象!終該有新的進步才行
先簡要介紹一下usacogate
usacogate 是全美計算機奧林匹克競賽(usaco)的乙個訓練**,要參加 usaco 就必須參加 usacogate 的訓練。
很多人認為競賽只不過是獲得獎金、贏取名聲、進入好大學的手段罷了,枯燥而無任何實際意義。要注意,資訊學的競賽可不是這樣的,這裡的題目不僅有新意,而且會讓你得到極好的煅煉。而且,你會發現這些題其實挺有趣的
我一直認為計算機的水平不像其他學科一樣容易得到衡量,但從這點來看,還是有很大的區分度的。程式設計師乙個很大的通病在於,自認為了不起,以為掌握了n多工具n多控制項然後就高人一等。其實只要和真正的高手一比,便知道自己簡直是井底之蛙
可惜自己錯過了參加oi和acm類似比賽的機會,也只能靠自己多多少少補上一些算一些了
做題特別是usacogate上的題的好處如下:
1.給你提供實踐的機會。很多人學程式設計的人都會問,我是自學,也不在公司,那麼到哪實踐。很簡單,做題就是了。在這裡做題比在公司程式設計得到的煅鍊要多得多,因為題目本身難,而且重複性少,不至於覺得枯燥無味
2.usacogate的難度由淺入深,不至於一開始就把你嚇著讓你遑恐地退出。慢慢會發現越來越有挑戰性。另外,這會強迫你看書,因為你不會,只能到書中去尋找答案了。這要比成天捧著本大部頭而不知所云好得多。我向來強調方向多過於盲目的努力。足夠努力的人是值得尊敬的,但若走錯了路子,便不免覺得可惜。
3.必須做完乙個小節的題目才能做下一節。這樣可以讓你扎扎實實地打好基礎,不至於好高騖遠。另外,這種類似於挑戰賽的模式很有趣,會讓你一發不可收拾,總想著能夠提交成功。是不是有點像遊戲呢?很好,以遊戲的心態學習,我認為是最好的學習方式。你好好想想,要是學習學上了癮,那該是多好的一件事情
4.要是你提交成功了就可以看到相應的分析和答案。這樣一讓你不至於偷懶,可以讓你好好地去思考這個問題。二,通過與答案的比較,可以很容易地發現自己的不足,從而改正
5.有嚴格的輸出要求和時間要求。可以強制你養成正確性和高效率的習慣,不至於把程式編出來就草草了事
6.涉及面廣,可以說做上那麼一輪下來,你的演算法功底已經非常深了。
如此多的好處,不知你是否心動了呢?
當然,真正的好處只有在你深入進去之後才能感受得到
**是http://ace.delos.com/usacogate,我是開始了我的演算法旅程了,你呢?
Block Voting 解題報告
這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...
Safebreaker 解題報告
又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...
路由 解題報告
路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...