競技プログラミング総合スレ 63
レス数が1000を超えています。これ以上書き込みはできません。
!extend:checked:vvvvv:1000:512
↑2行になるようにする
競技プログラミング、オンラインジャッジ、プログラミングコンテストやCTFに関する雑談スレ
次スレは>>950
AtCoder https://atcoder.jp/
yukicoder https://yukicoder.me/
Codeforces https://codeforces.com/
CodeChef https://codechef.com/
Project Euler https://projecteuler.net/
CLIST https://clist.by/
AtCoder Problems https://kenkoooo.com/atcoder/
AtCoder Clans https://kato-hiro.github.io/AtCoderClans/
※前スレ
競技プログラミングにハマるプログラマのスレ 62
https://medaka.5ch.net/test/read.cgi/prog/1626625368/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured >>950踏んだけど立てられなかったから誰か立ててくれ AHC、他の人の解法を参考に自分のを高速化しただけで60M超えてつらい
自分が高速化だと思ってコンテスト中やってたことが逆効果になってただけだったし 今ランキング見てるけど日本人多いんだね
まだまだこの国も未来がありそう(他人事) コンテスト中に呟いちゃいけないんだろうけど
1時間以上Aを考えてるがわからん 匿名の書き込みでも普通にやめた方がいい
そのぐらいなら大丈夫だと思うけど、それを見てまだラインがわからない人が勘違いしてさらに際どいことを書き込んでしまう危険性が わかった。少なくともコンテスト終了後に呟くようにする
今日のAわからなかった。。
どうやっても10^10**5がmで割り切れるかを10^5回するし
ゾロ目数に規則性はあるっちゃあるけど、ないから
全くわからんかった 桁数大きい整数がある整数の倍数になるみたいな問題は類題があるから、それで早解き出来た人も結構いるかも D、平衡二分探索木のsplit-mergeみたいなのでどうにかできないかなというのは自分も少し考えたけど、反転と組み合わせてそういう操作ってできるんだっけ Aって出力形式変えたらN, M<=1e18 とかで解けたりしない? 上から全探索だとO(N)はかかっちゃいそう
(10^N - 1) % M自体はO(log(NM))で計算できるけど N<=10^18,M<=10^5ならグラフ作ってBFSとかでいけそう というか別にグラフ作る必要もないか
f(x) = (x-1)/10を作用させ続ければO(M)で解が見つかるか、不能判定ができるという話 というか10^(10^5)なんて数を扱う事あるのかwww
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1463346279
>1m3に10個程度の原子(ほとんど水素)なら10^79となります。多めに見積もっても10^80は妥当なところだと思います。宇宙の半径130億光年であっても1桁増える程度です。 解説読んでなかったわサンクス 本番(10^n-1)/9とEulerの定理方針が最初に見えたんだけど300点なことを思い出して引き返せた 累乗modの問題だしオイラーの定理で高速化できるか
頭固かったわ atcoder.jp/contests/abc137/tasks/abc137_d
この問題の解答を作ったのですが、一部の入力例に対してしかパスしません。
どこにバグがあるか分かる人はいますか?
解答は以下です:
ideone.com/uZ1cUa >>970
のバグが分かりました。
大槻の『AtCoder入門』ですが、結局、独力で解答を見ずにすべての問題を解けました。 >>949
ありがとうございました。
>>950
問題集ってPASTの問題集ですか?
米田の本はまだ見ていないのですが、売れ行きはいいですよね。 ideone.com/z97s8q
バグの修正を上のようにしました。
パスしなかった入力を見ることができれば、バグ修正もやりやすいでしょうが、
実際には見ることができません。
みなさんはどうやって、バグ修正していますか? 大槻の『AtCoder入門』ですが、普通の「アルゴリズムとデータ構造」の本に書いてあるようなことは
ほとんど書いていない変な本ですね。
競技プログラミングで「アルゴリズムとデータ構造」の知識をほとんど必要としない問題用の本ですね。 その本はプログラミング経験もアルゴリズムの学習経験も皆無に近い人(中高生も含め)がatcoderのC問題あたりを解けるようにして、本当に簡単なアルゴリズムを触れるようにするぐらいのレベルのもの
not for youだな
というかそもそも大多数の競プロ本はアルゴリズムとデータ構造の教科書を志向していないから デバッグは自分でテストケース作ってやるのがいい
実は過去コンテストのテストケースを見に行くことはできるが、競プロコンテスト本番のデバッグ力を鍛えることができないからオススメしない >>976-977
ありがとうございます。
過去問の入力データを見に行けるんですね。
解答を見るのと、解答を見ずに入力データは見るというのだったら、後者のほうが勉強になると思います。
独力で正解を作るのがベストだとは思いますが。 乱数で入力を発生させ、計算量的に悪いけど簡単に思いつけて実装できる部分解法で正しい出力を出せばいいわけで、そんなハードル高いものじゃないぞ
上位層はコンテスト中にちゃちゃっとやってると思う 独力で頑張ってるようで応援してるよ
典型的なアルゴリズムも自分で思いつけるようなものなのか興味ある >>980-981
ありがとうございました。
>>980
「計算量的に悪いけど簡単に思いつけて実装できる部分解法」
これは思いつきませんでした。ありがとうございました。
『競技プログラミングの鉄則』を今読んでいて第2章の累積和の途中まで読み終わりました。
確かにレベル的にはそれほど高くない本だとは思いますが、勉強になったことがありました。
・問題で添字が1始まりの問題ではプログラムでもそれに合わせて1始まりにすると分かりやすくなる。
・使用メモリ量については寛大なので無駄遣いしても全く構わない。
・1つのfor文でまとめて処理できる場合でも、複数のfor文に分ける(それでもオーダーは変わらない)と、分かりやすくなることがある。
・
for (int i = 0; i < N; ++i) {
□□cin >> A >> B;
□□ここに処理を書く。
}
とできる場合でも、
for (int i = 0; i < N; ++i) {
□□cin >> A[i] >> B[i];
}
とまずすべての入力を受け取ってしまってから、後で処理を書いても良い。 >>972
atcoder probremsってサイトで自分のレートに合った問題をひたすら解くってこと
codeforces ladderとかで検索してもいい。 https://atcoder.jp/contests/abc271/tasks/abc271_b
https://atcoder.jp/contests/abc269/tasks/abc269_b
こういうの問題文読んだだけじゃ何のことか分からなくて、入出力例を見てやっと「あーそういうことかー」となるんですけど、あんまり向いてないのかな?
皆さんは問題文だけで何すればいいのか分かるんですか? 特にその二つの問題は慣れてても難読だから
問題自体の難易度と問題文の読みやすさは独立 形式的に書きすぎな感はあるよな
こどふぉなんかだと一般的な説明の後に、形式的に説明すると~、って二段階の説明があるから分かりやすい それはそうと直近のこどふぉの問題文全体的にわかりにくくなかった?
ABも誤読しそうな内容だしCですら最初は頭が壊れそうだったのにDに至ってはsetとかいうゲームを遊んだことがなかったせいでルールの理解までにだいぶ時間がかかったわ こどふぉは本当にテストケースから題意を推測することが多い >>986
ありがとうございます。
本が好きなのでつい本を読もうと考えてしまいます。 競技プログラミングの問題の設定ですが、わかりやすさを狙ってだと思うのですが、スヌケ君がどうとか
余計な(?)設定が多いと思います。
純粋に数学的に問題を述べてくれたほうが分かりやすいように思います。 情報を素早くかつ適切に取捨選択するのも能力の一つだし多少はね と思ったらこのDytechlab cupってDiv.1 + Div. 2でratedなのか
https://codeforces.com/blog/entry/105117 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 433日 19時間 59分 57秒 レス数が1000を超えています。これ以上書き込みはできません。