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にテンプレ続く
0404仕様書無しさん
垢版 |
2017/05/09(火) 20:11:39.91
>>403
メインはC++だがPythonも巨大な整数や正規表現目的で使うことがある
競プロフォルダを調べたらC++ 8割、Python 2割だった
レートがつかないなら遊びで他の言語を使うこともある
0405仕様書無しさん
垢版 |
2017/05/09(火) 23:34:37.79
>>391
ありがとうございます
codeforcesでタグ表示されるんですね
cs academyははじめてしりました。やってみます

>>392
ほかにも解いてるのですが、文字列系の問題が一番すきなので
ストレス発散目的で解く問題を探してました

>>393
Typical DP Contestはもう解いてしまいました

>>395
Rosalindも知らなかったです
バイオ系は門外漢ですが、あまり問題なさそうですね
ありがとうございます
0406仕様書無しさん
垢版 |
2017/05/09(火) 23:56:24.16
>>403
制限やコーナーケースを抜きにしたプロトタイプをRubyで組んでみることはあるな
それでアルゴリズムに間違いがなさそうであればコンパイル言語で本実装、と
0407仕様書無しさん
垢版 |
2017/05/09(火) 23:56:39.46
>>405
TDPC解けるんなら俺より強いじゃん
偉そうにアドバイスしてしまったぜ
0410仕様書無しさん
垢版 |
2017/05/10(水) 03:01:45.41
AOJのレッスンコース、これアルゴリズムとかも乗ってて結構勉強になるな
ちょっとずつ解いていこう
0411仕様書無しさん
垢版 |
2017/05/10(水) 04:46:20.75
>>408
chokudaiがマラソンマッチを宣伝しまくってたわけだし
chokudaiの影響力がどんだけすごいかってことか
0412仕様書無しさん
垢版 |
2017/05/10(水) 07:12:50.15
TCOマラソンマッチRound2で日本人参加者もっと増やそうぜ
日本の競プロerやプログラマーにマラソンマッチをもっと布教だ
0413仕様書無しさん
垢版 |
2017/05/10(水) 10:53:45.59
C++はBoostが使えて
PythonはAnaconda使えないとかフザケてるよな
こんなC++コンテスト状態を是正しないから競プロが普及しないんだよ
0414仕様書無しさん
垢版 |
2017/05/10(水) 13:51:47.75
>>413
正直それはある
アルゴリズムさえ正しければいいのだから、
せめてスクリプト言語での実行時間制限は緩和して欲しい
まあ負荷とか他の問題があるのか知らんけど
0415仕様書無しさん
垢版 |
2017/05/10(水) 14:00:34.10
ライブラリの関係でC++以外は
競技プログラミングの為のプログラミング色が強くなり過ぎてるね

Pythonなんて競プロで学んだ事を外では殆ど活かせないもん
ライブラリの使い方が全てと言っても良い言語なのに
ほぼ標準ライブラリでアルゴリズム書いても虚しくなるだけ
0416仕様書無しさん
垢版 |
2017/05/10(水) 16:08:00.18
atcoderならたまに言語更新があるからそのときに言えばいろいろ変えられるはず
0418仕様書無しさん
垢版 |
2017/05/10(水) 16:40:43.11
paizaは言語別に時間猶予が変えられているけど
提出コードをジャッジするタイプの普通の競プロのサイトでそういうとこあるんかな
0421仕様書無しさん
垢版 |
2017/05/10(水) 17:51:45.89
>>417
技術力不足で言語別にリミットを設定できないのをそう言って誤魔化している可能性は微レ存?
0423仕様書無しさん
垢版 |
2017/05/10(水) 17:56:59.06
しかし自由型の競泳ではみんなクロールを選択するはずだ
0424仕様書無しさん
垢版 |
2017/05/10(水) 17:57:02.84
AtCoder社に競プロerはいてもエンジニアやデザイナはいない…
0425仕様書無しさん
垢版 |
2017/05/10(水) 17:57:52.20
chokudaiの方針はライブラリはおっけーで時間制限緩和はNG
Anaconda使いたいなら更新するときに言えばよかったんやで
0426仕様書無しさん
垢版 |
2017/05/10(水) 18:46:24.90
解答は判ってるんだから、対応言語全てで実装してみれば各々どれくらい時間かかるか判るでしょ
社員の暇な奴にそのテストさせればええやん

たまにマイナー言語を必要以上に緩く制限設定しちゃってこの言語抜け穴じゃんって人気誘導したり
0428仕様書無しさん
垢版 |
2017/05/10(水) 18:56:20.68
一年前C++の実行が最低でも数10msくらいだったのが今では1ms程度で終わってる
これはハードの性能が良くなったから?
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で勝てなかった人も参加できるらしいので
積極的にマラソンマッチに参加していこうぜ
■ このスレッドは過去ログ倉庫に格納されています

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