X



競技プログラミングにハマるプログラマのスレ 9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001仕様書無しさん
垢版 |
2017/04/25(火) 11:02:10.22
プログラミングコンテスト(プロコン)やオンラインジャッジや競技プログラミング(競プロ)やCTFなどを楽しんでる競技プログラマ(競プロer)の雑談スレ
競プロイベントや競プロ問題や有名競プロerや競プロでよく使うアルゴリズム等について語りあったり、競プロ関連の質問相談なんでもおk
競プロ初心者でググっても解説読んでも分からないことがあったらスレの競プロの先輩方に訊いてみるのも手だよ(分かりやすい解説サイトとか書籍とか教えてくれるかもしれないよ)
次スレは>>950

# オンラインジャッジ・コンテストサイト
## 日本語
yukicoder https://yukicoder.me/
AtCoder https://atcoder.jp/
AIZU ONLINE JUDGE (AOJ) http://judge.u-aizu.ac.jp/onlinejudge/
## 英語
TopCoder
Single Round Match (SRM) 関係リンク集 http://codeforces.com/blog/entry/21879
Marathon Match (MM) https://community.topcoder.com/longcontest/?module=ViewPractice
※TopCoderは初参加までの手順が煩雑です。まずはググってみて、それでも分からなかったらスレで聞こう!
Codeforces http://codeforces.com/
Google Code Jam https://code.google.com/codejam/
Facebook Hacker Cup https://www.facebook.com/hackercup/
CodeChef https://www.codechef.com/
HackerRank https://www.hackerrank.com/
Project Euler http://odz.sakura\.ne.jp/projecteuler/ https://projecteuler.net/

>>2にテンプレ続く
0429仕様書無しさん
垢版 |
2017/05/10(水) 19:22:19.12
>>426
一回適当な問題でやってみるといいけどとても難しいぞ
補正があるAOJでPythonで書き換えたら通ることはよくあるし結局不公平になるんだから全部同じでいいのではという意見
0431仕様書無しさん
垢版 |
2017/05/10(水) 19:45:08.11
現実世界のPythonの用途からすると
本来は競プロの問題なんてPythonの大得意分野なんだけどな。
Anacondaありなら同じ制限でもC++より強い可能性すら秘めてるよ。
0432仕様書無しさん
垢版 |
2017/05/10(水) 20:12:40.61
ある程度まとまった数の問題を解いたうえで言ってるのかな?
atcoderで言ったら具体的にどういう問題を想定してるんだろう
0433仕様書無しさん
垢版 |
2017/05/10(水) 20:16:18.77
>>416
そもそも不満があるやつは競プロ自体下らねぇって辞めちゃうから
集まるのは廃人と、辞めない程度に快適な言語の使い手の意見だけ
自分の言語が競技C++のサンドバッグ担当だと気付いたら誰でも萎えるでしょ
0434仕様書無しさん
垢版 |
2017/05/10(水) 20:16:37.23
>431
Python で競技プログラミングに使えそうなパッケージって、numpy, scipy, scikit-learn の他に、anacondaに何か入っていたっけ?
ざっと見たけど、boostとnetworkxくらいじゃないかな。
boost使うなら、c++使えばいいんだし、netwoekxは、動作が速いとは言えないし。
Google のOR-tools が使えたら便利かもしれないけど、anacondaには入ってないし。
どのパッケージを指しているの?
0435仕様書無しさん
垢版 |
2017/05/10(水) 20:19:09.93
軽く調べたらSymPyというチート級のライブラリが入ってるな
0436仕様書無しさん
垢版 |
2017/05/10(水) 20:26:31.36
競プロの世界も多様化してきたのか
保守派ってやっぱりいるんだね
0437仕様書無しさん
垢版 |
2017/05/10(水) 20:41:22.12
競プロジロンドなフレンズはもっとラジカルにチャレンジをトゥギャザーしようぜ
0438仕様書無しさん
垢版 |
2017/05/10(水) 20:54:16.95
C++でもJavaでも覚えればいいのにPythonに拘るのはなぜ
仕事でもPython on Railsが無いってキレるのか?
0439仕様書無しさん
垢版 |
2017/05/10(水) 20:58:46.14
Java派だけど好きな言語で(満足に)参加できたら嬉しいじゃん?
ということでは

競プロはオンラインゲームであって仕事ではないし
0440仕様書無しさん
垢版 |
2017/05/10(水) 20:59:36.27
何を保守と思ったのか知らんが、とりあえず
「ローカルのanaconda環境だと自然に書いて間に合うけどatcoder環境だと難しい」
みたいな例がコンスタントに出題されてるんじゃないなら話にならない

そういう例があんまりないのだとしたら、そもそもatcoderが偏ったコンテストをやっているとは言えるんだろうけど、
それは運営も百も承知じゃないかね
0441仕様書無しさん
垢版 |
2017/05/10(水) 21:09:38.97
競プロはC++の祭典なんだから
雑魚言語は文句言わずに従ってろよ
0443仕様書無しさん
垢版 |
2017/05/10(水) 21:30:47.06
sympy確かに便利そうだけど
保守的な競プロ界ではAnacondaが導入される日は来ないだろう
0444仕様書無しさん
垢版 |
2017/05/10(水) 21:33:20.70
chokudaiはライブラリには寛容だって言ってるじゃん…
0445仕様書無しさん
垢版 |
2017/05/10(水) 21:33:56.87
yukicoderあたりでお願いして見たら
0446仕様書無しさん
垢版 |
2017/05/10(水) 21:40:39.43
不利なら辞めるだけだから
要望してまで残るのは有利な言語の使い手だけという
悪いスパイラルが出来上がってる気がする
0447仕様書無しさん
垢版 |
2017/05/10(水) 21:48:16.52
最初にAnacondaを導入した所が
Python学習者の需要を総取りだろうね
0448仕様書無しさん
垢版 |
2017/05/10(水) 21:49:43.93
この議論は幾度と無く見たけどそれでも変わらないのは現状が最良解だから (過去スレ,chokudaiのtwilog参照)
0449仕様書無しさん
垢版 |
2017/05/10(水) 21:50:57.63
Programming Problems and Competitions :: HackerRank
https://www.hackerrank.com/environment


HackerRankにはsympyってのあるように見えるけど
0450仕様書無しさん
垢版 |
2017/05/10(水) 21:50:59.87
>>429
競プロ人口増やしたいなら実質C++オンリーみたいな状況はよろしくないと思うけどな
0451仕様書無しさん
垢版 |
2017/05/10(水) 21:53:27.03
競プロに便利そうなライブラリをぶっこんだdockerファイルを用意して持っていけば検討してくれんじゃね?
0452仕様書無しさん
垢版 |
2017/05/10(水) 21:57:00.67
yukicoderはそうしてくれとyukiさんが言っていたような
Cf, TC, AtCoder, AOJはdockerが無い時代のプロダクトだから無駄
0453仕様書無しさん
垢版 |
2017/05/10(水) 21:57:02.37
新規導入に環境構築やコマンドラインスイッチとかに苦戦してるようだし
そこらへんも含めて交渉しないとね
0455仕様書無しさん
垢版 |
2017/05/10(水) 22:06:17.30
技術的にyukicoderしか導入出来ないって事は
見方を変えるとyukicoderが導入してもchokudaiは後追い出来ない訳か
0456仕様書無しさん
垢版 |
2017/05/10(水) 22:08:29.65
使ったことない人で使う気のない人に環境構築は難しい
0457仕様書無しさん
垢版 |
2017/05/10(水) 22:11:46.96
D言語も一時期バージョンが古くて使い物にならないって
その界隈で文句言われていた時期があったね
あれはバージョンあげれば済む話だけど

今はどうなったか知らないけど有名人が使っているところを見ると
満足に使えるのかな
0458仕様書無しさん
垢版 |
2017/05/10(水) 22:15:52.89
新規導入や言語バージョンアップにそれに精通した学生をバイトで雇ってやらせるとかすればいいんじゃないだろうかAtCoder
0459仕様書無しさん
垢版 |
2017/05/10(水) 22:18:47.17
Python補正反対派だけど開発バイトを数人雇うべきというのはずっと思ってる
まあまだそんな余裕は無いんだろうなあ
0460仕様書無しさん
垢版 |
2017/05/10(水) 22:19:14.12
>>458
まずは頑張って新規導入しないと
その言語に精通した人が競プロにを持ってくれないという手順前後に見える
0461仕様書無しさん
垢版 |
2017/05/10(水) 22:20:01.37
「興味を持ってくれない」ね
脱字失礼
0462仕様書無しさん
垢版 |
2017/05/10(水) 22:27:05.95
sympyググってみたけど強力過ぎる
これ導入したらPython一強になってしまうぞ
0463仕様書無しさん
垢版 |
2017/05/10(水) 22:30:20.41
>>453
プログラミング環境を作るのがプログラミングにおける最初の最大の難関
0464仕様書無しさん
垢版 |
2017/05/10(水) 22:32:34.82
今のところGCJやFHCやProject Eularみたいな結果提出系でしか有用なライブラリ群は使えないだろうね
0465仕様書無しさん
垢版 |
2017/05/10(水) 22:34:42.68
「boostを導入すると世界が変わる」そう思っていた時代が私にもあった
しかし使われるのはせいぜい多倍長整数
0466仕様書無しさん
垢版 |
2017/05/10(水) 22:38:52.26
AnacondaはPythonの入門書でも紹介されてるくらいだから
導入したっていいと思うけどね
C++のBoostくらい定番なライブラリなんでしょ
0467仕様書無しさん
垢版 |
2017/05/10(水) 22:40:54.72
ああいうライブラリは実装はC/C++で高速だから
ライブラリ入るなら実行時間の制限は緩くはならないんだろうね
0468仕様書無しさん
垢版 |
2017/05/10(水) 22:50:29.73
競プロslackのchokudaiが立てたatcoderチャンネルで要望言いまくれば動いてくれるかもよ
0469仕様書無しさん
垢版 |
2017/05/10(水) 22:55:47.64
標準ライブラリだけでも、Python やPyPyで、AtcoderやYukicoderの問題の、7-8割は解けると思う。
sympyを入れたからと言って、解ける問題は、そんなに増えないと思うのだけど。
0470仕様書無しさん
垢版 |
2017/05/10(水) 22:57:17.39
chokudaiは優秀だからもう動いてるよきっと
要望されなくても動ける人間だからatcoderが今まで存続してる訳だし
0471仕様書無しさん
垢版 |
2017/05/10(水) 23:01:26.35
ライブラリの良さって
回答コードを見た時の目から鱗の出る感覚だよ
そんな解法あったのかと思うと
もっと勉強しようというモチベーションが高まる
これって結構大事な事だと思う
0472仕様書無しさん
垢版 |
2017/05/10(水) 23:04:21.24
どうせC++優位は変わらないと思うが入れるのはいいと思う
ただ方法は教えないとanacondaがPython環境を壊してホゲーになるので希望者はちゃんと教えてあげてね
0473仕様書無しさん
垢版 |
2017/05/10(水) 23:09:36.45
まだまだプログラミング初心者だから
どの言語が有利とか良く分からん
C++ってそんなに良いものなのか
0474仕様書無しさん
垢版 |
2017/05/10(水) 23:11:03.61
競技プログラミングという目的には、実行時間制限のためC++などの速い言語が有利というだけ
0475仕様書無しさん
垢版 |
2017/05/10(水) 23:14:10.34
同じプログラミング言語なのに実行速度ってそんなに変わるの?
不思議だな
0476仕様書無しさん
垢版 |
2017/05/10(水) 23:17:11.26
>>469
解ければ良いなら
ほぼ全ての言語は標準でも構わない訳で・・・

実際の所は本当はどの言語も実使用に近い環境にしてあげたいけど
C++以外の事はよく知らないから
どんな環境にすれば良いのか分からないだけだと思う。
0477仕様書無しさん
垢版 |
2017/05/10(水) 23:42:33.38
揚げ足取るとさ
時間に間に合ってないなら解けてないんだよな
そのへんから認識の差を感じるわ
0478仕様書無しさん
垢版 |
2017/05/10(水) 23:46:59.61
情報系の学生と非情報系の学生のプログラミングに対する認識の差?
0479仕様書無しさん
垢版 |
2017/05/10(水) 23:58:40.38
非情報系の人が競プロ楽しんだっていいじゃん…
情報系だけの遊びにするにはもったいない
0480仕様書無しさん
垢版 |
2017/05/10(水) 23:59:42.66
>>478-479
その差は関係ないと思う
0481仕様書無しさん
垢版 |
2017/05/11(木) 00:02:34.51
まあ時間に間に合わなくてもいいなら全部全探索で解けるって言えちゃうしな
でもそれは解けてるとは言えないでしょみたいな
0482仕様書無しさん
垢版 |
2017/05/11(木) 00:10:08.41
情報系はアルゴリズムやデータ構造とかコンピュータやプログラミング言語の仕組みとかも勉強し、高速なC++が神
非情報系はプログラミング言語は目的を達成するための単なる道具(手段)として使ってる、ライブラリ充実してるPythonが神
0484仕様書無しさん
垢版 |
2017/05/11(木) 00:23:15.46
個人的なイメージだと真の情報系(もしくは昔の情報系?)は
関数型言語を好んで使いそう
0485仕様書無しさん
垢版 |
2017/05/11(木) 00:23:38.57
どっちもできる上で競技プログラミングではC++を選択しているんじゃないのか…
0486仕様書無しさん
垢版 |
2017/05/11(木) 00:25:19.76
競プロである特定の言語である程度書けたら
他の言語使ってもそれなりに書けるでしょ
0487仕様書無しさん
垢版 |
2017/05/11(木) 00:27:19.32
情報系はコンパイラとかプログラミング言語を実習課題で作ったりもするから
プログラミング言語に対する抽象的理解が高くて複数のプログラミング言語の習得が容易(?)
0488仕様書無しさん
垢版 |
2017/05/11(木) 00:33:23.39
競プロerって殆どが情報系なイメージあるけど違うん?
0489仕様書無しさん
垢版 |
2017/05/11(木) 00:34:16.95
非情報系に競プロに気軽に参加して貰う為にも
Pythonのライブラリを充実させるのには賛成かな
理系の学者なんかPythonなら使える人多いから
趣味で競プロを始めてくれると解法のレベルも上がりそう
0490仕様書無しさん
垢版 |
2017/05/11(木) 00:35:14.56
>>487
情報系は抽象的な擬似コードとかでアルゴリズムを勉強したりする
非情報系は特定のプログラミング言語の使い方を勉強する
0491仕様書無しさん
垢版 |
2017/05/11(木) 00:36:17.04
数学オリンピックで優勝したりんごさんの所属は情報系だったの?数学系だったの?
0493仕様書無しさん
垢版 |
2017/05/11(木) 00:37:35.01
非情報系だってC++を始めればいいのでは
ちな私は非情報系
結局は怠慢にしか聞こえない
0494仕様書無しさん
垢版 |
2017/05/11(木) 00:40:52.18
・競プロ人口を増やすには? … 各種言語のライブラリを充実させろ
・競プロで現状勝っていくためには? … C++ を覚えろ
0495仕様書無しさん
垢版 |
2017/05/11(木) 00:43:38.66
div1の上位陣が解いてる問題の性質を知らんのだけど
pythonのsympyというライブラリ使うと有利になるような問題があったりするの?
0496仕様書無しさん
垢版 |
2017/05/11(木) 00:44:11.87
さっきから的はずれなまとめ書いてるのはまた例の灰色の人?
0499仕様書無しさん
垢版 |
2017/05/11(木) 00:47:44.78
プログラミング言語より先に英語の勉強が必要なのでは
0501仕様書無しさん
垢版 |
2017/05/11(木) 00:51:18.18
人数の少ないレッドコーダーが特定されんならともかく
人数の多い灰色コーダーが特定されるわけねーだろ!!
0503仕様書無しさん
垢版 |
2017/05/11(木) 01:07:23.92
マラソンマッチRound2
Round1に出てない人もRound1で勝てなかった人も参加できるらしいので
積極的にマラソンマッチに参加していこうぜ
0506仕様書無しさん
垢版 |
2017/05/11(木) 02:13:14.08
Pythonに限らずC++が使えるなら
他にどの言語を習得していようとC++が最適解なのは少々歪んでるかもしれない。

ハンデを付けるのは
さじ加減で不公平が生まれるから反対だけど
ライブラリの導入で埋められる差は積極的に埋めてあげた方が
全体のレベルも底上げされるから検討するべきでしょう。
0507仕様書無しさん
垢版 |
2017/05/11(木) 02:28:38.12
前回のマラソン爆発四散勢なので今回はがんばる
0508仕様書無しさん
垢版 |
2017/05/11(木) 02:31:33.92
ああ・・・…もっと問題を解く時間が欲しい
もっともっとコード書きたい
0511仕様書無しさん
垢版 |
2017/05/11(木) 03:02:37.69
時間制限緩い言語からgcc呼び出して実質c++の時間制限緩和とかいうハックもあってですね
0513仕様書無しさん
垢版 |
2017/05/11(木) 07:45:52.56
無能実態派遣残業して時間報酬相場下げるな!
【知的財産と契約料金の生涯損害促進者ばかり】
[偽装請負多重派遣搾取業界の従犯SEを追放すべき]
偽装請負多重派遣SEの動機
コミュニケーション障害
コンピュータ趣味
人格障害
文系大卒
低偏差値大卒
情報処理資格非保有者

偽装請負多重派遣SEの迷惑
無償プログラム提供
事前面接
契約外期限遵守
客先指示遵守
知的財産譲渡
中間搾取促進
時間外労働違反
低予備工数見積
残業見積
無料追加
学習不足
裁判苦手
対人障害
健康障害
孤独死

偽装請負多重派遣SEの代償
低収入低技術
非婚離婚
鬱病早死
0514仕様書無しさん
垢版 |
2017/05/11(木) 08:47:23.89
結局anacondaだと解ける問題ってどれのことなんだ?
今までの書き込みから察するにsympyで鮮やかに解けるagcの問題とかが
すぐに10個位はあげられるんだよな?
0515仕様書無しさん
垢版 |
2017/05/11(木) 09:12:43.30
>495, 514
sympy は、symbolic math のライブラリで、mathematicaみたいな記号代数計算や数式処理が出来るらしい。
pure python で実装されていて速度は遅いはず。
div1下位の私には、使いどころが思い浮かばない。
Anacondaで高速化に使えそうなのは、cythonかな。静的型情報を与えてcコードを生成し高速化するらしい。

自分としては、PyPy(pythonのJITコンパイラ)が使えれば、そこそこ満足。
0516仕様書無しさん
垢版 |
2017/05/11(木) 11:08:15.18
数値解析やるだけみたいな問題は大きなコンテストじゃまず出ないし、推してる人は競プロをなにか別のものと勘違いしてそう
(yukicoderだとたまに出たりもする)
0517仕様書無しさん
垢版 |
2017/05/11(木) 11:14:43.44
C++は無くてもどうにかなるBoostが当然のように導入されているのに
他言語は必須なライブラリしか導入されない理不尽
0518仕様書無しさん
垢版 |
2017/05/11(木) 11:17:32.64
akenshoもchokusaiもPythonユーザではなく下手にAnacondaを入れると環境を壊すから、aptで手軽に入るその2つをユーザーに教えられて入れたとかじゃないの?想像だけど
0519仕様書無しさん
垢版 |
2017/05/11(木) 11:18:28.40
新規を取り込むにはライブラリがあるのは分かりやすい。
本業でC++を使ってる人なんかは
Boostも使えると聞いたら
実際には問題を解くのに必要なかったとしても
安心して競プロを始められるだろうし。
0520仕様書無しさん
垢版 |
2017/05/11(木) 11:20:05.89
boostを引き合いに出すやついるけどboostを有効に使った提出は見たことないぞ
0522仕様書無しさん
垢版 |
2017/05/11(木) 11:39:42.34
numpyとscipyは使われてるんだから
それを含むAnacondaは競プロでも必須と言えば必須でしょう
ローカルのPythonでこの2つを使いたきゃ
普通はAnacondaを導入するだろうし
0524仕様書無しさん
垢版 |
2017/05/11(木) 13:22:26.35
特定のライブラリが入ってるからやる/入ってないからやらない、なんて人そんなにいる?
てか自分の好きな環境じゃないと嫌ならGCJとかPEだけやればいいんじゃないのって思ってしまうが
0525仕様書無しさん
垢版 |
2017/05/11(木) 13:25:27.44
ここ以外でAnaconda欲しがってるやつ見たことないし微妙なところでしか主張していないのがそもそもなのでは
0526仕様書無しさん
垢版 |
2017/05/11(木) 14:04:26.41
Pythonで競プロを真面目にしてる奴なんていないし
というかC++以外で真面目に競プロしてる人がいない
tanakhですらHaskell諦めてC++で提出してる有り様
0527仕様書無しさん
垢版 |
2017/05/11(木) 14:12:56.11
チョクダイ見てる〜?
https://twitter.com/chokudai/status/862533553623412736
Anacondaって全然知らないんだけどPython勢には必要な感じなのかな。どちらにせよアップデートは全部まとめてやるので、要望聞く時に書いてくれると有難いかな。
とりあえず今は拡大のための資金繰りの方を優先してるから、もうちょい先になるよ。ごめんねー。
14:03 - 2017年5月11日
0528仕様書無しさん
垢版 |
2017/05/11(木) 14:15:28.72
chokudai流石だわ
というかAnacondaの存在すら知らなかったのは斜め上だったけど
こういうフットワークの軽さは素晴らしいね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況