↑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/
※前スレ
競技プログラミング総合スレ 63
https://mevius.5ch.net/test/read.cgi/tech/1627477128
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
競技プログラミング総合スレ 64
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ラクッペペ MM7f-osoq)
2022/10/02(日) 17:43:58.66ID:FqAfPtIrM741デフォルトの名無しさん (アウアウウー Sab5-g9a5)
2022/12/08(木) 18:06:46.91ID:05iO3Ijva それってデータエンジニアじゃん!
Kaggleじゃん!
Kaggleじゃん!
742デフォルトの名無しさん (ササクッテロ Sp88-UA8M)
2022/12/08(木) 18:15:38.61ID:qvBkrjzGp kaggle定期的にやりたくなるけど競プロ諸々との両立が難しくて毎回挫折する
743デフォルトの名無しさん (ワッチョイ 40ad-1GD/)
2022/12/08(木) 22:15:49.90ID:LtNnKYdG0 健常者スレおやすみ🥱
744デフォルトの名無しさん (ワッチョイ bd7c-CAxs)
2022/12/09(金) 07:42:08.88ID:NQJZdVld0 健常者スレおはよう🥱寒いね
745デフォルトの名無しさん (テテンテンテン MM34-wjaL)
2022/12/09(金) 15:37:29.25ID:JIsCFDDpM Kaggleって機械学習モデルの精度競争的なイメージが強いけど、AIツールを活用した作業効率化みたいなイメージで話してた
746デフォルトの名無しさん (ワッチョイ 67ad-RuF0)
2022/12/10(土) 12:50:59.26ID:FEPL+5PW0 健常者スレおはよう🥱今日はABCだね
747デフォルトの名無しさん (ワッチョイ a701-KKgq)
2022/12/10(土) 16:56:35.59ID:+Gv2eYfg0 ChatGPTをAtCoderのコンテストで使用することが認められるならコンテスト出ないって人を見かけたけど、いまはまだ茶色程度の実力だけど、
仮に暖色程度の実力を備えた競プロAIが登場したとして、AtCoder公式から使用を認められたら、どう反応する人が多いか気になる
仮に暖色程度の実力を備えた競プロAIが登場したとして、AtCoder公式から使用を認められたら、どう反応する人が多いか気になる
748デフォルトの名無しさん (スププ Sdff-Opz5)
2022/12/10(土) 20:31:32.99ID:Ns16Znepd まだ未参加なのですが過去問ABCのABまでしか解けないとして参加する意味ありますか?
あとABだけ解けて茶色行けますか?
あとABだけ解けて茶色行けますか?
749デフォルトの名無しさん (スプッッ Sd7f-5DNi)
2022/12/10(土) 20:44:33.79ID:TTumudvvd コンテストになれば普段より集中して問題に取り組めるので参加する意味はあります
また参加回数が少ないとレーティングに補正がかかって低くなる仕組みもあります
ABだけでは茶色にはなれません
また参加回数が少ないとレーティングに補正がかかって低くなる仕組みもあります
ABだけでは茶色にはなれません
750デフォルトの名無しさん (ワッチョイ 87a4-6Z9O)
2022/12/10(土) 20:45:06.16ID:9Qn6ryF90 >>748
英検とかと違って無料で参加できる実戦だから、練習になるし意味あるよ
強いひとはAtCoder以外にもいろんなコンテストに毎週たくさん参加してたりするよ
ABだけで茶色は無理かな
茶色にいくならCまで余裕もって解いてくださいな
英検とかと違って無料で参加できる実戦だから、練習になるし意味あるよ
強いひとはAtCoder以外にもいろんなコンテストに毎週たくさん参加してたりするよ
ABだけで茶色は無理かな
茶色にいくならCまで余裕もって解いてくださいな
751デフォルトの名無しさん (アウアウウー Sa6b-TN1X)
2022/12/10(土) 20:49:39.55ID:uF1Xgf00a >>747
https://www.businessinsider.jp/post-263042
この前こんな記事読んだんだけど、やっぱりChatGPTは「考えて答えている」んじゃなくて「それっぽい文字列を吐いているだけ」みたいだから、これからよほどのパラダイムシフトがない限り暖色程度の実力を備えた競プロAIは無理じゃないかな
まあそのパラダイムシフトに立ち会ってみたい気もするけど
>>748
本番の時間制限あるなかで考えるのも楽しいし、やってみればいいと思うよ
https://www.businessinsider.jp/post-263042
この前こんな記事読んだんだけど、やっぱりChatGPTは「考えて答えている」んじゃなくて「それっぽい文字列を吐いているだけ」みたいだから、これからよほどのパラダイムシフトがない限り暖色程度の実力を備えた競プロAIは無理じゃないかな
まあそのパラダイムシフトに立ち会ってみたい気もするけど
>>748
本番の時間制限あるなかで考えるのも楽しいし、やってみればいいと思うよ
752デフォルトの名無しさん (スププ Sdff-Opz5)
2022/12/10(土) 20:59:17.91ID:Ns16Znepd753デフォルトの名無しさん (スププ Sdff-Opz5)
2022/12/10(土) 22:40:05.14ID:Ns16Znepd ABしか練習してなかったけどCまで解けて、
DはWAが少し出て時間切れでした残念。
でも緊張感あって楽しかったです。
DはWAが少し出て時間切れでした残念。
でも緊張感あって楽しかったです。
754デフォルトの名無しさん (ワッチョイ e7b0-cZRj)
2022/12/10(土) 22:43:34.37ID:6Z0a3kvJ0 今日は時間内に6完
755デフォルトの名無しさん (ワッチョイ 67bd-BsWY)
2022/12/10(土) 22:49:32.73ID:tlhyP2tP0 普通にE、Fの実装重かったね
756デフォルトの名無しさん (ワッチョイ bfe2-6Z9O)
2022/12/10(土) 22:51:50.49ID:O4kKtbHo0 D難しくなりすぎ・・・・。もらう方でやってバク取れず。2重dpでうまくいかない事に気づくまで40分。
757デフォルトの名無しさん (ワッチョイ 67b1-URIU)
2022/12/10(土) 22:56:44.55ID:q492UgBQ0 寝てたら終わってた草
758デフォルトの名無しさん (スププ Sdff-Opz5)
2022/12/10(土) 23:04:25.58ID:Ns16Znepd D解けた人の境界見たら、1245位だったのでかなり難解だったんですね。
ダメ元でサンプル通ったから提出したら当然WAでしたが解説見てもさっぱりでした。
少しずつアルゴリズムというものを勉強したいと思います。
ダメ元でサンプル通ったから提出したら当然WAでしたが解説見てもさっぱりでした。
少しずつアルゴリズムというものを勉強したいと思います。
759デフォルトの名無しさん (ワッチョイ 4799-70Cd)
2022/12/10(土) 23:04:45.70ID:WdAZ/8IS0 editor使わず糞アットコの糞サイトbuiltin editorだけで書いてみた
やっぱり全然だめだな(´・ω・`)
やっぱり全然だめだな(´・ω・`)
760デフォルトの名無しさん (ワッチョイ 67bd-BsWY)
2022/12/10(土) 23:11:10.88ID:tlhyP2tP0 総和が○○のときの△△を求めよ、みたいな形はナップサックDPであることが多いね
761デフォルトの名無しさん (ワッチョイ bfe2-6Z9O)
2022/12/11(日) 00:16:52.91ID:sLVycVhX0 同じ問題のレートが1年で50下がってるんだから、Dは茶色下くらいを目指そう
762デフォルトの名無しさん (ワッチョイ 5fbd-FFNn)
2022/12/11(日) 01:07:10.13ID:Jt/PvfWs0 よかった
俺の調子が悪かったわけじゃないのか
三重ループまでなんとなくわかってたけど実装が複雑になりそうでできなかった
俺の調子が悪かったわけじゃないのか
三重ループまでなんとなくわかってたけど実装が複雑になりそうでできなかった
763デフォルトの名無しさん (テテンテンテン MM8f-jcmT)
2022/12/11(日) 02:02:20.83ID:pBXkhdRDM Ex見てるがやっぱり分割統治FFTいつまで経っても慣れんな
764デフォルトの名無しさん (ワッチョイ a701-u86g)
2022/12/11(日) 02:54:41.11ID:7rOr8/1H0 愛知ループは三重の三倍難しいと言われてるからな。。
765デフォルトの名無しさん (ワッチョイ 7fe6-KKgq)
2022/12/11(日) 08:11:02.37ID:7I6zjj+w0 DPや二次元配列などでarray型の生配列を使う例が多いのは慣習的なものですか?
処理が速いとか利点があるのでしょうか?
処理が速いとか利点があるのでしょうか?
766デフォルトの名無しさん (アウアウウー Sa6b-XIDy)
2022/12/11(日) 08:55:06.62ID:Mvtwu1hIa arrayより楽な選択肢なんかある?
arrayじゃダメなときは当然そっち使うにしても
arrayじゃダメなときは当然そっち使うにしても
767デフォルトの名無しさん (ワッチョイ 67ad-RuF0)
2022/12/11(日) 09:07:28.08ID:6A4ez8rK0 青安定のために参戦を決めていたのですがぐっすり寝てしまい出れなかったであります🤓
768デフォルトの名無しさん (ワッチョイ 7fe6-KKgq)
2022/12/11(日) 18:45:09.52ID:7I6zjj+w0 >>766
デバッグしたい時などにあれこれ配列の中身除くのにvector配列の方が扱いやすいなと思って使ってました
解説でもDPでvector使ってることもあればarray配列使ってたりと別れるので好みとは思うのですが
何かarray型を選ぶ利点があるのか素朴な疑問でした
>>arrayじゃダメなときは当然そっち使うにしても
array使ってる例が多い気がしたのでvectorからarrayに変更して試してたのですが
vectorに慣れすぎていて逆に使いづらいと思ってvectorに戻しました
ダメな時に結局vectorにするのでそれなら最初からvectorで統一しようかなと
まだ経験少ないので試行錯誤してみます
デバッグしたい時などにあれこれ配列の中身除くのにvector配列の方が扱いやすいなと思って使ってました
解説でもDPでvector使ってることもあればarray配列使ってたりと別れるので好みとは思うのですが
何かarray型を選ぶ利点があるのか素朴な疑問でした
>>arrayじゃダメなときは当然そっち使うにしても
array使ってる例が多い気がしたのでvectorからarrayに変更して試してたのですが
vectorに慣れすぎていて逆に使いづらいと思ってvectorに戻しました
ダメな時に結局vectorにするのでそれなら最初からvectorで統一しようかなと
まだ経験少ないので試行錯誤してみます
769デフォルトの名無しさん (ワッチョイ c75f-KW+8)
2022/12/11(日) 20:50:40.50ID:OXIrt9Sb0 特に多次元にしたときに顕著だけどarrayの方がvectorより速いし省メモリ
770デフォルトの名無しさん (アウアウアー Sa4f-PRdN)
2022/12/11(日) 21:02:26.53ID:T9/ITlNya 初期値をINFで埋めるとかしたいときは vector でコンストラクタ使うかな それ以外は生配列
array は使う機会ない
array は使う機会ない
771デフォルトの名無しさん (ワッチョイ a77c-OyuS)
2022/12/11(日) 21:52:54.88ID:yzn51s/N0 map の key にする時なんかはvectorよりかarrayのが早いパターンが多い気がする
772デフォルトの名無しさん (ワッチョイ 7fe6-KKgq)
2022/12/11(日) 21:59:28.13ID:7I6zjj+w0773デフォルトの名無しさん (ワッチョイ bf7a-WVhJ)
2022/12/11(日) 22:56:42.06ID:wyaxD1Cj0 2次元までの配列ならvector 使うけど3次元以上になると生配列使う
宣言や初期化で文字数が増えるのが嫌
宣言や初期化で文字数が増えるのが嫌
774デフォルトの名無しさん (ブーイモ MMbb-ejuF)
2022/12/11(日) 23:05:39.85ID:AimMYYQ4M そもそも std::vector と std::array って比較するようなものじゃない気が……
775デフォルトの名無しさん (ワッチョイ a701-KKgq)
2022/12/11(日) 23:35:42.07ID:xpQepGE40 自分はもっぱらvectorで、生配列もstd::arrayも競プロじゃほとんど使ってないけどそれでTLEやMLEしたことはないし自分が使いやすいほうでいいよ
776デフォルトの名無しさん (ワッチョイ bf7a-WVhJ)
2022/12/11(日) 23:44:16.93ID:wyaxD1Cj0 マラソンだと上位人はよくarray使ってる印象
777デフォルトの名無しさん (アウアウアー Sa4f-PRdN)
2022/12/12(月) 00:55:20.18ID:L4LAFoUJa マラソンは定数倍高速化した分だけループ回数増えてスコア伸びるからじゃね
アルゴなら5msのACも1900msのACも変わらんし、AtCoderでC++使っててarrayならギリギリ通るみたいなのはそもそも他の何かが間違ってると思った方がよさそう
アルゴなら5msのACも1900msのACも変わらんし、AtCoderでC++使っててarrayならギリギリ通るみたいなのはそもそも他の何かが間違ってると思った方がよさそう
778デフォルトの名無しさん (アウアウウー Sa6b-u86g)
2022/12/12(月) 05:57:59.81ID:KG5/v6vGa 定数倍高速化してギリギリ通るの、平方分割的な半分嘘解法など?
779デフォルトの名無しさん (ササクッテロ Sp1b-7eHa)
2022/12/12(月) 08:27:45.85ID:tiuAOnkep ミラー・ラビンとかポラード・ローを使った高速な素因数分解アルゴリズムって競プロでの使用頻度どれくらい?
昨日のこどふぉのCの問題設定が微妙でこの高速な素因数分解アルゴリズムじゃないと計算量的に怪しかった(実際は√nの素因数分解アルゴリズムを定数倍高速化するのでも通るっぽい)んだけど存在を忘れてたせいで解けなかった
昨日のこどふぉのCの問題設定が微妙でこの高速な素因数分解アルゴリズムじゃないと計算量的に怪しかった(実際は√nの素因数分解アルゴリズムを定数倍高速化するのでも通るっぽい)んだけど存在を忘れてたせいで解けなかった
780デフォルトの名無しさん (ワッチョイ df10-NKnn)
2022/12/12(月) 09:29:21.46ID:Ei5MD97h0 自分も解けなかった
自分が解いてきた限りではミラーラビンやロー法じゃないと解けない問題は見たことない
なぜ10^6にしなかったのか謎
自分が解いてきた限りではミラーラビンやロー法じゃないと解けない問題は見たことない
なぜ10^6にしなかったのか謎
781デフォルトの名無しさん (ブーイモ MM8f-ejuF)
2022/12/12(月) 10:59:24.92ID:cdBddvHVM 高速素因数分解が前提の問題は普通にあるけど AtCoder の rated コンでは出なさそう
Codeforces も基本出さない方針な気がするけど writer の次第だからわからん
Codeforces も基本出さない方針な気がするけど writer の次第だからわからん
782デフォルトの名無しさん (ササクッテロ Sp1b-7eHa)
2022/12/13(火) 05:21:16.73ID:uiBmFvT2p こどふぉ来週の月曜日までほぼ毎日コンテストあるんだけど過密すぎるでしょ
783デフォルトの名無しさん (ワッチョイ 7f46-5DNi)
2022/12/13(火) 09:46:33.18ID:HgDhzteS0 コドゲやるぞやるぞ
784デフォルトの名無しさん (ササクッテロ Sp1b-7eHa)
2022/12/16(金) 16:05:11.86ID:2WRHo5T/p 蟻本4.4章の巡回スケジューリング問題(円環上での区間スケジューリング問題)のソートを除いたO(N)解法って何?
円環を切って2つ繋げて区間にして考えるのかなって思ったけど上手くいかない気もするし元の問題が見つからないから確かめることも難しい
円環を切って2つ繋げて区間にして考えるのかなって思ったけど上手くいかない気もするし元の問題が見つからないから確かめることも難しい
785デフォルトの名無しさん (ワッチョイ a701-uLmq)
2022/12/16(金) 20:10:17.03ID:R8AxMjl90 各区間を頂点として、蟻本の解法の中で構築してるnextを辺としたグラフを考えると、なもりグラフになっててサイクルをちょうど一つだけ含む
答えはこのグラフ上のパスで表せる
サイクルに含まれない頂点を含む解を考えると、パスの始点と終点を一つ進めたものも有効な解であることが示せるので、
全ての頂点がサイクルに含まれるようなパスだけ考えればいい
あとはサイクルの上でしゃくとり法みたいなことやればできそう
で合ってるかな……?
答えはこのグラフ上のパスで表せる
サイクルに含まれない頂点を含む解を考えると、パスの始点と終点を一つ進めたものも有効な解であることが示せるので、
全ての頂点がサイクルに含まれるようなパスだけ考えればいい
あとはサイクルの上でしゃくとり法みたいなことやればできそう
で合ってるかな……?
786デフォルトの名無しさん (ワッチョイ a701-uLmq)
2022/12/16(金) 21:07:39.53ID:R8AxMjl90 しゃくとり法しないでもサイクル上の適当な頂点から始めて極大な解を一つ取れば大丈夫か
787デフォルトの名無しさん (ササクッテロ Sp1b-7eHa)
2022/12/16(金) 22:19:14.38ID:1iEDLF9Cp >>785
確かにグラフ上で考えると求める区間の選び方はサイクルに含まれることが必要で、辺の数=頂点の数と全ての頂点の出次数1から全体としてはなもりグラフ的な感じにはなりそうだからだいたいその方針で良さそうっぽいな
ありがとう
確かにグラフ上で考えると求める区間の選び方はサイクルに含まれることが必要で、辺の数=頂点の数と全ての頂点の出次数1から全体としてはなもりグラフ的な感じにはなりそうだからだいたいその方針で良さそうっぽいな
ありがとう
788デフォルトの名無しさん (ワッチョイ c3b0-+kRg)
2022/12/17(土) 21:30:59.31ID:1O9afRlw0 全完出ました
789デフォルトの名無しさん (ワッチョイ c3b0-+kRg)
2022/12/17(土) 21:44:36.74ID:1O9afRlw0 2位と3位が2秒差
790デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/17(土) 22:41:47.95ID:Ougsnu4Va Dさぁ、過去問から漁れないと時間的に無理だろ
791デフォルトの名無しさん (ワッチョイ e6e2-Tv+0)
2022/12/17(土) 22:48:54.79ID:8O7j2b6E0 D通ったけど難易度高すぎ。E,Fの位置にしとけと。
792デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/17(土) 22:49:30.45ID:Ougsnu4Va つーか、Dって
連結がない頂点がある場合、答えは0じゃないよね?
追加したら二部グラフになりえると思うんだけど
このケース考えて完全に迷走した
連結がない頂点がある場合、答えは0じゃないよね?
追加したら二部グラフになりえると思うんだけど
このケース考えて完全に迷走した
793デフォルトの名無しさん (ササクッテロ Spb3-GZpS)
2022/12/17(土) 22:51:41.65ID:I7m2bma6p E全域木になるの言われたらそうなんだけど見えなかったし精進が足りて無いのかな
Dは数ヶ月前だったらEに置いてあった気もするしインフレしすぎ
Dは数ヶ月前だったらEに置いてあった気もするしインフレしすぎ
794デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/17(土) 22:53:14.13ID:8NnsdriJ0795デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/17(土) 22:53:56.18ID:8NnsdriJ0 あ、N*2ではないわ・・・、すまん
796デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/17(土) 22:54:02.71ID:ZH4mYY1r0 D問題
やり方として
・まずは連結グラフに分解する
・連結グラフが3以上だった場合は無理判定をする
・そして各連結グラフ毎に
とりあえず各頂点に黒と白を割り振って、
このグラフそのものが2部グラフになっているかを判定する
2部グラフになっていた場合に、各連結グラフごとに自信が持ってる
反対の色の頂点数-頂点数をanswerに足していく
そして、各連結グラフについては
グラフ1の黒数×グラフ2の黒数
グラフ1の黒数×グラフ2の白数
グラフ1の白数×グラフ2の黒数
グラフ1の白数×グラフ2の白数
の4つを足す
っていう解法を思いついたんだけど、グラフ問題といたことなかったから、各頂点がどの気に属しているかっていう判定ができなかった
俺のやり方、・まずは連結グラフに分解する
さえクリアできテレバこのやり方であっていた?
やり方として
・まずは連結グラフに分解する
・連結グラフが3以上だった場合は無理判定をする
・そして各連結グラフ毎に
とりあえず各頂点に黒と白を割り振って、
このグラフそのものが2部グラフになっているかを判定する
2部グラフになっていた場合に、各連結グラフごとに自信が持ってる
反対の色の頂点数-頂点数をanswerに足していく
そして、各連結グラフについては
グラフ1の黒数×グラフ2の黒数
グラフ1の黒数×グラフ2の白数
グラフ1の白数×グラフ2の黒数
グラフ1の白数×グラフ2の白数
の4つを足す
っていう解法を思いついたんだけど、グラフ問題といたことなかったから、各頂点がどの気に属しているかっていう判定ができなかった
俺のやり方、・まずは連結グラフに分解する
さえクリアできテレバこのやり方であっていた?
797デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/17(土) 22:55:32.46ID:ZH4mYY1r0 cまでは10分ちょっとでクリアできるようになったけど、
dがここ一か月難しい気がする
酒のみすぎかしら
dがここ一か月難しい気がする
酒のみすぎかしら
798デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/17(土) 22:57:13.17ID:Ougsnu4Va >>796
そう思ったけど、解説にはその点が触れられてない
そう思ったけど、解説にはその点が触れられてない
799デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/17(土) 22:59:39.92ID:Ougsnu4Va いや、それがあのBとWの入れ替え関数式か。
D解けた人良くここまで計算し切ったね
グラフの計算に二部グラフの計算加えて、
さらに計算式も考えるとかやりきれんよ。
D解けた人良くここまで計算し切ったね
グラフの計算に二部グラフの計算加えて、
さらに計算式も考えるとかやりきれんよ。
800デフォルトの名無しさん (ササクッテロ Spb3-GZpS)
2022/12/17(土) 23:02:27.38ID:I7m2bma6p 自分は余事象じゃなくて普通に足し合わせたけど、二頂点が異なる連結成分にある場合は後から色を合わせられるから全通りOKっていうのを最初は見逃してた
801デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/17(土) 23:05:00.09ID:ZH4mYY1r0 グラフの分解ってどうやるのがいいの?
普通はdfsでグラフは見ていくんだろうけど、
for分で回すのも違うと思うし、unionFindとかで調べることになるの?
普通はdfsでグラフは見ていくんだろうけど、
for分で回すのも違うと思うし、unionFindとかで調べることになるの?
802デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/17(土) 23:13:31.41ID:8NnsdriJ0 おれはUnionFindつかってないよ
まあ使ったほうが見通しが良いなら使ってもいい
2部グラフとして考え、連結成分ごとに2色に塗り分けて、色ごとの頂点の数を数えて、組み合わせを計算して足し合わせた
これだけ
まあ使ったほうが見通しが良いなら使ってもいい
2部グラフとして考え、連結成分ごとに2色に塗り分けて、色ごとの頂点の数を数えて、組み合わせを計算して足し合わせた
これだけ
803デフォルトの名無しさん (ワッチョイ e6e2-Tv+0)
2022/12/17(土) 23:23:39.77ID:8O7j2b6E0 青の人が3完だったらしーからD解けなくても全く問題ない気がする
804デフォルトの名無しさん (ワッチョイ ea10-1XWL)
2022/12/17(土) 23:28:22.91ID:M78ib0lA0 グラフの分解は、
visited[v]: 頂点vを訪問したか
を用意して、for (int v=0; v<N; v++) で visited[v]がFalseなら、
そのvからbfsをして、visitedを更新しながら、色々やる
という方法でやってる
二部グラフ判定なら、visitedは頂点の色の配列で代用できる
visited[v]: 頂点vを訪問したか
を用意して、for (int v=0; v<N; v++) で visited[v]がFalseなら、
そのvからbfsをして、visitedを更新しながら、色々やる
という方法でやってる
二部グラフ判定なら、visitedは頂点の色の配列で代用できる
805デフォルトの名無しさん (アウアウウー Sa9f-GdW4)
2022/12/17(土) 23:31:28.58ID:XFakiAR1a Nが最大で2*10^5だから、たぶん解法はO(N)だろうとあたりをつける
つまり、おそらく「頂点iから伸ばしてもいい辺の本数」を定数時間で求めさせるのが想定解だろうと予想できる
色々考えると「頂点iから伸ばしてもいい辺の本数」は
(頂点iと同じ連結成分に属している、頂点iと違う色の頂点の数) - (頂点iの次数) + (頂点iが属していない全連結成分の頂点数)
だと求まるから、この総和が答えって感じで解けた
つまり、おそらく「頂点iから伸ばしてもいい辺の本数」を定数時間で求めさせるのが想定解だろうと予想できる
色々考えると「頂点iから伸ばしてもいい辺の本数」は
(頂点iと同じ連結成分に属している、頂点iと違う色の頂点の数) - (頂点iの次数) + (頂点iが属していない全連結成分の頂点数)
だと求まるから、この総和が答えって感じで解けた
806デフォルトの名無しさん (ワッチョイ 3b01-44eU)
2022/12/17(土) 23:39:16.37ID:st/Rnmpd0 >>796
連結成分は3つ以上あってもいいよ
連結成分は3つ以上あってもいいよ
807デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/17(土) 23:39:58.72ID:ZH4mYY1r0 >>804
なるほど!サンクス
なるほど!サンクス
808デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/17(土) 23:44:00.79ID:ZH4mYY1r0 >>806
3つ以上あると駄目じゃない?
連結グラフA,B.Cがあったとして
AとBはつなぐことできてもCは繋がらないから全体として2部にならない
って言おうと思ったけど問題文に「追加して得られるグラフ」は
ってあるね
ここも組み合わせが必要になるのか
20万頂点全部が独立したグラフだったら(M=0と書いてるし)
20万×19万9999/2になりそうだな
その場合どうやって回避してるの?
3つ以上あると駄目じゃない?
連結グラフA,B.Cがあったとして
AとBはつなぐことできてもCは繋がらないから全体として2部にならない
って言おうと思ったけど問題文に「追加して得られるグラフ」は
ってあるね
ここも組み合わせが必要になるのか
20万頂点全部が独立したグラフだったら(M=0と書いてるし)
20万×19万9999/2になりそうだな
その場合どうやって回避してるの?
809デフォルトの名無しさん (ワッチョイ 3b01-44eU)
2022/12/17(土) 23:48:00.53ID:st/Rnmpd0810デフォルトの名無しさん (ワッチョイ 3b01-cTaC)
2022/12/17(土) 23:48:21.10ID:TrtUePRr0 みんな当たり前のように解いてて凄えわ
まずは3完出来るようになりたい
まずは3完出来るようになりたい
811デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/18(日) 00:02:11.91ID:eWCJrp150 今回のはDにしては難しかったし、あんまE問題ぐらいの難度だと認識してよさそうではある
2部グラフの特徴を考えつつ、場合の数を立式して計算しないといけないから、
自分で解いてても、「Dでこんなややこしいことしないといけないの? 方針ミスったか?」って不安になりながら解いてた
2部グラフの特徴を考えつつ、場合の数を立式して計算しないといけないから、
自分で解いてても、「Dでこんなややこしいことしないといけないの? 方針ミスったか?」って不安になりながら解いてた
812デフォルトの名無しさん (ワッチョイ 7ee6-e5AJ)
2022/12/18(日) 00:10:19.26ID:FIRAaHDO0 Cがたまに解ける程度の参加数回の灰色です
全探索とbit全探索はたくさんやったので次に何をやったら良いか
最初に覚えるアルゴリズムのおすすめを1つか2つくらい教えてください
ちなみにDPは10問くらいやってみたのですが理解が進まず一旦保留してます
DPの初見問題だと何を当てはめれば良いのか分からずコピペ出来るようなものしか正解出来ません
全探索とbit全探索はたくさんやったので次に何をやったら良いか
最初に覚えるアルゴリズムのおすすめを1つか2つくらい教えてください
ちなみにDPは10問くらいやってみたのですが理解が進まず一旦保留してます
DPの初見問題だと何を当てはめれば良いのか分からずコピペ出来るようなものしか正解出来ません
813デフォルトの名無しさん (ワッチョイ 5334-ZR1D)
2022/12/18(日) 00:14:22.07ID:HDBBZBFh0 >>812
累積和と二分探索勧めたいです
https://qiita.com/e869120/items/eb50fdaece12be418faa#%E5%8B%95%E7%9A%84%E8%A8%88%E7%94%BB%E6%B3%95%E5%8C%BA%E9%96%93-dp
こういうの見ながらやると学びやすいかも
累積和と二分探索勧めたいです
https://qiita.com/e869120/items/eb50fdaece12be418faa#%E5%8B%95%E7%9A%84%E8%A8%88%E7%94%BB%E6%B3%95%E5%8C%BA%E9%96%93-dp
こういうの見ながらやると学びやすいかも
814デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/18(日) 00:18:22.74ID:5nfx19Yz0 >>809
各独立した連結グラフがあったとして、解き方としてはそれぞれの色のパターン4色かけ合わせた解き方をするじゃない?
その組み合わせ数が、例えば全部20万個の点が全てどれとも連結していなくて独立だった場合、
20万から2つの組み合わせを全て調べるっていうようになると組み合わせ爆発が起きるんじゃないかって思ったんだけど
各独立した連結グラフがあったとして、解き方としてはそれぞれの色のパターン4色かけ合わせた解き方をするじゃない?
その組み合わせ数が、例えば全部20万個の点が全てどれとも連結していなくて独立だった場合、
20万から2つの組み合わせを全て調べるっていうようになると組み合わせ爆発が起きるんじゃないかって思ったんだけど
815デフォルトの名無しさん (ワッチョイ 7ee6-e5AJ)
2022/12/18(日) 00:21:29.77ID:FIRAaHDO0816デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/18(日) 00:23:25.03ID:eWCJrp150817デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/18(日) 00:26:21.80ID:eWCJrp150818デフォルトの名無しさん (ワッチョイ 5334-ZR1D)
2022/12/18(日) 00:37:00.80ID:HDBBZBFh0819デフォルトの名無しさん (ワッチョイ dabd-CLTW)
2022/12/18(日) 00:37:33.08ID:5nfx19Yz0 >>816
んんんん??
だって連結グラフA,B,Cがあったとして、それぞれの黒点白点を4通りかけ合わせるわけじゃん
結局、ab,bc,caのように 20万C2の組み合わせについて調べないといけないことにならない??
んんんん??
だって連結グラフA,B,Cがあったとして、それぞれの黒点白点を4通りかけ合わせるわけじゃん
結局、ab,bc,caのように 20万C2の組み合わせについて調べないといけないことにならない??
820デフォルトの名無しさん (アウアウクー MMf3-HAQX)
2022/12/18(日) 01:02:37.00ID:Un2uABCHM >>819
vector<pair<long long, long long>> v;
に各連結成分の頂点数 {黒, 白} が入ってると思ってくれ
long long ans=0, sum=0;
for (auto [a,b] : v) {
ans += a*b // 同じ連結成分で違う色の2頂点の組の数
ans += (a+b)*sum; // 違う連結成分なら同色の2頂点も可
sum += a+b; // 見終わったやつは足す
}
あとは既に張られてる辺 M 本引けばいい
vector<pair<long long, long long>> v;
に各連結成分の頂点数 {黒, 白} が入ってると思ってくれ
long long ans=0, sum=0;
for (auto [a,b] : v) {
ans += a*b // 同じ連結成分で違う色の2頂点の組の数
ans += (a+b)*sum; // 違う連結成分なら同色の2頂点も可
sum += a+b; // 見終わったやつは足す
}
あとは既に張られてる辺 M 本引けばいい
821デフォルトの名無しさん (ワッチョイ 7ee6-e5AJ)
2022/12/18(日) 01:10:08.07ID:FIRAaHDO0 >>818
ありがとうございます、上から順番にやってみつつ且つ自分のやりやすい順序で埋めてみます
ありがとうございます、上から順番にやってみつつ且つ自分のやりやすい順序で埋めてみます
822デフォルトの名無しさん (ワッチョイ eabd-tVF/)
2022/12/18(日) 01:23:59.15ID:VXpf7ZWU0823デフォルトの名無しさん (ワッチョイ eabd-tVF/)
2022/12/18(日) 01:29:09.60ID:VXpf7ZWU0824デフォルトの名無しさん (ワッチョイ eabd-tVF/)
2022/12/18(日) 01:37:39.53ID:VXpf7ZWU0 そうか。。普通に感動した
競プロの人たちすごいな
愚直にやるやり方しか思いつかなかった5chやっててよかったって今初めて思ったくらい感動しました
ありがとう
競プロの人たちすごいな
愚直にやるやり方しか思いつかなかった5chやっててよかったって今初めて思ったくらい感動しました
ありがとう
825デフォルトの名無しさん (ワッチョイ eabd-tVF/)
2022/12/18(日) 01:45:40.04ID:VXpf7ZWU0826デフォルトの名無しさん (アウアウクー MMf3-HAQX)
2022/12/18(日) 02:04:39.56ID:Un2uABCHM827デフォルトの名無しさん (ワッチョイ 8bb9-5evz)
2022/12/18(日) 02:13:34.94ID:W2G5o+in0 二部グラフか判定
連結成分のペアに対して要素の個数の積出す(累積和使う)
連結成分の内部でいい感じな計算
とかやったけど結構コード長くなってしまった
連結成分のペアに対して要素の個数の積出す(累積和使う)
連結成分の内部でいい感じな計算
とかやったけど結構コード長くなってしまった
828デフォルトの名無しさん (ササクッテロ Spb3-GZpS)
2022/12/18(日) 02:13:42.38ID:8rlMlDEcp >>824
愚直にコードを書いて解けるのはABC-BかCまでで、それ以上の問題は愚直に実装すると問題の制限を超過するからどう工夫するかが問われて応用的になると思っていいよ
ここからアルゴリズムやらデータ構造やらが活躍するんだけど、業務とかで役立つ機会は少ないし(寧ろABC-C以下みたいに愚直に書く機会の方が多い)から役に立たない云々言われることがあるって感じだと思ってる
愚直にコードを書いて解けるのはABC-BかCまでで、それ以上の問題は愚直に実装すると問題の制限を超過するからどう工夫するかが問われて応用的になると思っていいよ
ここからアルゴリズムやらデータ構造やらが活躍するんだけど、業務とかで役立つ機会は少ないし(寧ろABC-C以下みたいに愚直に書く機会の方が多い)から役に立たない云々言われることがあるって感じだと思ってる
829デフォルトの名無しさん (ワッチョイ 7eb2-CLTW)
2022/12/18(日) 02:33:16.14ID:9rjazUL60 俺も累積和取る感じでやったけど解説の方がスッキリしてるな
830デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/18(日) 09:11:43.17ID:oY6X+UMna831デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/18(日) 09:16:03.59ID:oY6X+UMna >>825
あ、ごめんその前の計算式か
まずは実際にありえる辺の総数を求めて、
最後に繋がってる本数を引くって事
例題の場合
白2,黒3だから2*3がありえる辺の総数になって、
そこから引かれている4本を引くと答えの2本が出る
重複なしとか前提があるから出来る方法だけど
そう言う私もD解けなかったですけどねw
あ、ごめんその前の計算式か
まずは実際にありえる辺の総数を求めて、
最後に繋がってる本数を引くって事
例題の場合
白2,黒3だから2*3がありえる辺の総数になって、
そこから引かれている4本を引くと答えの2本が出る
重複なしとか前提があるから出来る方法だけど
そう言う私もD解けなかったですけどねw
832デフォルトの名無しさん (ワッチョイ db2d-ZR1D)
2022/12/18(日) 14:06:43.40ID:ymgsFwaZ0 c問題で水色とか紫とかがTLE出しまくってるの見ると
何やってるんだと思うよね
何やってるんだと思うよね
833デフォルトの名無しさん (ワッチョイ 2abd-tVF/)
2022/12/18(日) 15:01:37.69ID:MTKzjrMB0 C問題って間違えようがないと思うんだけど、
どういうところで間違えるんだろう
どういうところで間違えるんだろう
834デフォルトの名無しさん (ワッチョイ b3ad-opAy)
2022/12/18(日) 15:25:33.21ID:V0HgyU5o0 Pythonなら答えの文字列を文字列のまま作るとかすればTLEじゃね
835デフォルトの名無しさん (ワッチョイ e6e2-Tv+0)
2022/12/18(日) 15:27:06.21ID:jOkKJleE0 なんとなく多重ループ正規表現でやってTLEしても気にしないくらいの寛容性が必要
836デフォルトの名無しさん (ワッチョイ b3ad-opAy)
2022/12/18(日) 15:29:13.85ID:V0HgyU5o0 PythonistはListで保持してjoinする癖を叩き込まないといかんのじゃ(´・ω・`)
837デフォルトの名無しさん (ササクッテロ Spb3-GZpS)
2022/12/18(日) 21:15:22.71ID:7ZxBUPRFp 紫ならそもそもこどふぉの話では
838デフォルトの名無しさん (アウアウウー Sa9f-YsT+)
2022/12/19(月) 12:13:17.90ID:j4becYJFa atcoder probrems をダークテーマにしてると青が紫になるからそれじゃね
839デフォルトの名無しさん (アウアウウー Sa9f-yMMU)
2022/12/19(月) 15:28:31.49ID:mlNqZ/yUa この競技のレートって絶対評価?相対評価?
レート自体は相対評価に見えるのに、レートに対する評価は絶対評価に見えるのおかしくない?
曲がりなりにもロジックの天才達が作ったシステムなのにこんな欠陥ある?
レート自体は相対評価に見えるのに、レートに対する評価は絶対評価に見えるのおかしくない?
曲がりなりにもロジックの天才達が作ったシステムなのにこんな欠陥ある?
840デフォルトの名無しさん (ワッチョイ e6e2-Tv+0)
2022/12/19(月) 15:33:52.49ID:umNN1xHI0 それは思う。正規分布的なレートの平均が200以下で、プログラマ一般では灰色上でかなり優秀ハズなのに茶色が雑魚という事になっておる。茶色でも一通りのアルゴリズムは使えるハズ。
841デフォルトの名無しさん (ワッチョイ d7a4-pKhS)
2022/12/19(月) 15:42:55.81ID:j+/VmCNx0 社長曰くこんな感じだから、安心していいでしょ
https://twitter.com/chokudai/status/1474258242452987907
AtCoderがそのまま役立つ業務ってだいぶ少なくて、
【評価高】は赤まで、
数理最適化・研究開発
【評価中】は青~水まで、(黄もまれに?)
バックエンドエンジニア・機械学習エンジニア
【評価低~評価無】は水~茶色まで、
その他のITエンジニア
くらいがプラス評価になります。関連度が高ければ高いほど高いレートが評価されやすくなり、逆に低いと低いレートですぐカンストしちゃう、って感じ。
評価低に関しては「コードが書けることが保証されてる」くらいのアピールにしかならないです。
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/chokudai/status/1474258242452987907
AtCoderがそのまま役立つ業務ってだいぶ少なくて、
【評価高】は赤まで、
数理最適化・研究開発
【評価中】は青~水まで、(黄もまれに?)
バックエンドエンジニア・機械学習エンジニア
【評価低~評価無】は水~茶色まで、
その他のITエンジニア
くらいがプラス評価になります。関連度が高ければ高いほど高いレートが評価されやすくなり、逆に低いと低いレートですぐカンストしちゃう、って感じ。
評価低に関しては「コードが書けることが保証されてる」くらいのアピールにしかならないです。
https://twitter.com/5chan_nel (5ch newer account)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機がレーダー照射 小泉防衛大臣の説明に「矛盾している」中国外務省報道官が批判 [♪♪♪★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- (´・ω・`)30万貸して
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
- ホロライブの天音かなたと角巻わためが不仲な理由ってなんなん???
- 死にたい
- ( ・᷄ὢ・᷅ )寝るか
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
