競技プログラミング総合スレ 63

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 1f9f-qCnf)2021/07/28(水) 21:58:48.02ID:nljYiy+l0
!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


0953デフォルトの名無しさん (ワッチョイ b310-uaZr)2022/10/02(日) 17:58:33.59ID:eK4S0SoN0
>>952
助かったありがとう

0954デフォルトの名無しさん (ワッチョイ e301-NrYT)2022/10/02(日) 20:39:28.28ID:RBz4Dz1b0
AHC、他の人の解法を参考に自分のを高速化しただけで60M超えてつらい
自分が高速化だと思ってコンテスト中やってたことが逆効果になってただけだったし

0955デフォルトの名無しさん (ワッチョイ c3b3-o1nH)2022/10/02(日) 21:43:51.33ID:zlxZgBGt0
今ランキング見てるけど日本人多いんだね
まだまだこの国も未来がありそう(他人事)

0956デフォルトの名無しさん (ワッチョイ 7fc0-OKzK)2022/10/02(日) 22:03:53.70ID:bP9R5MM60
こどふぉのランキング見てると中国がスゲェ

0957デフォルトの名無しさん (ワッチョイ ffbd-atM5)2022/10/02(日) 22:36:17.43ID:RAAxIiX40
コンテスト中に呟いちゃいけないんだろうけど

1時間以上Aを考えてるがわからん

0958デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/02(日) 23:16:35.86ID:cj6ZUnIP0
匿名の書き込みでも普通にやめた方がいい
そのぐらいなら大丈夫だと思うけど、それを見てまだラインがわからない人が勘違いしてさらに際どいことを書き込んでしまう危険性が

0959デフォルトの名無しさん (ワッチョイ ffbd-atM5)2022/10/02(日) 23:26:55.10ID:z5LMHK5C0
わかった。少なくともコンテスト終了後に呟くようにする


今日のAわからなかった。。
どうやっても10^10**5がmで割り切れるかを10^5回するし


ゾロ目数に規則性はあるっちゃあるけど、ないから
全くわからんかった

0960デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/02(日) 23:30:32.52ID:cj6ZUnIP0
桁数大きい整数がある整数の倍数になるみたいな問題は類題があるから、それで早解き出来た人も結構いるかも

0961デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/02(日) 23:58:17.51ID:cj6ZUnIP0
D、平衡二分探索木のsplit-mergeみたいなのでどうにかできないかなというのは自分も少し考えたけど、反転と組み合わせてそういう操作ってできるんだっけ

0962デフォルトの名無しさん (ワッチョイ f35f-yOQ1)2022/10/03(月) 00:21:39.73ID:sJyra2/X0
Aって出力形式変えたらN, M<=1e18 とかで解けたりしない?

0963デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/03(月) 00:31:17.62ID:EDkvNrQV0
上から全探索だとO(N)はかかっちゃいそう
(10^N - 1) % M自体はO(log(NM))で計算できるけど

0964デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/03(月) 00:36:30.02ID:EDkvNrQV0
N<=10^18,M<=10^5ならグラフ作ってBFSとかでいけそう

0965デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/03(月) 00:38:27.23ID:EDkvNrQV0
というか別にグラフ作る必要もないか
f(x) = (x-1)/10を作用させ続ければO(M)で解が見つかるか、不能判定ができるという話

0966デフォルトの名無しさん (ワッチョイ 7f6f-/MxY)2022/10/03(月) 00:58:09.84ID:3ar7JQ8O0
解説に書いてあるくね?

0967デフォルトの名無しさん (ワッチョイ 6f71-0qRf)2022/10/03(月) 01:04:26.18ID:lndyBnH50
というか10^(10^5)なんて数を扱う事あるのかwww

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1463346279
>1m3に10個程度の原子(ほとんど水素)なら10^79となります。多めに見積もっても10^80は妥当なところだと思います。宇宙の半径130億光年であっても1桁増える程度です。

0968デフォルトの名無しさん (ワッチョイ f35f-yOQ1)2022/10/03(月) 01:32:24.69ID:sJyra2/X0
解説読んでなかったわサンクス 本番(10^n-1)/9とEulerの定理方針が最初に見えたんだけど300点なことを思い出して引き返せた

0969デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/03(月) 01:35:16.73ID:EDkvNrQV0
累乗modの問題だしオイラーの定理で高速化できるか
頭固かったわ

0970デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 03:00:23.71ID:kRWtLYQ60
atcoder.jp/contests/abc137/tasks/abc137_d

この問題の解答を作ったのですが、一部の入力例に対してしかパスしません。
どこにバグがあるか分かる人はいますか?

解答は以下です:
ideone.com/uZ1cUa

0971デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 03:42:55.31ID:kRWtLYQ60
>>970
のバグが分かりました。

大槻の『AtCoder入門』ですが、結局、独力で解答を見ずにすべての問題を解けました。

0972デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 03:45:23.53ID:kRWtLYQ60
>>949
ありがとうございました。
>>950
問題集ってPASTの問題集ですか?
米田の本はまだ見ていないのですが、売れ行きはいいですよね。

0973デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 03:49:30.34ID:kRWtLYQ60
ideone.com/z97s8q

バグの修正を上のようにしました。

パスしなかった入力を見ることができれば、バグ修正もやりやすいでしょうが、
実際には見ることができません。

みなさんはどうやって、バグ修正していますか?

0974デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 03:55:00.31ID:kRWtLYQ60
大槻の『AtCoder入門』ですが、普通の「アルゴリズムとデータ構造」の本に書いてあるようなことは
ほとんど書いていない変な本ですね。

競技プログラミングで「アルゴリズムとデータ構造」の知識をほとんど必要としない問題用の本ですね。

0975デフォルトの名無しさん (オッペケ Sr47-K//C)2022/10/03(月) 04:48:16.87ID:TupNe+4/r
うんち

その本はプログラミング経験もアルゴリズムの学習経験も皆無に近い人(中高生も含め)がatcoderのC問題あたりを解けるようにして、本当に簡単なアルゴリズムを触れるようにするぐらいのレベルのもの
not for youだな
というかそもそも大多数の競プロ本はアルゴリズムとデータ構造の教科書を志向していないから

デバッグは自分でテストケース作ってやるのがいい
実は過去コンテストのテストケースを見に行くことはできるが、競プロコンテスト本番のデバッグ力を鍛えることができないからオススメしない

0978デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 08:54:28.68ID:kRWtLYQ60
>>976-977
ありがとうございます。

過去問の入力データを見に行けるんですね。
解答を見るのと、解答を見ずに入力データは見るというのだったら、後者のほうが勉強になると思います。
独力で正解を作るのがベストだとは思いますが。

0979デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 08:55:09.57ID:kRWtLYQ60
テストケースを作るのは非常に大変だと思います。

乱数で入力を発生させ、計算量的に悪いけど簡単に思いつけて実装できる部分解法で正しい出力を出せばいいわけで、そんなハードル高いものじゃないぞ
上位層はコンテスト中にちゃちゃっとやってると思う

0981デフォルトの名無しさん (ブーイモ MMe7-Vwkg)2022/10/03(月) 10:14:59.33ID:Jd0Y4vRLM
独力で頑張ってるようで応援してるよ
典型的なアルゴリズムも自分で思いつけるようなものなのか興味ある

0982デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/03(月) 19:13:46.77ID:kRWtLYQ60
>>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];
}

とまずすべての入力を受け取ってしまってから、後で処理を書いても良い。

0983デフォルトの名無しさん (ワッチョイ 6f71-0qRf)2022/10/03(月) 20:26:59.27ID:lndyBnH50
https://twitter.com/intent/favorite?tweet_id=1516784253656506369
@rui314
さん
あれはSAPIXとか鉄緑会と同じカルチャーだと思う。
https://twitter.com/5chan_nel (5ch newer account)

0984デフォルトの名無しさん (オッペケ Sr47-K//C)2022/10/03(月) 23:10:45.15ID:8ESWd8Bnr
本当のことを言うのはやめろ

せめて数オリ情オリと言ってほしい

0986デフォルトの名無しさん (ワッチョイ b310-uaZr)2022/10/04(火) 00:26:34.06ID:cX4mL7Ac0
>>972
atcoder probremsってサイトで自分のレートに合った問題をひたすら解くってこと
codeforces ladderとかで検索してもいい。

0987デフォルトの名無しさん (ワッチョイ 8301-kE2G)2022/10/04(火) 01:28:16.20ID:6c7uePz80
https://atcoder.jp/contests/abc271/tasks/abc271_b
https://atcoder.jp/contests/abc269/tasks/abc269_b
こういうの問題文読んだだけじゃ何のことか分からなくて、入出力例を見てやっと「あーそういうことかー」となるんですけど、あんまり向いてないのかな?
皆さんは問題文だけで何すればいいのか分かるんですか?

0988デフォルトの名無しさん (アウアウウー Sa27-XVJY)2022/10/04(火) 01:43:10.78ID:s5OlCB28a
入出力例見て推測する方針でだいたい正しいと思う

0989デフォルトの名無しさん (ワッチョイ e301-NrYT)2022/10/04(火) 02:13:42.65ID:OovsoZ2q0
そこらへんは慣れ
竸プロあるいは数学への

特にその二つの問題は慣れてても難読だから
問題自体の難易度と問題文の読みやすさは独立

0991デフォルトの名無しさん (オッペケ Sr47-OKzK)2022/10/04(火) 08:06:43.06ID:SSbTCaS5r
形式的に書きすぎな感はあるよな
こどふぉなんかだと一般的な説明の後に、形式的に説明すると~、って二段階の説明があるから分かりやすい

0992デフォルトの名無しさん (ワッチョイ e301-1kFI)2022/10/04(火) 08:28:01.29ID:wdMm995x0
それはそうと直近のこどふぉの問題文全体的にわかりにくくなかった?
ABも誤読しそうな内容だしCですら最初は頭が壊れそうだったのにDに至ってはsetとかいうゲームを遊んだことがなかったせいでルールの理解までにだいぶ時間がかかったわ

0993デフォルトの名無しさん (ブーイモ MM7f-/yNl)2022/10/04(火) 19:14:27.62ID:bvpWOdzfM
言うほど最近の話か?

こどふぉは本当にテストケースから題意を推測することが多い

0995デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/05(水) 05:29:59.65ID:hHqeDYjf0
>>986
ありがとうございます。
本が好きなのでつい本を読もうと考えてしまいます。

0996デフォルトの名無しさん (ワッチョイ ff55-vqPj)2022/10/05(水) 13:26:30.13ID:hHqeDYjf0
競技プログラミングの問題の設定ですが、わかりやすさを狙ってだと思うのですが、スヌケ君がどうとか
余計な(?)設定が多いと思います。

純粋に数学的に問題を述べてくれたほうが分かりやすいように思います。

0997デフォルトの名無しさん (ワッチョイ e301-1kFI)2022/10/05(水) 14:22:04.19ID:ijil3GMs0
情報を素早くかつ適切に取捨選択するのも能力の一つだし多少はね

0998デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/05(水) 15:49:05.06ID:PBU6oUE40
こどふぉ次のDiv. 1が遠いなあ

0999デフォルトの名無しさん (ワッチョイ c3bd-kE2G)2022/10/05(水) 15:54:00.97ID:PBU6oUE40
と思ったらこのDytechlab cupってDiv.1 + Div. 2でratedなのか
https://codeforces.com/blog/entry/105117


10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 433日 19時間 59分 57秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。