!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
探検
競技プログラミング総合スレ 63
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1f9f-qCnf)
2021/07/28(水) 21:58:48.02ID:nljYiy+l0745デフォルトの名無しさん (ワッチョイ 25bd-kBqH)
2022/09/11(日) 00:49:02.92ID:jAgyYoIY0 上位者は本番中に問題を解ける思考モードへの入り方がうまいっぽい
chokudaiか誰だったか忘れたけど、本番じゃないとAGCの問題解くの難しいって言ってたな
かなりメンタルが影響するらしい
chokudaiか誰だったか忘れたけど、本番じゃないとAGCの問題解くの難しいって言ってたな
かなりメンタルが影響するらしい
746デフォルトの名無しさん (ワッチョイ d1a4-pqEy)
2022/09/11(日) 00:51:45.15ID:kEOVMHNm0 数オリで中国チームが全員満点って話あって、情オリ見てみたけどこっちでも上位4は中国チームのメンバーで独占してるんだなあ・・・
https://stats.ioinformatics.org/results/2022
と思ってもっとよく見てみたら6位まで全部中国人やんけ
https://stats.ioinformatics.org/results/2022
と思ってもっとよく見てみたら6位まで全部中国人やんけ
747デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 11:51:48.46ID:c+Ui/I6I0 >>737
Exというのはどの問題のことでしょうか?
Exというのはどの問題のことでしょうか?
748デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/11(日) 12:15:21.09ID:sY9L7CLNM749デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 12:33:26.32ID:c+Ui/I6I0 >>748
ありがとうございました。
『プログラミングコンテストチャレンジブック第2版』のp.325に、
「したがって、先ほどの長方形を左半分と右半分の一辺dの正方形に分けると、それぞれの正方形には、
点はたかだか3個しか含まれません。」
と書いてあるのですが、たかだか2個ではないですか?
3個になる例はありますか?
ありがとうございました。
『プログラミングコンテストチャレンジブック第2版』のp.325に、
「したがって、先ほどの長方形を左半分と右半分の一辺dの正方形に分けると、それぞれの正方形には、
点はたかだか3個しか含まれません。」
と書いてあるのですが、たかだか2個ではないですか?
3個になる例はありますか?
750デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 12:37:14.74ID:c+Ui/I6I0 3点となる例がわかりました。
でも4点の例がないことはどうやって証明するのでしょうか?
直感的には3点であろうと思いますが。
でも4点の例がないことはどうやって証明するのでしょうか?
直感的には3点であろうと思いますが。
751デフォルトの名無しさん (ワッチョイ 7d01-+yo2)
2022/09/11(日) 12:39:35.27ID:B0Yjkt4W0752デフォルトの名無しさん (ワッチョイ d1a4-pqEy)
2022/09/11(日) 12:40:58.84ID:kEOVMHNm0 初心者で今回のCが解けるなら大したもんだよ
753デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/11(日) 14:17:40.92ID:sY9L7CLNM >>750
コンテスト中だと直感で済ませちゃうけど、ちゃんと証明書こうとするとめんどいやつだ
全ての点対の距離がd以上であるような4点が正方形領域内にあると仮定する。
この四点をA,B,C,Dとし、四角形ABCDを考える。
(1)全ての頂点の角度が180°未満のとき
角度が90°以上である頂点が存在、これをAとしても一般性を失わない。
ここで余弦定理より、BD^2 = AB^2 + AD^2 - 2 AB AD cos∠BAD >= AB^2 + AD^2 >= 2 d^2
よって、BD >= √2d
(2)ある頂点の角度が180°以上のとき
角度が180°以上である頂点をAとしても一般性を失わない。
ここで、∠BAC+∠DAC>=180°なので∠BACと∠DACのいずれかは90°以上。
∠BACを90°以上としても一般性を失わない。
(1)と同様の議論により、BC >= √2d
正方形領域内の点対距離は√2d未満(座標計算普通にやれば示せると思う)
(1),(2)のいずれの場合においても矛盾が生じる。
(証明終)
コンテスト中だと直感で済ませちゃうけど、ちゃんと証明書こうとするとめんどいやつだ
全ての点対の距離がd以上であるような4点が正方形領域内にあると仮定する。
この四点をA,B,C,Dとし、四角形ABCDを考える。
(1)全ての頂点の角度が180°未満のとき
角度が90°以上である頂点が存在、これをAとしても一般性を失わない。
ここで余弦定理より、BD^2 = AB^2 + AD^2 - 2 AB AD cos∠BAD >= AB^2 + AD^2 >= 2 d^2
よって、BD >= √2d
(2)ある頂点の角度が180°以上のとき
角度が180°以上である頂点をAとしても一般性を失わない。
ここで、∠BAC+∠DAC>=180°なので∠BACと∠DACのいずれかは90°以上。
∠BACを90°以上としても一般性を失わない。
(1)と同様の議論により、BC >= √2d
正方形領域内の点対距離は√2d未満(座標計算普通にやれば示せると思う)
(1),(2)のいずれの場合においても矛盾が生じる。
(証明終)
754デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/11(日) 14:26:08.97ID:sY9L7CLNM あ、(1)も(2)も不等式評価で角度が180°以下であることを使ってるけど、ちゃんと書いてないからキモい雰囲気の証明になってるな
755デフォルトの名無しさん (ワッチョイ 25bd-kBqH)
2022/09/11(日) 15:12:26.47ID:jAgyYoIY0 凸包の最遠点対という特徴量、いかにも重要そうだけどあまり競プロで使った覚えがない
ABC234Exなんかは最近点対問題の解法と似た発想かもしれない、さすがにABC234Exの方が難しいけど
ABC234Exなんかは最近点対問題の解法と似た発想かもしれない、さすがにABC234Exの方が難しいけど
756デフォルトの名無しさん (ワッチョイ d1a4-pqEy)
2022/09/11(日) 15:27:05.90ID:kEOVMHNm0 本質は無なので無料です
757デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/11(日) 15:46:11.70ID:sY9L7CLNM 逆に最遠点対どうやってNlogNで求めるんだっけって思ったが、凸包求めてキャリパー法でくるくるか
幾何系はド典型でも全然頭に定着しない
幾何系はド典型でも全然頭に定着しない
758デフォルトの名無しさん (ワッチョイ 7d01-J1Nd)
2022/09/11(日) 16:55:39.75ID:Nz+JHxy30 昨日のABC、Dの実装でバグらせる予感しかしなかったからEから解いて何とかギリギリ解けたけど難易度E>Fだったんだな
F典型って聞いたけど青くらいまで行けば典型に見えるんだろうかたしかに取り組みやすそうな問題ではあったけど
F典型って聞いたけど青くらいまで行けば典型に見えるんだろうかたしかに取り組みやすそうな問題ではあったけど
759デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 17:29:18.43ID:c+Ui/I6I0760デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 17:37:25.16ID:c+Ui/I6I0761デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 18:18:32.35ID:c+Ui/I6I0762デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/11(日) 18:57:12.47ID:c+Ui/I6I0763デフォルトの名無しさん (ワッチョイ a510-/6Fu)
2022/09/11(日) 20:29:08.05ID:792CMm+80 ARC出ません
764デフォルトの名無しさん (ワッチョイ 25bd-kBqH)
2022/09/11(日) 23:13:18.91ID:jAgyYoIY0 E問題解きたかったなあ…
765デフォルトの名無しさん (ワッチョイ 25bd-kBqH)
2022/09/11(日) 23:24:22.70ID:jAgyYoIY0 最終的にはわからない問題を考え続けるのが一番の練習法らしいから、解説を見ないで解く体力が長い目で見て実力に寄与する気がするし、ABC-Cを半日考えて解くのは上等
ただ、ABCだと知識ゲーの要素があるから、最初のうちは解説見た方がサクサクレートが上がる場合もあるし、悩みどころだ
ただ、ABCだと知識ゲーの要素があるから、最初のうちは解説見た方がサクサクレートが上がる場合もあるし、悩みどころだ
766デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/12(月) 07:10:41.31ID:rinzAyh80 「Closest pair of points」を求めるアルゴリズムについてですが,『プログラミングコンテストチャレンジブック第2版』の
説明だと説明が全く不足しています.
この本を褒める人がいますが,信じられません.
確かに他に少し高度なこの類の本がないというのは事実だと思いますが.
CLRSの計算幾何学の章に非常に詳しく解説が書いてありますので,そちらを読もうと思います.
説明だと説明が全く不足しています.
この本を褒める人がいますが,信じられません.
確かに他に少し高度なこの類の本がないというのは事実だと思いますが.
CLRSの計算幾何学の章に非常に詳しく解説が書いてありますので,そちらを読もうと思います.
767デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/12(月) 07:12:15.09ID:rinzAyh80 『プログラミングコンテストチャレンジブック第2版』ですが,完全な解説ではなく,スケッチ程度の説明集だと
思います.
ネット上の解説などもそのようなものがほとんどだと思います.
思います.
ネット上の解説などもそのようなものがほとんどだと思います.
768デフォルトの名無しさん (オッペケ Srbd-PvBN)
2022/09/12(月) 07:57:57.20ID:AFh4CYQbr そうなんだ
769デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/12(月) 11:21:41.15ID:WsTAO2GiM 4点の証明よりめんどい行間ある?って思ったけどマージソートの部分か
x座標で点集合を分けたあと、各ステップでx座標的に隣接する点集合を合わせることを繰り返すわけだが、そこでマージソートの要領でy座標をソートすることで、時間計算量を増やさずにy座標のソートができる
ある程度のレベルの学術書で単体で行間埋められる本の方が珍しいし、別に行間だらけだから良書じゃないなんてことはないと思うがな
x座標で点集合を分けたあと、各ステップでx座標的に隣接する点集合を合わせることを繰り返すわけだが、そこでマージソートの要領でy座標をソートすることで、時間計算量を増やさずにy座標のソートができる
ある程度のレベルの学術書で単体で行間埋められる本の方が珍しいし、別に行間だらけだから良書じゃないなんてことはないと思うがな
770デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/12(月) 17:30:34.33ID:rinzAyh80 >>769
確かに有益な本だとは思うのですが,もう少し解説が丁寧だといいなと思います.
完全に理解するために,ソースコードに頼ることが非常に多いので.
何かおすすめのAtCoderの問題はありますか?
難しすぎると解けないので,初心者でも解けるくらいで面白い問題が希望です.
確かに有益な本だとは思うのですが,もう少し解説が丁寧だといいなと思います.
完全に理解するために,ソースコードに頼ることが非常に多いので.
何かおすすめのAtCoderの問題はありますか?
難しすぎると解けないので,初心者でも解けるくらいで面白い問題が希望です.
771デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/12(月) 18:09:25.90ID:E//33fQvM >>770
このサイトはAtCoder Problemsといって、各問題のdifficultyという数値を見ることができる
https://kenkoooo.com/atcoder#/table/
difficultyとはなにかと言うと、半分ぐらいの確率でその問題を解けるであろう人のレートを推定したもの
ここでdifficultyの二分探索でもすれば自ずと丁度いいぐらいのところに行きつくと思う
基本的には自分のレートと同じか一色上ぐらいがやってて楽しい
初心者でプログラミング自体はできるんなら、最初はABC-C、ARC-Aぐらいの問題が丁度いいレベルと思う
面白さについて言えばAtCoderの問題は大体パズル的には面白いはず、ただそこも好みだな
高度な知識をたくさん使いたいんならCodeForcesの方が面白いかもしれない
このサイトはAtCoder Problemsといって、各問題のdifficultyという数値を見ることができる
https://kenkoooo.com/atcoder#/table/
difficultyとはなにかと言うと、半分ぐらいの確率でその問題を解けるであろう人のレートを推定したもの
ここでdifficultyの二分探索でもすれば自ずと丁度いいぐらいのところに行きつくと思う
基本的には自分のレートと同じか一色上ぐらいがやってて楽しい
初心者でプログラミング自体はできるんなら、最初はABC-C、ARC-Aぐらいの問題が丁度いいレベルと思う
面白さについて言えばAtCoderの問題は大体パズル的には面白いはず、ただそこも好みだな
高度な知識をたくさん使いたいんならCodeForcesの方が面白いかもしれない
772デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/12(月) 18:15:28.92ID:rinzAyh80773デフォルトの名無しさん (テテンテンテン MM3e-fcS6)
2022/09/12(月) 18:20:46.33ID:E//33fQvM 蟻本が解説に関して親切設計な本ではないのは確か
今は蟻本よりもっと初学者向けの競プロ本がたくさんあるから、その中から選ぶのも手ではある
最近は鉄則本なんていうのも出て、それも蟻本に比べたら多分初学者向け
https://kato-hiro.github.io/AtCoderClans/books/
ただ厳密数学的な意味で丁寧な本ってあるんか?自分は蟻本以外読んだことないからよくわからん
今は蟻本よりもっと初学者向けの競プロ本がたくさんあるから、その中から選ぶのも手ではある
最近は鉄則本なんていうのも出て、それも蟻本に比べたら多分初学者向け
https://kato-hiro.github.io/AtCoderClans/books/
ただ厳密数学的な意味で丁寧な本ってあるんか?自分は蟻本以外読んだことないからよくわからん
774デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/12(月) 18:38:46.03ID:rinzAyh80 >>773
リンクありがとうございました.
リンクありがとうございました.
775デフォルトの名無しさん (ワッチョイ 4ac0-20Zt)
2022/09/13(火) 06:55:02.21ID:sWJYur860 こどふぉで自分のレートのdifficultyの問題をずーっとやってるんだけど、
簡単に解けるのと全然歯が立たないのがある…
簡単に解けるのと全然歯が立たないのがある…
776デフォルトの名無しさん (ワッチョイ 25bd-aQ9k)
2022/09/13(火) 19:26:09.73ID:9QsJBQr90 外国人と日本人で結構な得意な問題が違う気がする
777デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 09:18:47.48ID:jsfAG/sd0 github.com/drken1215/book_algorithm_solution/blob/master/solutions/chap04.md
この4.6のコードですが、本当にO(N*W)ですか?
ボトムアップ型の動的計画法がO(N*W)というのは分かりますが、4.6は違うような気がします。
この4.6のコードですが、本当にO(N*W)ですか?
ボトムアップ型の動的計画法がO(N*W)というのは分かりますが、4.6は違うような気がします。
778デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 09:24:01.59ID:jsfAG/sd0 >>777
これは、部分和問題のコードのメモ化再帰のコードです。
これは、部分和問題のコードのメモ化再帰のコードです。
779デフォルトの名無しさん (ワッチョイ 7d01-U8vw)
2022/09/14(水) 11:19:03.17ID:9MjfrPGa0 ざっと見た感じはO(NW)で合ってそう
780デフォルトの名無しさん (ワッチョイ 3d02-IFwC)
2022/09/14(水) 11:35:22.59ID:vMgqqEzp0 引数のwが負になりうる実装で、そもそも壊れてそう
781デフォルトの名無しさん (ワッチョイ 3d02-IFwC)
2022/09/14(水) 11:39:04.72ID:vMgqqEzp0 issue 立ってるけど放置されてるな、やる気はその程度か
782デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:32:56.43ID:jsfAG/sd0 文字列の編集距離について質問です。
S、Tを文字列とする。
dp[i][j]をSの最初のi文字からなる文字列とTの最初のj文字からなる文字列の間の編集距離とする。
■変更操作(Sのi文字目とTのj文字目とを対応させる):
S[i-1]==T[j-1]のとき:コストを増やさずに済みますので
chmin(dp[i][j], dp[i-1][j-1])
です。
S[i-1]!=T[j-1]のとき:変更操作が必要ですので
chmin(dp[i][j], dp[i-1][j-1]+1)
です。
■削除操作(Sのi文字目を削除):
Sのi文字目を削除する操作を行いますので
chmin(dp[i][j], dp[i-1][j]+1);
です。
挿入操作(Tのj文字目を削除):
Tのj文字目を削除する操作を行いますので
chmin(dp[i][j], dp[i][j-1]+1)
です。
S、Tを文字列とする。
dp[i][j]をSの最初のi文字からなる文字列とTの最初のj文字からなる文字列の間の編集距離とする。
■変更操作(Sのi文字目とTのj文字目とを対応させる):
S[i-1]==T[j-1]のとき:コストを増やさずに済みますので
chmin(dp[i][j], dp[i-1][j-1])
です。
S[i-1]!=T[j-1]のとき:変更操作が必要ですので
chmin(dp[i][j], dp[i-1][j-1]+1)
です。
■削除操作(Sのi文字目を削除):
Sのi文字目を削除する操作を行いますので
chmin(dp[i][j], dp[i-1][j]+1);
です。
挿入操作(Tのj文字目を削除):
Tのj文字目を削除する操作を行いますので
chmin(dp[i][j], dp[i][j-1]+1)
です。
783デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:34:32.86ID:jsfAG/sd0 「S[i-1]==T[j-1]のとき」と書いてありますが、これは
「S[i]==T[j]のとき」が正しいというわけではないですか?
「S[i]==T[j]のとき」が正しいというわけではないですか?
784デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:34:44.34ID:jsfAG/sd0785デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:36:39.23ID:jsfAG/sd0 >>782
は『問題解決力を鍛える!アルゴリズムとデータ構造』という本に書いてある解説です。
は『問題解決力を鍛える!アルゴリズムとデータ構造』という本に書いてある解説です。
786デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:38:36.60ID:jsfAG/sd0 配列は0始まりなのでこれで間違っていませんね。
787デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:44:17.21ID:jsfAG/sd0 >>782
S[i-1]==T[j-1]のとき:コストを増やさずに済みますので
chmin(dp[i][j], dp[i-1][j-1])
です。
これをSの最初のi文字からなる文字列を編集により、Tの最初のj文字からなる文字列に最小の手間で
変更するには、Sの最初のi-1文字からなる文字列を編集により、Tの最初のj-1文字からなる文字列に最小の手間で
変更すればいいということを言いたいのだと解釈しました。
Sのi番目の文字を変更したとしてもトータルの編集の手間が少なくなることはないというのは証明が必要ではないでしょうか?
S[i-1]==T[j-1]のとき:コストを増やさずに済みますので
chmin(dp[i][j], dp[i-1][j-1])
です。
これをSの最初のi文字からなる文字列を編集により、Tの最初のj文字からなる文字列に最小の手間で
変更するには、Sの最初のi-1文字からなる文字列を編集により、Tの最初のj-1文字からなる文字列に最小の手間で
変更すればいいということを言いたいのだと解釈しました。
Sのi番目の文字を変更したとしてもトータルの編集の手間が少なくなることはないというのは証明が必要ではないでしょうか?
788デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/14(水) 13:46:31.88ID:jsfAG/sd0789デフォルトの名無しさん (オッペケ Srbd-PvBN)
2022/09/14(水) 15:14:15.25ID:tHNQsFnsr そうなんだ
790デフォルトの名無しさん (ワッチョイ de2a-62hs)
2022/09/14(水) 15:24:09.35ID:9+y+r6nn0 適当なこと言うけど
Sのi番目の文字を変更したとしても、最終的にはSのi番目の文字をTのi番目の文字に合わせないといけないから、
Sのi-1番目までの操作に置き換えられるということじゃないかな
例えば、bookをdeskに合わせるなら、
bookのkを適当にaに変える→booa
でも最終的には最後の文字はkにしないといけない
booaの最後にkを挿入→booak
booakっていうのは、bookのbooの部分にaを挿入したものと考えられる
こういう感じで、結局Sのi-1番目までの操作と考えることができるっていうことだと思う
Sのi番目の文字を変更したとしても、最終的にはSのi番目の文字をTのi番目の文字に合わせないといけないから、
Sのi-1番目までの操作に置き換えられるということじゃないかな
例えば、bookをdeskに合わせるなら、
bookのkを適当にaに変える→booa
でも最終的には最後の文字はkにしないといけない
booaの最後にkを挿入→booak
booakっていうのは、bookのbooの部分にaを挿入したものと考えられる
こういう感じで、結局Sのi-1番目までの操作と考えることができるっていうことだと思う
791デフォルトの名無しさん (ワッチョイ 25bd-aQ9k)
2022/09/14(水) 15:30:11.95ID:5xlFzeB+0 S[i-1]==S[j-1]で、Sのi文字目かTのj文字目を変更したときに、dp[i][j]<dp[i-1][j-1]とするとdp[i-1][j-1]<dp[i-1][j-1]が導かれるようにできるよ
dp[i-1][j-1]未満の編集距離で揃えるにはSのi文字目かTのj文字目のどちらかを使わなきゃいけないことに注目する
dp[i-1][j-1]未満の編集距離で揃えるにはSのi文字目かTのj文字目のどちらかを使わなきゃいけないことに注目する
792デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 09:32:52.27ID:3elqjdXs0 >>790-791
ありがとうございました。
まだ、よく分からないので、少し質問の仕方を変えてもう一度質問させてください。
以下がなぜなのかが分かりません。
いかにも成り立ちそうですが、証明ができません。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sからその最後の文字を除いた文字列を、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
SをTからその最後の文字を除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
ありがとうございました。
まだ、よく分からないので、少し質問の仕方を変えてもう一度質問させてください。
以下がなぜなのかが分かりません。
いかにも成り立ちそうですが、証明ができません。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sからその最後の文字を除いた文字列を、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
SをTからその最後の文字を除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
793デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 09:35:19.04ID:3elqjdXs0 間違えました。以下のように訂正します。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sを、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
SをTからその最後の文字を除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sを、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
SをTからその最後の文字を除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
794デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 09:38:28.08ID:3elqjdXs0 また、間違えました。以下のように訂正します。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字Mを除いた文字列を、Tからその最後の文字Mを除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sを、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
Sからその最後の文字Mを除いた文字列を、Tからその最後の文字Mを除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
S = 'LOGISTIC'
T = 'ALGORITHM'
(1)
Sの最後の文字CをTの最後の文字Mで置き換える。
Sからその最後の文字Mを除いた文字列を、Tからその最後の文字Mを除いた文字列に
最小の手間で編集する。
(2)
Sの最後の文字Cを削除する。
Sを、Tに最小の手間で編集する。
(3)
Sの最後の文字Cの後ろに、Tの最後の文字Mを付け加える。
Sからその最後の文字Mを除いた文字列を、Tからその最後の文字Mを除いた文字列に最小の手間で編集する。
(1)、(2)、(3)を実行するのに必要な手間のうち最小の手間が、文字列Sを文字列Tに
編集する最小の手間である。
795デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 13:41:42.51ID:3elqjdXs0 SをTに最小の手間で変換するオペレーションが以下の画像の通りだとする。
オペレーションを実行する順序には関係なく、SはTに変換されることに注意する。
imgur.com/GSQfWoU.jpg
(1)Sの最後の文字の右にInsertオペレーションがある場合。
Sの最後の文字の後ろに、Tの最後の文字を付け加える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に最小の手間で編集する。
これが(1)の場合に、SをTに変換する最小の編集方法になる。
オペレーションを実行する順序には関係なく、SはTに変換されることに注意する。
imgur.com/GSQfWoU.jpg
(1)Sの最後の文字の右にInsertオペレーションがある場合。
Sの最後の文字の後ろに、Tの最後の文字を付け加える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に最小の手間で編集する。
これが(1)の場合に、SをTに変換する最小の編集方法になる。
796デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 13:41:55.18ID:3elqjdXs0 (2)Sの最後の文字の右にInsertオペレーションがない場合。
(2-1)Sの最後の文字に行うオペレーションがN(何もしない)の場合。
この場合、Sの最後の文字とTの最後の文字は等しい。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に最小の手間で編集する。
これが(2-1)の場合に、SをTに変換する最小の編集方法になる。
(2-2)Sの最後の文字に行うオペレーションがD(Delete)の場合。
この場合、Sの最後の文字を削除する。
Sを、Tに最小の手間で編集する。
これが(2-2)の場合に、SをTに変換する最小の編集方法になる。
(2-3)Sの最後の文字に行うオペレーションがS(Substitute)の場合。
この場合、Sの最後の文字をTの最後の文字に置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
これが(2-3)の場合に、SをTに変換する最小の編集方法になる。
(2-1)Sの最後の文字に行うオペレーションがN(何もしない)の場合。
この場合、Sの最後の文字とTの最後の文字は等しい。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に最小の手間で編集する。
これが(2-1)の場合に、SをTに変換する最小の編集方法になる。
(2-2)Sの最後の文字に行うオペレーションがD(Delete)の場合。
この場合、Sの最後の文字を削除する。
Sを、Tに最小の手間で編集する。
これが(2-2)の場合に、SをTに変換する最小の編集方法になる。
(2-3)Sの最後の文字に行うオペレーションがS(Substitute)の場合。
この場合、Sの最後の文字をTの最後の文字に置き換える。
Sからその最後の文字を除いた文字列を、Tからその最後の文字を除いた文字列に
最小の手間で編集する。
これが(2-3)の場合に、SをTに変換する最小の編集方法になる。
797デフォルトの名無しさん (ワッチョイ 6a55-V+uT)
2022/09/15(木) 13:43:21.05ID:3elqjdXs0 こう考えたのですが、これでいいでしょうか?
798デフォルトの名無しさん (ワッチョイ 4ac0-20Zt)
2022/09/15(木) 14:20:18.89ID:2rpOawCB0 多分、dp[i]を、i番目まで揃えたときの最小手順数だって定義してると思う
その次のインデックスの文字を揃えるために出来ることがその3パターンしかなければ、そうなんじゃないかなぁ
dpを更新したときに、定義が崩れてしまわないか?を集中して考えてみると良いと思う
その次のインデックスの文字を揃えるために出来ることがその3パターンしかなければ、そうなんじゃないかなぁ
dpを更新したときに、定義が崩れてしまわないか?を集中して考えてみると良いと思う
799デフォルトの名無しさん (ワッチョイ d710-ix6N)
2022/09/17(土) 14:19:59.56ID:ChhZpwg90 最近競技プロ出来てねー
まぁ2年くらいやったし飽きたのかも
まぁ2年くらいやったし飽きたのかも
800デフォルトの名無しさん (ワッチョイ 5701-nNgT)
2022/09/20(火) 09:38:15.86ID:l9naZzzk0 パイザってサイトに『エンジニア騎士とクエリの魔女』の『暗黒の地』って
競技プログラミング風味のものがあるんだよ。まあまあ面白くて
これで12位になったので、ソース公開するね。
https://paiza.io/projects/Me-9l8aRopclovpRhczITg
ソースを読んだ感想を書いてくれたりしてくれると嬉しいです。みんなもやってみよう
競技プログラミング風味のものがあるんだよ。まあまあ面白くて
これで12位になったので、ソース公開するね。
https://paiza.io/projects/Me-9l8aRopclovpRhczITg
ソースを読んだ感想を書いてくれたりしてくれると嬉しいです。みんなもやってみよう
801デフォルトの名無しさん (ワッチョイ 77e4-dv3E)
2022/09/20(火) 11:41:19.73ID:Qcy/onU00 いいね!
すごいね!
すごいね!
802デフォルトの名無しさん (ワッチョイ d7bd-bG2j)
2022/09/20(火) 13:54:44.15ID:gUImHuHP0 この問題わかんね
https://twitter.com/SSRS_cp/status/1571996174604963840
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/SSRS_cp/status/1571996174604963840
https://twitter.com/5chan_nel (5ch newer account)
803デフォルトの名無しさん (ワッチョイ d7bd-bG2j)
2022/09/20(火) 14:02:43.97ID:gUImHuHP0 平方分割すればできるのはわかるけど、想定解はそうじゃないっぽいし
804デフォルトの名無しさん (ワッチョイ 9fc0-W3aP)
2022/09/20(火) 14:51:16.41ID:Y9OiSWpN0 Lだけの話に限定するけど、
Lの効果をインデックス毎に保管しておいて、(入力例1なら[-1, -2, 2, 0, 1])
それのセグメント木を作れば区間最小値をlogNで取り出せるようになるからいけるんちゃうか?
Lの効果をインデックス毎に保管しておいて、(入力例1なら[-1, -2, 2, 0, 1])
それのセグメント木を作れば区間最小値をlogNで取り出せるようになるからいけるんちゃうか?
805デフォルトの名無しさん (ワッチョイ 9f6f-jRn/)
2022/09/20(火) 16:42:42.75ID:fSXnXfcH0 耳DPをセグ木に乗せるだけやろ
806デフォルトの名無しさん (ワッチョイ d7bd-bG2j)
2022/09/20(火) 17:00:13.31ID:gUImHuHP0807デフォルトの名無しさん (ワッチョイ 9fc0-W3aP)
2022/09/20(火) 17:17:04.14ID:Y9OiSWpN0808デフォルトの名無しさん (ワッチョイ bf5c-qOFO)
2022/09/20(火) 18:28:08.02ID:yGxPr74E0 まずaについて、各項の隙間ごとにLはその左でRはその右にあるような置き換え方での和の最小値を求めておいて、区間が限られたらその区間にある隙間に対して区間minして端の分を補正したらいいんじゃないの
809デフォルトの名無しさん (オッペケ Srcb-Wh7j)
2022/09/20(火) 18:44:31.27ID:R7N7Rzx3r うんち
810デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/20(火) 19:40:54.03ID:gUImHuHP0811デフォルトの名無しさん (ワッチョイ bf5c-qOFO)
2022/09/20(火) 20:06:23.92ID:yGxPr74E0 >>810
めちゃくちゃ嘘だったわ
めちゃくちゃ嘘だったわ
812デフォルトの名無しさん (ワッチョイ 5701-DV3A)
2022/09/20(火) 20:08:23.68ID:3RVLul1m0 普通にx毎に最小になるyを取れるようにする方針だけど
それだと幅*Qぐらいだから多分無理なので改良として
セグツリーかなんかで[x,..)の領域に対して一発でy取れるようにすりゃいんじゃねって思った
ちなワイ茶色
それだと幅*Qぐらいだから多分無理なので改良として
セグツリーかなんかで[x,..)の領域に対して一発でy取れるようにすりゃいんじゃねって思った
ちなワイ茶色
813デフォルトの名無しさん (ワッチョイ 9fc0-e54V)
2022/09/20(火) 21:29:32.52ID:Y9OiSWpN0 超思いつきだけどさ、
L<Rの場合、Lのテリトリーを譲ってまでRの幅を広げる必要はない気がするんだよな
だからLについては貪欲に最小拾っていいとかないかな?
L<Rの場合、Lのテリトリーを譲ってまでRの幅を広げる必要はない気がするんだよな
だからLについては貪欲に最小拾っていいとかないかな?
814デフォルトの名無しさん (ワッチョイ 9702-UTPu)
2022/09/20(火) 22:04:05.16ID:6eFEjyRr0 耳DPのトロピカル行列をセグ木に乗っけて終わりとちゃうんか
815デフォルトの名無しさん (ワッチョイ 9702-UTPu)
2022/09/20(火) 22:05:42.62ID:6eFEjyRr0 全区間についての答えの和とかは解けんのかな
オーバーフローはないもんとして
オーバーフローはないもんとして
816デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/20(火) 22:19:34.98ID:gUImHuHP0 耳DPの遷移を表すトロピカル行列が
L ∞ ∞
A_i A_i ∞
R R R
になってて、積についてモノイドになってるからセグ木に乗る
区間積求めてあとは(0,∞,∞)^tに作用させればおkってこと?
L ∞ ∞
A_i A_i ∞
R R R
になってて、積についてモノイドになってるからセグ木に乗る
区間積求めてあとは(0,∞,∞)^tに作用させればおkってこと?
817デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/20(火) 22:21:34.19ID:gUImHuHP0 >>813
なんかこれはこれで正当化できそうな雰囲気がある
なんかこれはこれで正当化できそうな雰囲気がある
818デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/20(火) 22:25:23.85ID:gUImHuHP0 結局正解っぽいやつについて自力で全然思いつかなかったの悲しい
819デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/20(火) 23:18:52.20ID:gUImHuHP0 >>800
paizaってOpenCV使ったりするような問題出るんだ
paizaってOpenCV使ったりするような問題出るんだ
820デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 00:43:34.61ID:x1slIPpsM 行列積の定数倍が重いせいで平方分割落とす制約にできないのか
821デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 11:31:22.73ID:KfFuyi/HM 情報の保持って観点じゃトロピカル行列は
A_i A_i
R R
の左下部分だけで十分ってことか
https://twitter.com/SSRS_cp/status/1572362117432643586?t=_MoRQwYnYHKZd2peSTfpbQ&s=19
https://twitter.com/5chan_nel (5ch newer account)
A_i A_i
R R
の左下部分だけで十分ってことか
https://twitter.com/SSRS_cp/status/1572362117432643586?t=_MoRQwYnYHKZd2peSTfpbQ&s=19
https://twitter.com/5chan_nel (5ch newer account)
822デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 11:32:37.83ID:KfFuyi/HM あと区間長さえ保持しとけば
823デフォルトの名無しさん (テテンテンテン MM8f-nNgT)
2022/09/21(水) 12:17:44.87ID:qEUpkz9TM824デフォルトの名無しさん (アウアウウー Sa5b-lIjq)
2022/09/21(水) 16:22:14.70ID:AliPmZ5ga ふつうにLとの差分の累積和とって右から全探索でいいんじゃないのか?
825デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/21(水) 18:13:16.60ID:+9EfOb1n0 N,Q≦10^5の制約だけど、それは2secで通る?
826デフォルトの名無しさん (アウアウウー Sa5b-lIjq)
2022/09/21(水) 20:13:31.40ID:k2jdRmOoa Nだから普通に通るよ
827デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 20:48:04.88ID:bmvBppJjM 具体的なやり方が読み解けないけどクエリごとに全探索したらO(NQ)なのでは?
828デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 20:52:43.66ID:bmvBppJjM もしかして、元々の問題ABC263Dの解法の話してる?
829デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/21(水) 21:08:22.89ID:bmvBppJjM 昔のadminがりんごさんだったころのSRMってAGCとかに役に立つ?
830デフォルトの名無しさん (ワッチョイ bfd7-lIjq)
2022/09/21(水) 22:35:20.54ID:JxZ0RmNU0 >>828
ごめん話題変わってた?
左からLとの差分の累積和とって、左からi番目までで1番値が大きいやつのインデックスメモっておくのがO(N)
右から見てってiより右側はRにして、iより左側でLにするべき境目はさっき求めたからiの全探索でO(N)でいける認識
説明やばいけど勘弁して
ごめん話題変わってた?
左からLとの差分の累積和とって、左からi番目までで1番値が大きいやつのインデックスメモっておくのがO(N)
右から見てってiより右側はRにして、iより左側でLにするべき境目はさっき求めたからiの全探索でO(N)でいける認識
説明やばいけど勘弁して
831デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/22(木) 00:37:51.08ID:7XNeWjKf0 ABC263Dの解法としてはそれでOK
リンクされたツイートではさらに、元々の数列のうち区間[l,r)の部分に限った数列について元々の問題を解く×Qって設定になっていた
その解き方だとO(NQ)でTLEするので、これがちょっと難しかった(もう解法は発表されたけど)
リンクされたツイートではさらに、元々の数列のうち区間[l,r)の部分に限った数列について元々の問題を解く×Qって設定になっていた
その解き方だとO(NQ)でTLEするので、これがちょっと難しかった(もう解法は発表されたけど)
832デフォルトの名無しさん (ワッチョイ 9fc0-e54V)
2022/09/22(木) 01:37:50.90ID:LfyHnz2g0 正直、4つ持つことになんの意味があってどう嬉しいのか全く分からんぞい
耳dpってやつなの?
耳dpってやつなの?
833デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/22(木) 03:17:37.64ID:FFFEjz5/0 4つ情報を持ってないと、モノイドにする(≒結合則を成り立たせる)上で情報が足りないからセグ木に乗らない
このモノイドが代数的な言葉で言えばトロピカル行列に対応している
ちなみにこのトロピカル行列は耳DPの遷移だから、そっちから考えても同等の解答に行き着く的な感じ
明日気が向いたらこの辺ちゃんと書く
何か言葉は仰々しいけど別にトロピカル代数の知識なくても、上書き区間左側確定 T/F 上書き区間右側確定 T/Fで値持って区間をくっつけること考えたらどういう演算をしたらいいかは発想できると思う
このモノイドが代数的な言葉で言えばトロピカル行列に対応している
ちなみにこのトロピカル行列は耳DPの遷移だから、そっちから考えても同等の解答に行き着く的な感じ
明日気が向いたらこの辺ちゃんと書く
何か言葉は仰々しいけど別にトロピカル代数の知識なくても、上書き区間左側確定 T/F 上書き区間右側確定 T/Fで値持って区間をくっつけること考えたらどういう演算をしたらいいかは発想できると思う
834デフォルトの名無しさん (ワッチョイ d7bd-ret5)
2022/09/22(木) 03:22:21.63ID:FFFEjz5/0 自分の理解だとさらに区間の長さも必要そうだから厳密には必要なのは5つの情報かな?
835デフォルトの名無しさん (テテンテンテン MM8f-wptx)
2022/09/22(木) 11:18:12.70ID:c1NDWA0LM 半環上の正方行列が積が結合則満たすのって実正方行列での証明考えれば自明だけど、それが行列積だと分かってない状況だとかなり直観的に分かりづらいよな
そもそも行列積自体、初見で線形写像の幾何学的な話もなしだと結合則が成り立つと見抜くのが無理そうな意味不明な演算に見えるし
そもそも行列積自体、初見で線形写像の幾何学的な話もなしだと結合則が成り立つと見抜くのが無理そうな意味不明な演算に見えるし
836デフォルトの名無しさん (ワッチョイ 9255-JEMU)
2022/09/24(土) 18:24:44.81ID:nZKOKQNY0 大槻の本に、比較によってソートするアルゴリズムの最悪計算量は、 Ω(n * log(n)) であると書いてあります。
最善の計算量が O(n * log(n)) よりも良いようなものって存在しますか?
最善の計算量が O(n * log(n)) よりも良いようなものって存在しますか?
837デフォルトの名無しさん (ワッチョイ 2701-5D4H)
2022/09/24(土) 18:33:53.75ID:hL268OjV0 nがあります
838デフォルトの名無しさん (ワッチョイ f7ad-nICh)
2022/09/24(土) 18:36:10.29ID:ewV+cEv/0 ボゴソートは最良計算時間nですよ
839デフォルトの名無しさん (ワッチョイ 9255-JEMU)
2022/09/24(土) 18:38:34.03ID:nZKOKQNY0 例を挙げてください。
840デフォルトの名無しさん (ワッチョイ 9f02-ePBc)
2022/09/24(土) 19:08:37.47ID:B/S/upiL0 最善って意味だと挿入ソートはO(N)
841デフォルトの名無しさん (ワッチョイ de5c-JnbG)
2022/09/24(土) 19:21:32.49ID:lQxqE4zm0 バブルソートはソート済みの列に対して O(n)
842デフォルトの名無しさん (ワッチョイ 9255-JEMU)
2022/09/24(土) 19:24:43.12ID:nZKOKQNY0843デフォルトの名無しさん (ワッチョイ 5f01-Pu1F)
2022/09/24(土) 22:42:30.99ID:JAEDuJ+F0 A問題、A問題の難易度じゃないだろ
844デフォルトの名無しさん (ワッチョイ 9e71-mIyF)
2022/09/24(土) 22:53:45.20ID:cuZGjTPy0 Aこの難易度でも良いけど、ビギナーコンテストなんだから9割くらいが解けるDくらいまでにすべき、10問は多すぎ
Dも昔は愚直にやって通るくらいの難易度だった気が
Dも昔は愚直にやって通るくらいの難易度だった気が
845デフォルトの名無しさん (ワッチョイ b26f-gqjU)
2022/09/24(土) 22:56:24.67ID:XN000lpY0 D問題が greedy じゃダメな理由がわからん……
解説に反例があるのは見たけど納得できない
解説に反例があるのは見たけど納得できない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 犯罪者たち「刑事罰受けて罪は償った!被害者への賠償金?もう反省済みだから一円も払わねーよばーかwww」 [177178129]
- __CIA・FBI向け保険会社、中国に買収され危機、米国は売却を取り消し、トランプ政権下で外国資本規制の強化へ [827565401]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- #台湾有事は日本有事👈これ
- B型のハゲが一番ヤバイ
