1樓:Mojiu
Python會超時的
每種語言都有自己的特點
不存在公不公平
你覺得Python強
完全可以去學Python
沒有人強制你用其他語言和Python比
如果你真的覺得Python簡單
那就加入
2樓:
就python 那效率,為什麼會是很大優勢,競賽應該只能用標準庫吧,難道還能pip install 第三方庫(那些科學計算庫numpy 什麼的。
3樓:KuriyamaMirai
如果您說的是碼農題,我相信 Python 並沒有內建豬國殺,可能連超級瑪麗遊戲的字串都沒有。
如果您說的是演算法題,我相信 Python 並沒有內建「多項式求逆」,可能連求 CRT 的模板也沒有。
如果您做的是卡常題……祝你成功
綜上,為啥用 Python?
4樓:fa555
Python 在演算法競賽中和其他語言相比幾乎沒有優勢,因此不會產生很大的不公平。
(當然要說不公平肯定也有,Python 選手會經常被卡空間卡時間,確實會對自己很不公平)
Python 的語法在描寫演算法時候編碼難度不會低,解釋型語言的先天特點也帶來了幾十倍甚至百倍於 C++(98 / 11) 的時空常數。
背景:我曾經用 py 寫了洛谷 P4779,Python3 全執行超時,Pypy3 超時一半
更何況題主舉的例子裡這種 Python 編碼難度佔巨大優勢的題目在正式比賽幾乎無法遇到。
如果沒有巨大的額外時空限制或限制其他語言的使用,相當於給 Python 判了死刑。
5樓:
還以為題主想說對Python不公平, 沒想到題主想說, Python優勢很大!
其實Python做演算法題目主要是弊大於利.
Python的優勢是什麼?
主要還是語法簡潔清晰, 包多.
但是具體到演算法題, 這個優勢基本上沒有了.
語法簡潔清晰?
演算法題一般也就100行以內, 語法簡潔的優勢不明顯.
包多?演算法程式設計一般只能用Python官方的那些庫, 包多的優勢無法體現.
那麼Python的劣勢是什麼?
速度慢啊!
雖然一般會給Python 10倍的時限. 但是很多任務下, Python速度是C++的30到100倍.
10倍的時限根本不夠.
總結:在演算法競賽這個領域, Python的優勢無法體現, 劣勢卻很明顯, 總體上是弊大於利.
6樓:WYXkk
C++:你說的跟python有STL一樣
C:你說的跟python支援各種指標操作一樣
總之,語言各有優劣,你不能說python有高精就認為python比其他的好,其他語言也有python沒有的東西呢,我甚至可以說一道手寫100+行的平衡樹我乙個常數巨小的vector20行搞定,python你只能乖乖手寫。
7樓:錦心
資訊競賽選Python的話遇到大資料真的不會直接tle嗎……
平常我寫個for迴圈都要register,讀入都要快讀,Python倒好,不用while就只能range出來……
另外python也沒有規避太多知識點吧,它難道會內建線段樹嗎(
8樓:hhcy
基本公平,比如你舉的例子就根本不算難點。python自帶的高精度很厲害,但如果允許使用python的話就不會出需要nlogn的高精度乘法題
9樓:dblark
現在還沒有呢……
演算法競賽重點考察的是演算法,追求的是效率,語言之間差異不大
python 的話,效率原因也不會有多少人去用它的
如何解決Python語言沒有和其他程式語言類似的for語句造成的不方便?
freeman 主要還是習慣問題。傳統C的for大部分都可以轉化為範圍遍歷處理,實在不行還可以用while替代。只是for使用多,產生了習慣依賴,這需要一些時間改變。傳統的C迴圈 for 初始化語句 條件判斷式 遞增語句 迴圈體while 條件 迴圈體 python的for for i in 範圍 ...
為什麼 Python 不支援函式過載?而其他語言大都支援?
jijidawang 舉個例子,C 中的函式過載 void input inta void input chara void input doublea Python 呢 definput a a input C void helloworld inta 233 void helloworld in...
Python分別使用while和for語句輸出100 200中能被3整除的數。
需求確認 利用python程式語言,while以及for語句,輸出在100 200能被3整除的數.while 語句用於迴圈執行程式,即在某條件下,迴圈執行某段程式,以處理需要重複處理的相同任務。其基本形式為 while 判斷條件 condition 執行語句 statements for迴圈可以遍歷...