X



競技プログラミング総合スレ 65
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (オッペケ Srdf-v7Gx)
垢版 |
2022/12/26(月) 12:47:37.63ID:CkzYHyzir
!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/

※前スレ
競技プログラミング総合スレ 64
https://mevius.5ch.net/test/read.cgi/tech/1664700238/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0003デフォルトの名無しさん (ワッチョイ 07b9-+Dix)
垢版 |
2022/12/28(水) 11:48:49.25ID:a6/n2za+0
社長曰く以外の感じなので、例えばバックエンドエンジニアで良い評価が欲しいなら青色くらい必要
https://twitter.com/chokudai/status/1474258242452987907

AtCoderがそのまま役立つ業務ってだいぶ少なくて、
【評価高】は赤まで、
数理最適化・研究開発
【評価中】は青~水まで、(黄もまれに?)
バックエンドエンジニア・機械学習エンジニア
【評価低~評価無】は水~茶色まで、
その他のITエンジニア

くらいがプラス評価になります。関連度が高ければ高いほど高いレートが評価されやすくなり、逆に低いと低いレートですぐカンストしちゃう、って感じ。

評価低に関しては「コードが書けることが保証されてる」くらいのアピールにしかならないです。
https://twitter.com/5chan_nel (5ch newer account)
0008デフォルトの名無しさん (ワッチョイ 17e6-dxp0)
垢版 |
2022/12/29(木) 17:03:59.96ID:9T4aEcS90
問題文によってX軸とY軸がどの方向か明記されていない場合どうすれば良いのでしょうか

左右方向がX軸
上下方向がY軸
と思って解いていたら解説の画像見ると真逆でした

例えば鉄則本のB09 - Papers
0009デフォルトの名無しさん (ワッチョイ adbd-MkkF)
垢版 |
2022/12/29(木) 17:05:49.24ID:w08nm0DJ0
>>3
プラス効果実感できそうなのが青くらいというのはそうなのかもしれない
茶色以上だったら、ないよりはある方がマシって場面はたくさんあると思うけどね
こんなのセルフプロモーション力次第だから、そこがヘタクソだと何色でも…というところがあるかな
0011デフォルトの名無しさん (ワッチョイ adbd-MkkF)
垢版 |
2022/12/29(木) 17:15:02.16ID:w08nm0DJ0
>>8
本持ってないので確認できないけど、確かに普通数学では左右がx軸、上下がy軸方向で書かれることが多いからちょっと混乱する人もいるかも
問題見た限り、答えに影響しないのでどっちで書いてもいいってことで、逆に書いたんじゃないかな
ちなみに競プロだと配列の添字の関係で逆に書く場合のメリットもあるんだよね(この問題はそのメリットも別にないけど)
明記されてない場合はほぼ答えに影響しない場合だから、勝手に自分の中で決めればいいと思う、影響するんなら質問タブから聞こう
0013デフォルトの名無しさん (アウアウウー Sa71-+Dix)
垢版 |
2022/12/29(木) 17:19:36.13ID:oSKPPGt3a
軸の方向なんてだいたいどうでもいいよ
自分の好きに描いてくれとしかいえない
向きの考慮必要な問題なら普通は記載されてる

ただまあ実装としては配列操作の都合上、どっちかのほうが簡単になることはあるので、
賢いひとだと考察や実装しやすいように柔軟に向きを入れ替えてるかな
0017デフォルトの名無しさん (ワッチョイ 0b0c-7dni)
垢版 |
2022/12/29(木) 17:53:57.43ID:YzoArJYh0
質問
apg4bが終わったばかりの競プロ初心者だけど、次に読めばいい本は3つのうちのどれですか?
・競技プログラミングの鉄則
・問題解決のためのアルゴリズム×数学
・アルゴリズムとデータ構造
0023デフォルトの名無しさん (ワッチョイ 2b01-7HIL)
垢版 |
2022/12/29(木) 19:01:07.31ID:zROXqcZ10
蟻本完璧に咀嚼しきれたら青〜黄色はいけると思うしアレは中級者向けでしょ
螺旋本は教養としては大事だけど傾向が若干違う気もするし鉄則本かけんちょん本が良さそう
0027デフォルトの名無しさん (ワッチョイ c7a4-PQsC)
垢版 |
2022/12/29(木) 19:32:12.24ID:bDkXL6yD0
蟻本は難易度的には、第2章が普通に初心者向けの内容だし、初心者でも読めるでしょ
ただジャッジがPOJとかだったりして不便、という理由があるために今どきの入門者向けではないかなあ

基礎問題のあとにいきなり難易度が上がった問題が出てきたりするけど、そういうのを飛ばせば誰でも読めるだろうし、
そういうのも全部習得していけばABC卒業できるほどの基礎力が付く

鉄則本は基礎問題が中心に載ってて、解説もわかりやすいから、数学力に自信のない初心者にはとてもおすすめ
0028デフォルトの名無しさん (ワッチョイ 6b7a-V47g)
垢版 |
2022/12/29(木) 20:01:46.63ID:iTlEyNON0
おじさんが学生の頃は螺旋本読んで蟻本読んだら青になれた
最近は新しい本出てるらしいけど読んだことがないので何色向けか分からない
0035デフォルトの名無しさん (ワッチョイ 0b0c-7dni)
垢版 |
2022/12/30(金) 00:20:49.75ID:Jg6kHZTu0
数学は特に得意でも不得意でも無いよ
あと、プログラミングの経験はほとんど無くてAPG4bが初めてと言っても過言では無いと思う
上で挙げた3つの本の他にけんちょんさんが書いてるAtCoder入門なんかも良さそう
0043デフォルトの名無しさん (ワッチョイ e355-s0Sd)
垢版 |
2022/12/30(金) 14:57:53.70ID:3r6Oj/Bn0
初等整数論とか組合せ論の初歩についてあまり詳しくないけれど、
プログラミングコンテストでは強いっていう人はいるんですか?

プログラミングコンテストで強い人はみな数学にも強いのではないですか?
0044デフォルトの名無しさん (テテンテンテン MM97-EBNJ)
垢版 |
2022/12/30(金) 15:18:16.52ID:jg66J2pLM
プログラミングコンテストにもいろいろあって、競技プログラミングのアルゴリズムという分野のコンテスト(具体的にはAtCoderのABC、ARC、AGCは全部そう)は、整数、組合せ論の問題が離散数学の一部として出題されるので、もろに成績に関係する
一方で、ヒューリスティックだったりKaggleに関しては、実はそうでもないんじゃないかという気がする
当然、基礎的な能力として、整数と組合せ論を最低限勉強しておいた方が離散数学的な操作に慣れて思考の助けになるところはあると思うし、勉強さえすればレベルの高いところまでできるような人がいずれのコンテストでも上に来ると思うけど
0045デフォルトの名無しさん (ワッチョイ 2b01-7HIL)
垢版 |
2022/12/30(金) 15:41:25.54ID:SISDjQCo0
組合わせ論・数論の精選とかパーフェクトマスターみたいな数オリ用対策用の参考書って競プロにも役立つの?たまに買ってる人見かけるけど黄色以上で効くのかな
0047デフォルトの名無しさん (ワッチョイ e355-s0Sd)
垢版 |
2022/12/30(金) 15:47:04.57ID:3r6Oj/Bn0
繁野麻衣子著『ネットワーク最適化とアルゴリズム』を買いましたが、積読状態です。
この本は競技プログラミングに役立ちますか?
0051デフォルトの名無しさん (ワッチョイ e355-s0Sd)
垢版 |
2022/12/30(金) 16:10:15.82ID:3r6Oj/Bn0
>>44,48,50
ありがとうございました。

>>50
読んでみます。
0053デフォルトの名無しさん (オッペケ Sr1f-v7Gx)
垢版 |
2022/12/30(金) 18:23:53.70ID:iKE0Xuujr
最悪計算量と何ができるか知ってるだけでも競プロでは使えるな
順位クエリ処理できる二分探索木の仕組み分かってないけど他人のライブラリコピペして使ってるわ
0061デフォルトの名無しさん (テテンテンテン MMb6-izKP)
垢版 |
2022/12/31(土) 15:07:27.00ID:ST9eXwUwM
LC木の上位互換でLC木に乗らないものが乗ったりするが、そもそもLC木自体がマニアックでAtCoderではなかなか使用機会ないだろうな
強いデータ構造がなきゃ解けない問題、強いデータ構造で一瞬で解けてしまう問題をAtCoderがそもそも好まないというのもあるし
0066デフォルトの名無しさん (ワッチョイ 1a55-9yt5)
垢版 |
2022/12/31(土) 18:22:00.74ID:zJ9NYHz+0
>>65
ところで、束論はどの本で勉強しましたか?
離散数学の本にすこしだけ書いてあることがありますが、役に立ちますか?
0067デフォルトの名無しさん (ワッチョイ dbbd-9j0N)
垢版 |
2022/12/31(土) 18:40:09.52ID:iNV3O62Z0
>>66
min, maxの一般化であるってことと定義を知っているってだけで、まともに勉強したことないかなあ
どこで最初に知ったんだろ、雪江代数にあったっけ?
ゼータ変換を束を使って捉え直すことができるみたいなのはあった気がするけど、束論自体をつきつめることが直接競プロにプラスになる感じではない印象
というか、抽象代数の勉強は全般的にそんな感じな気がする
0074デフォルトの名無しさん (ワッチョイ 1a55-9yt5)
垢版 |
2023/01/01(日) 10:12:49.91ID:+0Q+h7mh0
>>67
ありがとうございました。
0084デフォルトの名無しさん (ワッチョイ 5bb3-3363)
垢版 |
2023/01/03(火) 00:54:06.77ID:u0M4IWsD0
AtCoderの過去問って他人の提出検索できるけど、case_11.txt だけ間違えてるやつ一覧みたいのって取ってこれるんかな?
0086sage (オッペケ Srbb-A544)
垢版 |
2023/01/03(火) 01:14:46.33ID:3U7/noadr
>>84 >>85
もしかして: AtCoder Companions
0093デフォルトの名無しさん (ワッチョイ 369a-dguQ)
垢版 |
2023/01/05(木) 06:17:26.70ID:7AKtp3Yz0
重複組合せの式nHrで、整数のオーバーフローをできるだけ避けて計算したいのですが

とある、場合の数を数える問題で、普通はたぶんDP的に解くんだけど、規則的な形だった
ので、「これって重複組合せじゃん」と見抜いたんですよ
でnHrを例の階乗の公式(n+r)!/n!/r!で計算して、テストケースを走らせるとnやrが小さい
のは通るのでやはりおkらしい。ただnやrが大きくなると階乗がオーバーフローしてしまう
解が数式で求まったのに数値的にはそんなに便利じゃないって?

でも普通nHrの計算って分子と分母でキャンセルして結果は大きくならないことが多い
ですよね。うまいこと変形したらオーバーフローしなさそう。もしそういうのが既にあれば
nHrの漸化式みたいので計算する手もありそう、って結局DPみたいなことしてる気がw
0097デフォルトの名無しさん (ワッチョイ 362a-3363)
垢版 |
2023/01/05(木) 12:36:04.14ID:BpZRjrYb0
パスカルの三角形で計算する方が確実かな
0098デフォルトの名無しさん (ワッチョイ 369a-dguQ)
垢版 |
2023/01/05(木) 12:51:55.08ID:7AKtp3Yz0
>>96
どうもです。が、n, mは実際には100ぐらいまでいくようで(すみません)、
リンク先の最初のコードだと 100 C 99 とかで間違った答えが。おっとクヌース先生敗北?

こういう場合は普通にCの性質より 100 C 99 = 100 C (100-99) = 100 C 1 とすれば
精度も計算量も良さそうです
というわけで... 全テストケースクリアしました! ありがとうございます
0100デフォルトの名無しさん (ワッチョイ 369a-dguQ)
垢版 |
2023/01/05(木) 13:23:09.26ID:7AKtp3Yz0
>>99
そうですね、nCrで r=n/2付近はでかい数になりますよね
テストケースではそういう場合は除外されているようです

そういうわけで、組み合わせを直接計算するとテストケースでは64bit整数がいるんですが、
組み合わせの直接計算でなく、DPで再帰的に場合の数を計算するようなコードだと
32bit整数で大丈夫な感じなんですが... ええと
0101デフォルトの名無しさん (ワッチョイ 369a-dguQ)
垢版 |
2023/01/05(木) 13:39:53.75ID:7AKtp3Yz0
ああそうか、それが実質的には >>97 パスカルの三角形を上向きに登っていくのと等価なの
かな。三角形がでかい場合はあんま三角形の底辺の真ん中の方には行かない場合のみで
と自己納得w
0105デフォルトの名無しさん (アウアウウー Sa85-mbJl)
垢版 |
2023/01/07(土) 22:45:57.01ID:LoL6HnAVa
Dの解説読んでもわけわからん
まず、割り切れるのがわかってるんだから、iの最大値なんて関係なくない?

iの2乗で割り切れる時に解が見つかるとして計算したけど時間内に解が求められなかった。
糞問題じゃないのこれ?
0110デフォルトの名無しさん (ワッチョイ 11bd-vxq+)
垢版 |
2023/01/07(土) 22:52:05.10ID:SPR4wSEy0
問題は全然クソじゃないと思うけど、i=1,2,…,⌊N^(1/3)⌋のうち、N が i で割り切れるような最大の i って書き方が何か変で、i=2,…,⌊N^(1/3)⌋のうちNを割り切る最小のiと言った方が正しいような気がする
0113デフォルトの名無しさん (アウアウウー Sa85-mbJl)
垢版 |
2023/01/07(土) 22:58:15.60ID:LoL6HnAVa
あー、二乗の計算時間もだめだってのか。効率化難しいな。
sqrt使うところに頭が向かわなかったわ。
お前らよく解けるねこれ...
0114デフォルトの名無しさん (アウアウウー Sa85-mbJl)
垢版 |
2023/01/07(土) 22:59:01.50ID:LoL6HnAVa
>>105
打ち切った。でもダメだった。
0119デフォルトの名無しさん (アウアウウー Sa85-mbJl)
垢版 |
2023/01/07(土) 23:04:53.24ID:LoL6HnAVa
>112
すまん、冷静に考えたら打ち切ってない
必ず1個の解が見つかるはずで、解が見つかったら打ち切ったら良いんだから、N^(1/3)までカウントアップしないと思ったんだ。だから、N^(1/3)で止めるロジックは無意味だと思ってる。

ただ、自分のやり方だと解を二乗根に絞って計算したせいで最大値がN^(1/2)/2になってしまったんだね。
そのせいか...
0120デフォルトの名無しさん (ワッチョイ 11bd-vxq+)
垢版 |
2023/01/07(土) 23:06:46.63ID:SPR4wSEy0
>>119
>必ず1個の解が見つかるはずで、解が見つかったら打ち切ったら良いんだから、N^(1/3)までカウントアップしないと思ったんだ。だから、N^(1/3)で止めるロジックは無意味だと思ってる。
確かにそれはそう、ナンセンスな質問ですまない
O(N^(1/2))になってたのがTLEの原因っぽいね
0121デフォルトの名無しさん (ワッチョイ 89a4-UqYJ)
垢版 |
2023/01/07(土) 23:08:57.85ID:j8FCEvhl0
EやFはサクッと解けたけど、おれもDはちょっとギョッとしたよ
おれも数学弱だな
てかEなんてほぼナイーブで解けるレベルに感じたし、500点問題としてはあまりにも簡単すぎでは
0125デフォルトの名無しさん (ワッチョイ 5bba-wqvi)
垢版 |
2023/01/08(日) 01:25:51.19ID:4thZdV2f0
ついこないだライブラリ作ったポラード・ローの高速素因数分解でDをしばき倒せたので良かった
0126デフォルトの名無しさん (アウアウウー Sa85-YvRn)
垢版 |
2023/01/08(日) 11:32:11.67ID:4xTAT7w0a
Dは簡単すぎて本当にこれでいいのか何度も見直したんだが

まず2から順に素数で割っていって割り切れたものがpかq
さらに同じ数で割って割り切れたらp確定
その場合はp*pで割った商がq

割り切れなかった場合はその素数がqなので割った商の平方根がp
0134デフォルトの名無しさん (ササクッテロラ Sp4d-Qi0w)
垢版 |
2023/01/08(日) 12:22:05.66ID:xVz3ul4wp
>>133
p,qのうちの大きくない方は必ずNの立方根(2×10^6程度)になって、昇順から自然数を見ると割り切れた時点で素因数なのは確定するから素数の判定は実は関係ない(だからp,qが最悪ケースの√N(10^9オーダー)であっても素数判定をする必要はない)っていうのがDのポイントだと思う
0143デフォルトの名無しさん (ササクッテロラ Sp4d-Qi0w)
垢版 |
2023/01/08(日) 12:56:12.81ID:xVz3ul4wp
昇順に素因数を確認する方針を取れば自然と10^6程度までで解が求まるけど、実際にはその方針に辿り着けないような人もいて、正解の方針を取らないで何も考えずにp、qの素数判定をしたりすると間に合わなくなるからそこで篩い落としてるっていう話
別に間違いを指摘してるわけではない
0152デフォルトの名無しさん (ワッチョイ 09da-Ty5h)
垢版 |
2023/01/08(日) 19:48:45.82ID:PbV2sMf50
初歩的なプログラミングに慣れてきたから、ABCの過去問を解いてるんだけど、解説を読んでも意味不明な場合はどうすればいいんだ?ABC284のC問題が何度読んでもよく分からない 深さ優先探索とか幅優先探索なんてAPG4bになかった気がする頭がどうしようもなく悪いみたいだから競プロやめようかな
0161デフォルトの名無しさん (ワッチョイ 11bd-AyIk)
垢版 |
2023/01/08(日) 20:11:16.79ID:gWSxWaz50
幅優先探索も深さ優先探索もUnionFindも知識的な話で、知らなきゃ理解に詰まるのはしょうがない
解説は基本かなりダイジェスト気味だから、一回もう少し詳しいサイトなり本で勉強すればいいと思うよ
0162デフォルトの名無しさん (ワッチョイ 01da-dpd0)
垢版 |
2023/01/08(日) 20:12:44.36ID:4UuUf9f70
桁数が多い平方数の平方根ってどう計算するのが正しいのかな。単に sqrt 取って int にキャストするのだと計算誤差の関係で sqrt の小数点以下が .9999989 みたいになっていたら困るし、だからと言って sqrt に任意の小さい数(0.001 とか)を足してから int にキャストするのも格好悪いし。あるいは元の数が long long で収まる大きさだったら sqrt はピッタリ求まるのかな。
0164デフォルトの名無しさん (ワッチョイ 01da-dpd0)
垢版 |
2023/01/08(日) 20:34:40.46ID:4UuUf9f70
>>163
確かに。でも round が安心して使えるなら、昨日の問題とは別に一般の素因数求めるコードで for (int i = 2; i * i <= n; i++) ってよく見かけるけど、for (int i = 2; i <= round(sqrt(n)); i++) と書いたほうが掛け算の回数が減っていいんじゃないかと思ったわ(計算時間の差は微々たるものだろうけど)。鉄則本での配列の宣言にもあった A[100007] とかと同じで競プロ業界のお作法なのかしら。
0167デフォルトの名無しさん (ワッチョイ db5c-rAHO)
垢版 |
2023/01/08(日) 20:40:17.96ID:8iA8H0pf0
浮動小数点数は値がデカいとスッカスカになって、例えば一定以上の大きさの奇数を表せなかったりするのが怖いんだよな
sqrtぐらいならなんだかんだうまくいくのかもしれないけど俺は浮動小数点数と仲良くないからsqrtは二分探索書いてる
0168デフォルトの名無しさん (ワッチョイ 01da-dpd0)
垢版 |
2023/01/08(日) 20:54:43.75ID:4UuUf9f70
>>166
そっか、n の値を別の変数 m とかにコピーして、ループ内では m の方を素因数で割っていくイメージだったのですが(その場合 n は不変なのでコンパイラがちゃんと仕事をしていれば sqrt の計算は1回のみ)、i * i <= n で上限チェックをしているコードはループ内で n を変えていく想定なわけですか。
0171デフォルトの名無しさん (ワッチョイ c6e6-f6s+)
垢版 |
2023/01/14(土) 20:20:04.00ID:o0xk1/qD0
正月ボケで開催日を間違えて今年最初のABCを見逃してしまいました
昨年末から精進するのを休憩してプログラミングから全く離れていたので
ぶっつけでABC284やってみたらあっさりCまで解けて安心しました

そろそろ参加10回くらいになりますがDの壁が高過ぎると感じているので
灰色のまましばらく解けるものを確実にこなせたらと思います
ずっと毎日精進するのはストレスに感じ始めていたので
コンテスト前などの気の向いた時だけ勉強するようにしてみます

と書いてて今からやる気満々だったABC285は明日じゃん...
ARCは問題見ただけで自分の無能さを思い知るので見ないでおきます
0172デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/14(土) 23:01:05.01ID:lOE4TlVsa
C、判定も分割方法もわかったけどそこから回答例出す方法思いつかなかった...
今から説明読んで精進します
0173デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/14(土) 23:06:25.55ID:lOE4TlVsa
Bは無理だと思って捨てたけど
1,2の位置だけでわかるのかよ...
なんかそんなに行列が壊れないようなトリックになってそうとは思ったけど、
まさかここまでとは...全然気づかなかった。
0174デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/14(土) 23:09:19.49ID:lOE4TlVsa
むしろ、奇数偶数さえ押さえてれば1の場所だけで良いのか。
0180デフォルトの名無しさん (ワッチョイ c6e6-f6s+)
垢版 |
2023/01/15(日) 22:40:40.75ID:hjFyqJMa0
やっぱ日頃から精進してないとABCまででも苦戦しますね
問題文が何を問うているのか理解するのに時間が掛かりすぎるのと
解法のイメージは出来ているのにちょっとした関数を用意してないだけで
わざわざ場当たり的に実装して手間取ったり

C問題解けたのが終わる直前でDは無理だと思ったので順位表見てたら
snukeさんがC解いたのが7分台と知って
自分の無能さを痛感しました
0181デフォルトの名無しさん (ワッチョイ 1abd-hn8B)
垢版 |
2023/01/15(日) 22:40:49.45ID:d5cspaf50
dic = {}
flag = True


def find(tt, update=None):
if update:
if dic[tt] == tt:
dic[tt] = update
return
cc = dic[tt]
dic[tt] = update
find(cc, update)
return
if dic[tt] == tt:
return tt
p = find(dic[tt])
dic[tt] = p
return p
0182デフォルトの名無しさん (ワッチョイ 1abd-hn8B)
垢版 |
2023/01/15(日) 22:41:06.05ID:d5cspaf50
for i in range(int(input())):
a, b = input().split(" ")
if a in dic and b in dic:
for temp in (a, b):
find(temp)
if dic[a] == dic[b]:
flag = False
break
new_ = dic[b]
find(a, new_)
elif a in dic:
dic[b] = dic[a]
elif b in dic:
dic[a] = dic[b]
else:
dic[a] = a
dic[b] = a
print("Yes") if flag else print("No")
0183デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/15(日) 22:41:25.41ID:C77/nrWVa
D...
サイクルになるとNGとなるようにプログラムが作りきれなかった。
Cの問題を応用すれば良いのはわかるのに、単純に時間内に改良出来ん。
もったいなかったなぁ、、、
0184デフォルトの名無しさん (ワッチョイ 1abd-hn8B)
垢版 |
2023/01/15(日) 22:44:59.43ID:d5cspaf50
そういえば今度応用情報受験するんだけど、競プロ勢(といっても俺はガチ初心者レベルだが)
にとって午後のアルゴリズム問題って得意だったりするんだろうか
0186デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/15(日) 22:47:08.29ID:C77/nrWVa
>>179
酷かろうが作ったもの勝ちだよw
dfsにこだわったのは悪くない筈なんだけど、
全探索にして、上書き発生したらNGにするだけなのに、色々脱線して組めなかったわw
最後の最後で初期値1にしてた事に気付いたしw
0188デフォルトの名無しさん (ワッチョイ 1abd-hn8B)
垢版 |
2023/01/15(日) 22:49:53.12ID:d5cspaf50
union-find自分で実装するのめんどくさかったから最初どこかからコピペしようとしてたわ

けど、通常のユニファイと違って文字列のアクセスだからどうやって応用したらいいかがわからなかった

>初期値1
これはなんのこと?
0189デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/15(日) 22:50:56.98ID:C77/nrWVa
>>187
1週間が5000日とか気が遠くなるなw
0195デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/15(日) 22:54:41.45ID:C77/nrWVa
>>188
Cの問題をそのまま利用(大文字小文字だけは違うけど)して英字列を数値に変換したんだよ

最近のdfs絡みって全部初期値が0か1の問題だけだったので、そのまま組んでしまってて、、、
でも例題がそれで通ってたせいで迷走してしまった。
0197デフォルトの名無しさん (アウアウウー Sa91-wtyD)
垢版 |
2023/01/15(日) 23:04:31.35ID:C77/nrWVa
>>196
よくよく考えたらグラフに置き換えるのに数値に変換する必要もないですね・・・
グラフ問題出たら最低でもノータイムで解けるようにしとかないといかんですね。
勿体ない時間が多すぎた。
0201デフォルトの名無しさん (アウアウウー Sa91-wtyD)
垢版 |
2023/01/15(日) 23:09:14.98ID:C77/nrWVa
>>200
大きい方を小さい方で割った答えが2ならYes
0203デフォルトの名無しさん (アウアウウー Sa91-wtyD)
垢版 |
2023/01/15(日) 23:12:18.99ID:C77/nrWVa
>>199
>離散的な数字を生成するのならメリットはあまりない
その通り・・・C問題の後で、これは数値に置き換えると効率よくなるはずだ!
って声に従って変換してました・・・が意味なかったですね。

なんというか、学校等の模試って1問前の問題を応用することが多くて、
それが完全に染みついてるんですよね。
0204デフォルトの名無しさん (テテンテンテン MMde-Vhgm)
垢版 |
2023/01/15(日) 23:12:58.55ID:ybL1uer8M
Aは完全二分木の頂点を配列上で管理する話で、発展的な知識で思考をショートカットできる系の問題と言ってもいいかもしれんな(これぐらいなら再発明するやついっぱいいるだろうが)
ARC/AGCの低難度で出る一見アドホックな問題もこういう感じだったりするんだろうか
0205デフォルトの名無しさん (アウアウウー Sa91-wtyD)
垢版 |
2023/01/15(日) 23:13:17.67ID:C77/nrWVa
>>202
自分は法則探しに時間使ったので、ある意味力業の方が早かったかもしれません。
0206デフォルトの名無しさん (ワッチョイ 15bd-wtyD)
垢版 |
2023/01/16(月) 11:42:48.72ID:hJPb0sEP0
>>194
AtCoderは日本で現役最強格の人や、世界的にも最強に近かった日本人選手が運営で作問作業のコアな部分に携わってるから出られなくて、ランキングにいない
それを差し引いても、中国や東欧の方がやや強いけど
0208デフォルトの名無しさん (ワッチョイ c6e6-f6s+)
垢版 |
2023/01/16(月) 16:21:39.59ID:KeLZ+3YK0
>>204
過去のABの比じゃなく難解だったので飛ばして
C→B→Aの順で解きましたが
全条件を組み込みするのは絶対に嫌だったので
何か法則があるんだろうなと捏ねくり回してたら2倍か2倍+1に気づいたので
if文1行で解けましたが解説見ると知ってる人や上位の方が1-2分で解けるのも納得です

考えて解く問題より知ってるかどうかって問題が多い気がしますが
どちらにしてもD問題の壁が高過ぎるのは変わらないので
DNAとかIQなど持って生まれたもので精進レベルではどうにもならない感が半端無いなと思います
0211デフォルトの名無しさん (テテンテンテン MMde-Vhgm)
垢版 |
2023/01/16(月) 17:56:32.76ID:b6PEgRZ5M
努力でどこまでできるかについては諸説あるが、知識がないうちは自分が知識あれば解けるかどうかすらも分からんもんで、最初のレートの伸びが悪くても一旦勉強してみてから考えてもいいんじゃないか
ABCのD突破するのに要る知識だったら普通のエンジニアリングで遭遇するものも多いから、そこまで損はない
0213デフォルトの名無しさん (ワッチョイ ed01-rIBt)
垢版 |
2023/01/16(月) 18:02:24.18ID:74DJbkLX0
少なくともD問題くらいまでに関しては毎回かなり典型的な知識しか要求されないし問題も素直なものが多いからそのレベルだとセンスとか関係なく訓練すれば迷わず書けるようになると思う
0214デフォルトの名無しさん (テテンテンテン MMde-Vhgm)
垢版 |
2023/01/16(月) 18:10:09.09ID:b6PEgRZ5M
それとレートの伸びが早くて天才に見える人も、中学受験とか数学オリンピックで競プロの役に立つ思考パターンを予めたくさんインプットされてるのがデカいんじゃないかって話もあるからな
0215デフォルトの名無しさん (ワッチョイ 4a55-sAzJ)
垢版 |
2023/01/16(月) 18:14:52.41ID:YizsHMWj0
AtCoderの社長の人の本を少し読みましたが、アカデミックな香りが全くしません。
そういう人が非常に強いというのが不思議です。
逆にアルゴリズムが専門の大学教授は強いのだろうかと疑問に思ってしまいます。
0216デフォルトの名無しさん (テテンテンテン MMde-Vhgm)
垢版 |
2023/01/16(月) 18:19:44.82ID:b6PEgRZ5M
弱い相関はあるだろうが、基本別の能力だぞ
極論チェスプレイヤーが数学者として成功できるかみたいな話
逆にアルゴリズムの世界的な研究者がCodeForcesでそんなに強くなかったりな
高齢だからしょうがない部分もあるが
0217デフォルトの名無しさん (ワッチョイ 9510-FHMQ)
垢版 |
2023/01/16(月) 18:45:28.99ID:6Zqlh15Z0
アルゴリズムや関連理論を知っていることと時間内にアルゴリズムを問題に適用できるかは別だしな
だから研究者でも寒色は全然よくある
まぁ若い頃に精進すればもっと上に行ってただろうけど、それをする必要があるかはさておいて
0218デフォルトの名無しさん (アウアウウー Sa91-C5Rw)
垢版 |
2023/01/16(月) 19:26:15.35ID:RX3YYcWAa
>>214
作問者はそういう経歴を辿ってるひとだらけだから傾向は偏っている
アカデミックな研究者が作問してたらもっと別な傾向になるだろう。新しく発表されたアルゴリズムを元ネタにした作問とかしそう
0227デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/19(木) 07:34:58.63ID:pYXSCk3La
>>226
解説読んで無いからよくわからんけど26進法じゃないの?
書いてある方法の解き方がよくわからんw
0237デフォルトの名無しさん (ワッチョイ ed01-rIBt)
垢版 |
2023/01/19(木) 17:30:26.00ID:4HEHet1z0
その問題特有の性質じゃなくてc++だとpow関数がdouble型を返す仕組みになってることが原因だから問題の本質とは関係ない
pow関数は誤差が怖いから他の方法を使って累乗を求めた方がいい
0238デフォルトの名無しさん (アウアウウー Sa91-PwPr)
垢版 |
2023/01/19(木) 21:38:50.39ID:+9XmtH7na
225,226の言ってる事が理解できて勉強になった
楽したいが為に使おうとしちゃうけど、関数の使い所って難しいね
0239デフォルトの名無しさん (ワッチョイ c6e6-f6s+)
垢版 |
2023/01/20(金) 02:33:59.68ID:diHqYdLq0
C++のpowあるあるひっかけ問題だなと察して
場当たり的に自作powぽいものを実装してACしましたが
以前他人様の提出見た時に自作powをテンプレ化してる人が複数人いて
なんでだろうと疑問に思っていましたがこういう時に役に立つのだと思いました

ちょっとしたことですがこういう典型的な自作関数などのテンプレを用意しておくだけで
数秒から数分の節約になるんだなと思いました

教プロやってる人にとっては知ってて当然のことなのかもしれませんし
これを知識と言うのか典型と言うのか分かりませんがテンプレなどの事前の準備が大事なんですね
0240デフォルトの名無しさん (ワッチョイ 0507-EebW)
垢版 |
2023/01/20(金) 08:50:50.07ID:mtsSyn0E0
>>237
いいや、doubleが溢れる桁数を問う問題を兼ねてるからいい問題と言ったんだよ
doubleだけじゃなくlong longでも同じことが起こり得るから本質に気づいてないお前は気をつけとけよ
0242デフォルトの名無しさん (アウアウウー Sa91-EebW)
垢版 |
2023/01/20(金) 11:53:34.18ID:2M3lLN52a
>>241
わかんない?
困ったな
doubleは整数部と小数部で計算が違うから整数部のみ使う場合において誤差は発生しないんだよ
ただし整数部が大きくなりすぎると指数を使って下の桁を小数部に回すから誤差が発生するようになる
doubleで扱えなくてlong longで扱える整数の範囲ということを問題から読み取る必要があるってことね

long longも大きくなりすぎると負の数になって計算が狂うから知らなかったなら気をつけなよ
0244デフォルトの名無しさん (JP 0H8e-hMQo)
垢版 |
2023/01/20(金) 12:13:09.15ID:hTaThntwH
よくわからないんだけど、pow(a, b)は普通exp(b*log(a))で実装されてるから整数の自然数乗だろうが非整数を扱うことになるんだけど、そういう話ではない?
0245デフォルトの名無しさん (アウアウウー Sa91-EebW)
垢版 |
2023/01/20(金) 12:25:06.54ID:2M3lLN52a
>>244
そういう話ではないな
俺はpowじゃなくdoubleの話をしてる
処理系の実装で整数のpowでもわざわざ小数を使ってるせいで誤差が出るとするとそもそも戻り値がdoubleだろうがlong longだろうがpowを使うなという話になるな
つまりdoubleじゃなくpowの実装がザコいせい
0248デフォルトの名無しさん (JP 0H29-EsBK)
垢版 |
2023/01/20(金) 12:59:28.86ID:EBHG8O+MH
前回のARCのCとDを焼きなましでやってるのを見てAHC初心者から見るとすごいなーと思うばかりなんだけど、こういうのって近傍設計が肝なんだろうか
0264デフォルトの名無しさん (ワッチョイ cfe6-88l+)
垢版 |
2023/01/21(土) 21:40:34.12ID:9dRSa5Al0
なんか毎週こんなことやってる自分が急に虚しくなってきた
生まれつき頭の良い人達だけが楽しめるものなんでしょうね
勉強してどうにかなるようなものじゃないって薄々気がついてたけど
毎回自分の無能さを思い知るだけの罰ゲームは終わりにします
0265デフォルトの名無しさん (ワッチョイ cfe6-88l+)
垢版 |
2023/01/21(土) 21:48:06.59ID:9dRSa5Al0
初見で解法が思いつかない
解説を少しづつ見てヒントを小出しにしつつなるべく自力で解く
それでもどうにもならないから写経する

知ってるか知らないか
覚えてるか覚えてないか
テンプレ作ってるか作ってないか
初見で解けるか解けないか

そりゃ流行るわけ無いですよ
極一部の出来る人しか楽しめない
上位も全体も外人だらけ

フェードアウトした人多そう
0267デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/21(土) 22:43:38.68ID:o/n0Og29a
BとCでつまづいたせいでD解けなかった
Cはもうちょいシンプルに解けるやつにしてくれよw
0269デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/21(土) 22:45:39.87ID:o/n0Og29a
Bはnnのケース忘れてた
Cは最小0円を忘れてた
限られた時間だと短縮しすぎてこういうの漏れちゃうね
0271デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/21(土) 22:46:13.44ID:o/n0Og29a
>>268
もうパフォ出てる?
0274デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/21(土) 22:51:36.48ID:o/n0Og29a
>>268
全抜多いからでは?
0277デフォルトの名無しさん (ワッチョイ 53a4-1noB)
垢版 |
2023/01/21(土) 23:09:02.32ID:hrtV3vjP0
>>260,265
マジレスしておくと、ある程度のレベルまでは間違いなくガチ暗記ゲーだからね
異常な天才は競プロ対策してなくても解けまくれるかもしれんけど、普通のひとにとっては暗記ゲー

そしていろんなことを暗記しまくると(理解度が深まってくると)、応用もどんどん効いて難しい問題も解けるようになる

まあ大学受験とかでも同じだろ
基礎を暗記してからようやく応用ができるようになる
0281デフォルトの名無しさん (ワッチョイ cfe6-88l+)
垢版 |
2023/01/22(日) 02:25:58.37ID:byEukdaY0
>>277
CD程度の問題を見て解法が思いつかず何やっても無理だと悟って
あまりの自分の無能さに嫌気がして
悪態をついた愚痴にマジレスしてくれる優しさに救われます

暗記ゲーにしては範囲が広すぎるし
勉強することを精進だと自分に言い聞かせてましたが
毎回理解出来ないものを永遠と写経するだけになっていて
初見で解法が思いつかないことが苦痛とストレスになって
病みそうなレベルなので
精神衛生的にも少し教プロから距離をおくつもりです
0282デフォルトの名無しさん (ワッチョイ 53a4-1noB)
垢版 |
2023/01/22(日) 03:04:01.89ID:mUOTz0yy0
>>281
まあ、プログラミングというより数学の競技だと思っておけば安心するだろうね

大学受験数学は当然として、中学受験数学で学ぶようなテクニックが活用できたりするし、
そういう受験数学のエリートがさらにアルゴリズムをめっちゃ勉強して競い合うのが競技プログラミングだ

もし中学受験とかやってないのに、そういう連中に追いつき越えたいなら、そういうエリートがやってるよりもはるかな修練が必要だよ
まあそういうエリートは数学的な問題を解くのが大好きだから現時点の瞬間的な修練量でさえなかなか超えられないだろう
アルゴリズムやデータ構造というより数学そのものの勉強も必要になってくるしね
0284デフォルトの名無しさん (ワッチョイ 3312-vBfl)
垢版 |
2023/01/22(日) 09:04:17.31ID:aVfD/yvN0
「競技」プログラミングが十分な勉強と対策をしなくてもできるなら、もうそれは競技じゃないんよ
競技なんだから、勝ちたきゃ多くの対戦相手を蹴落とすだけの努力をしなきゃいけない
0286デフォルトの名無しさん (テテンテンテン MM7f-jfXb)
垢版 |
2023/01/22(日) 14:12:07.62ID:rNCNoAArM
ABCだったら初見力なんてそんなに大事じゃなくて、ちょっと変形された問題が解けることが重要だと思うんだよな
ちょっとの変形に対応できるかどうかの練習をするのにも、土台としてまず知識が要るので、知識ないうちは才能の有無すらわからんよ
むしろ初見力があっても知識不足だと解けないのがABC
AGCは逆に知識無くても初見で解けるやつもいるから、最初はABCよりAGCの方がパフォーマンス出やすいやつもいる
0288デフォルトの名無しさん (テテンテンテン MM7f-jfXb)
垢版 |
2023/01/22(日) 14:17:25.11ID:rNCNoAArM
ただ、瞬発的に解法を発想できないのは仕方ないにしても(知識不足だと発想の引き出しがないからそりゃ無理)、解説を読む段階になったら時間を掛けてでも書いてあることを理解するように心掛けないと類題を解けるようにならないと思うぞ
0289デフォルトの名無しさん (ワッチョイ 43bd-QR4B)
垢版 |
2023/01/22(日) 15:03:59.25ID:AkwiJ1wn0
800点はブレで結構解きやすいこともあるけど900点はきっちり難しい印象がある
ただ昔の問題だと1000点超えでもそんなでもない問題も稀にあるから決めつけで解けないと思うのもよくないんだろう
0296デフォルトの名無しさん (テテンテンテン MM7f-jfXb)
垢版 |
2023/01/22(日) 17:01:07.41ID:rNCNoAArM
<<はシフト演算子と言って、数値の各bitをずらす働きがある
例えば5はbitで表すと101だが、5<<2は10100だ
bitを1つ左にずらすごとに数字は2倍になるから、これは1の2^60倍をansに代入してる

ただずらす数字がint型だと、通常32bitだから60もずらしたら溢れるという問題がある
そこで1LLと書くことでlong long型の1であるとコンパイラに教えてやり、オーバーフローが起きないようにしてる
0298デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/22(日) 23:09:56.89ID:6Df8qFExa
正解してたんだけど、
Aの問題の99...353で割るタイミングってどこが適当なんだろう?
よくわからなさすぎて10^i全部に99…353で割って、更にA*B前にも99…353で割って、
最後の出力でも99…353で割ってしまった。
0300デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/22(日) 23:13:05.12ID:6Df8qFExa
お、ナメクジから初めてようやく茶色になれたw
こらからも頑張りますw
0301デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/22(日) 23:15:38.53ID:6Df8qFExa
>>297
Cまでは解きたかった、、、
遊びがない場合とで分けたかったんだけど、遊びがなくても完全一致のケースもあるし...と考えてたら時間足りなかった
場合分け発生するのによく速攻で出来るね
0303デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/22(日) 23:22:25.50ID:6Df8qFExa
>>302
積を99…353で割ってない事とか?
0307デフォルトの名無しさん (ワッチョイ 6301-CtYK)
垢版 |
2023/01/23(月) 00:35:02.59ID:e2sqACGY0
>>303
A
自分が解説の意図を勘違いしてるかもしれないけど、ajとbjを交換することを考えるなら、
aibj+ajbiとaibi+ajbj
ではなく
aibj+ajbiとaiaj+bjbi
を比較するべきでは

Cはいま見返したら問題なかった
自分が初見時に誤読したのか訂正されたのか分からん(圧縮後のBの長さ、って最初から書いてあったっけ)
0309デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/23(月) 08:36:16.47ID:WuUxtsL9a
>>307
自分の認識だけど
Aは解説。
307の言ってるのは解法。
Aの解説を達成するためには307で合ってるけど省略されてるという認識。
0311デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/23(月) 08:50:24.31ID:WuUxtsL9a
2*4+3*5と 2*5+3*4を比べる時
Aの解説は
2*4+3*5、3*5+2*4
どっちでも良いけどどっちかに大きい方を寄せると最小だよと言っている

307の計算が前提
0312デフォルトの名無しさん (アウアウウー Saa7-szjb)
垢版 |
2023/01/23(月) 12:13:39.30ID:WuUxtsL9a
>>311

2*4+3*5と 2*5+3*4を比べる時
Aの解説は
2*4+3*5の2と4が3、5よりそれぞれ小さい(
大きい)なら前者、そうじゃないなら後者だよって話

>
> 307の計算が前提
0320デフォルトの名無しさん (ワッチョイ 3312-vBfl)
垢版 |
2023/01/23(月) 17:10:24.74ID:5SV1YLwU0
区間部分列だと遷移ベクトルを考えるのがDISCO!とかにあったけど……今回は種類数が多いから辛いんだよな
種類が多いならAとBの先頭を出現数が最も少ない文字で固定すれば少しは速くなりそうだが、誤差程度だろうし
0324デフォルトの名無しさん (ワッチョイ 6301-Jja6)
垢版 |
2023/01/23(月) 20:48:26.48ID:EpAhrFYS0
ABC97 B Exponentialについて教えていただけませんか?
Python3です。

from math import sqrt

x = int(input())
ans = 1

for i in range(1,x+1):
if sqrt(i) % 1 == 0:
ans = i

print(ans)

これを提出するとtest4,6,7だけWAになります。
テストケースは検索したけど見つからず...。
よろしくお願いしますm(._.)m
0325デフォルトの名無しさん (ワッチョイ 6301-Jja6)
垢版 |
2023/01/23(月) 20:50:24.16ID:EpAhrFYS0
for文のインデントがおかしくなってますね(汗)
無視して下さい
0326デフォルトの名無しさん (ワッチョイ 0301-Ed7v)
垢版 |
2023/01/23(月) 21:32:24.11ID:zJTAvzbD0
>>324
pが3以上の場合も考える必要があります
0328デフォルトの名無しさん (ワッチョイ 6301-Jja6)
垢版 |
2023/01/23(月) 23:43:27.87ID:EpAhrFYS0
>>326
>>327
完全に勘違いしてました(汗)
ありがとうございます。
0329デフォルトの名無しさん (ワッチョイ 6301-DmZS)
垢版 |
2023/01/25(水) 05:47:55.43ID:9HW6STW20
プログラムだかソフトウエアだか忘れたけど、ひろゆきみたいに上から目線で君臨しているやつまだいるの?
たかが一般人のくせになw
0346デフォルトの名無しさん (ワッチョイ 53da-t7dt)
垢版 |
2023/01/27(金) 15:26:17.89ID:+2RNpRDo0
これのほうがいいか
しかも、これは1年半以上前のデータだからな
今は当時よりも参加者のレベルが上がってるから、東大生であっても緑まで行くのは相当苦戦するかも
Fラン大学とかだと茶色も無理なんじゃないか
https://docs.google.com/spreadsheets/u/0/d/1_rtU2geWnkZyOBYXyvPtcyn9GRfucd7GGFQqoGM5fZE/htmlview
0347デフォルトの名無しさん (ワッチョイ 6301-WvqW)
垢版 |
2023/01/27(金) 15:30:53.28ID:VQeG/t9u0
東大生が多いのは事実だけど全員が競プロに本気出してるわけではなくて適当にやってる人や合わなくて緑以下で辞めるような人もカウントされちゃってるから競プロに取り組んだ時間も結構重要よ
0351デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 22:42:28.61ID:zcB4u36+a
前回茶色になれて、今回Dで解けた。
ようやくEの世界と対峙する事が出来そう。
0353デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 22:44:30.61ID:zcB4u36+a
Cは楽な方法思いつかなかったから
鬼のように条件縛りしたけど、あれで良かったのかよw
0355デフォルトの名無しさん (ワッチョイ 0ee6-+rQD)
垢版 |
2023/01/28(土) 22:47:05.23ID:qgxER/Mk0
またCで誤解法でACしちゃったかも?
解説見ると条件3つあるのに
if文2個でダメ元で提出したらACしちゃった

ACLのDSUで入力してmergeして

条件2つだけ

if (d.groups().size() != 1) return false;
if (N - 1 != M) return false;

上記抜けたらYes
return true;

これって正しいですか?
ACしたのに自身が無い
0356デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 22:48:00.90ID:zcB4u36+a
>>342
これ、出典どこです?
0357デフォルトの名無しさん (ガックシ 06b6-aVnv)
垢版 |
2023/01/28(土) 22:50:49.59ID:ah21+Up06
>>355
4 3
1 2
1 3
1 4
とかはNoだけど、それだとYesになるかな
0360デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 22:53:14.42ID:zcB4u36+a
>>355
解説の1つ目の例で間違いなのになんで通るのかw
0363デフォルトの名無しさん (ワッチョイ 0ee6-+rQD)
垢版 |
2023/01/28(土) 22:56:20.81ID:qgxER/Mk0
あちゃー
また誤解法やらかしちゃいましたかね
ラッキーACの方が後でメンタル凹むのでWAにしてください
ダメ元とはいえテストケースで全部通ったから提出したけどやっぱり罠だったか
0368デフォルトの名無しさん (ガックシ 06b6-aVnv)
垢版 |
2023/01/28(土) 22:59:50.70ID:ah21+Up06
他の解法何も理解してないけどEはTrieが一番楽だと思ってる
0372デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 23:06:52.79ID:zcB4u36+a
>>371
解説に載ってるケースだから落としたいに決まってる
0374デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 23:09:01.81ID:zcB4u36+a
今週は
将棋→atcoder→将棋→atcoderだけの休みw
0379デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 23:10:33.81ID:zcB4u36+a
今週は
将棋→atcoder→将棋→atcoderだけの休みw
0380デフォルトの名無しさん (アウアウウー Sa47-muL6)
垢版 |
2023/01/28(土) 23:11:17.15ID:zcB4u36+a
なんかサーバがおかしいね
0383デフォルトの名無しさん (ワッチョイ 5bbd-DSsr)
垢版 |
2023/01/28(土) 23:24:23.55ID:fIsxhqrm0
Exって小さい方から追加してワーシャルフロイド的にやればできるよなーって思ってそこから進まなかったけど、そのまんまなんだね
bitsetでの高速化という発想がいつも頭から抜けてしまう
0388デフォルトの名無しさん (ワッチョイ e301-/38B)
垢版 |
2023/01/29(日) 09:03:53.81ID:MIUMphiq0
極端なテストケースを含めてない問題って意外とあるのかな
過去問を埋めてたんだけど、想定解では平方根で計算量を抑えるパートがあったのに普通にそこを全探索して通ってしまった
具体的にどの問題かとは言ってないからアレだけど自分で極端な場合を試してTLEすることは確認してる
0391デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/01/29(日) 14:53:32.40ID:0HFOdqfjM
昨日のExもbitset高速化が本質なところを、C++で愚直にO(N^3)やっても通るらしいし(勝手にコンパイラがベクトル化してくれてbitset高速化と等価な処理をしてくれる)、後半の問題でも非想定愚直解が通ることは普通にある
0396デフォルトの名無しさん (ワッチョイ e301-/38B)
垢版 |
2023/01/29(日) 23:03:56.11ID:MIUMphiq0
このwriterのARC-A問題毎回めちゃくちゃ難しくない?
Bすぐ気づけたから一命を取り留めたけどAの場合分けでごちゃごちゃさせすぎてWA量産してたから初めの一時間くらいは絶望状態だった
0408デフォルトの名無しさん (ワッチョイ 1712-hJuI)
垢版 |
2023/01/30(月) 15:34:29.73ID:o+SVBtiS0
Twitterで解決しなかったのでここで質問
昨日のARC-Cを手元でテストケース生成する時、値域は1≦A_i≦4で十分?
重複順列を全部生成しなくてもこれで網羅できてると思うんだけど、証明に自信が持てない
0410デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/01/30(月) 16:34:57.65ID:NXr6DkIHM
解答の場合分けを全部網羅できるかって話ならまあできてそうじゃないか
偶数も奇数も種類数は3以上いらないはず
コンテストジャッジのテストケースとして十分かという話だと、微妙な嘘解法とかに弱そうな予感がするが
0412デフォルトの名無しさん (ワッチョイ 1712-hJuI)
垢版 |
2023/01/30(月) 18:06:00.04ID:o+SVBtiS0
仮に無限個のテストケースを一瞬でジャッジできるとして、1≦A_i≦2e5で作った2e5^N通りのテストケースと1≦A_i≦4で作った4^N通りのテストケースは任意のコードに対して同じAC/WAの結果を返すという主張です
0414デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/01/30(月) 18:19:02.93ID:NXr6DkIHM
想定解の場合分けをするコードの出力なら一致する
しょうもない話をするが、57を見たら常にYesを出力も場合分け解法だと思うので、場合分け解法なら常に一致するとは限らない
0417デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/01/30(月) 18:30:03.28ID:NXr6DkIHM
>>415
意図が不明瞭なんだが、要するにコンテスト中のテストケースとして十分か知りたいのか?
すなわち自然に生えてくる嘘解法を落とすには十分かみたいな
任意の場合分け系解法に対して、みたいな話なら一致しないコードをいくらでも構成できるから偽だが
0418デフォルトの名無しさん (ワッチョイ 1712-hJuI)
垢版 |
2023/01/30(月) 18:30:45.18ID:o+SVBtiS0
あれだわ、こっちで証明書くから正しいか正しくないかだけ教えて欲しい

今回の問題は、Aの各要素の偶奇を定めた時、どの二要素が交換可能かという関係が1位に定まる
この時にAをBに一致できるかという問題はソーティングネットワークであるから、0-1原理より二値のみ見れば正当性が判定できる
各要素の偶奇もいるから、結局{1, 2, 3, 4}の4元のみで場合分けの正当性が判定できる
0419デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/01/30(月) 18:40:13.31ID:NXr6DkIHM
>>418
場合分けに偶奇いずれかの種類数が3以上のときに生じるような情報を使っている場合は、4元に置き換えた時点でYes/Noの出力が変わることがあるので偽なんじゃね
場合分けに使っていい情報をある程度制限すれば真になりそうだが
0422デフォルトの名無しさん (ワッチョイ 5bbd-DSsr)
垢版 |
2023/01/30(月) 19:29:00.95ID:T038um/B0
プログラムは全ての(i,j), 1<=i<j<=Nに対し「最初位置iにあったものと位置jにあったものが交換可能」かを定め、それを元に判定を行うものであるという仮定がある?
0425デフォルトの名無しさん (ワッチョイ e301-/38B)
垢版 |
2023/02/01(水) 10:33:12.46ID:rrqH0vUw0
多次元のデータを扱う過程でvectorだとMLEするのに全く同じサイズで代わりに生配列を使ったらメモリ制限余裕でクリアしたんだけど、これってvectorの方がより多くの情報を保持してるってこと?
軽く調べてみた感じvectorの各次元のサイズの順番次第でも変わってくるらしいんだけどもしかして生配列の方が地雷少なかったりする?
0426デフォルトの名無しさん (ワッチョイ 2b07-JCD8)
垢版 |
2023/02/01(水) 10:54:25.86ID:1VPsFaLs0
vectorは配列サイズより大きな領域を確保してpush_backに備えるから
push_backした時に現在のサイズじゃ足りないと二倍の大きさのメモリを確保してそこに既存データをコピーする
0428デフォルトの名無しさん (ワッチョイ e301-/38B)
垢版 |
2023/02/01(水) 12:25:44.63ID:rrqH0vUw0
要素数を保持するメンバ関数.size()も悪さに加担してそうだけど色々原因が絡んでそうだな
生配列って変数を要素数に使えないのと初期値に気をつける以外に何か注意すべき点あったかな
0432デフォルトの名無しさん (アウアウウー Sa47-2Zji)
垢版 |
2023/02/01(水) 16:25:26.10ID:G8geOuCTa
よく「C言語に多次元配列はない、あるのは配列の配列だけだ」なんて聞くけど、じゃあ「真の多次元配列」ってなんなのさ
a[1,2,3]みたいに所定の個数の添字を使わないとコンパイルエラーになるような配列とか?
0434デフォルトの名無しさん (アウアウウー Sa47-JCD8)
垢版 |
2023/02/01(水) 16:35:05.84ID:lgst1CuMa
一般的な多次元配列というのはこれ
https://e-words.jp/w/%E5%A4%9A%E6%AC%A1%E5%85%83%E9%85%8D%E5%88%97.html
C言語で昔から多次元配列と呼ばれてたやつだ

ところがもう一種類の多次元配列を持つ言語が現れて区別の必要が出てきた
そのため片方を多次元配列、片方をジャグ配列と呼ぶようになった

ジャグ配列のジャグとはギザギザという意味で要素である各配列の要素数がバラバラという意味だな
C++の配列(vectorは配列に非ず)では区別の必要はない
0436デフォルトの名無しさん (ワッチョイ 4eb9-viRr)
垢版 |
2023/02/01(水) 17:19:44.17ID:Xxk6iIQM0
そうだね、レトロニムではある
C言語の初期から「配列へのポインタ」の配列を使うなんて当たり前だし

しかしメモリレイアウトがシーケンシャルになる多次元配列と、ポインタの配列は必要に応じて区別するもんだけど
0437デフォルトの名無しさん (アウアウウー Sa47-JCD8)
垢版 |
2023/02/01(水) 17:42:02.48ID:lgst1CuMa
どこのメモリをどのように割り当てるかで用途やコードは変わるけどそれは特に「呼び分ける」必要はないってことだよ
他の言語のように文法から違うならともかく
たとえば二分木を配列にマップしてもそれは二分木だろ
0439デフォルトの名無しさん (ブーイモ MM93-AAxa)
垢版 |
2023/02/01(水) 18:13:09.99ID:tEOpIEztM
C++のvector<vector<T>>はジャグ配列であって、当然多次元配列としても使えるがパフォーマンスは落ちるよね?ってだけなんだがそんなに変か?

要素数が動的な多次元配列(に機能を絞ってパフォーマンスを追求したもの)はC++にはなくてだからこそmdspanが提案されたりしてる
0442デフォルトの名無しさん (ワッチョイ 1a55-5T4A)
垢版 |
2023/02/01(水) 19:23:36.17ID:zBkVwI+K0
レッドコーダーの人は、プログラミング言語についても詳しい人ばかりですか?
0449デフォルトの名無しさん (ワッチョイ 2b07-JCD8)
垢版 |
2023/02/01(水) 23:07:53.04ID:1VPsFaLs0
言語無関係な抽象的データ構造で多次元配列とジャグ配列を区別する意味なんてなおさら無いだろ
C/C++の話をしてるところにトンチンカンなこと言って割り込んできた言い訳がそれかよ
0453デフォルトの名無しさん (ワッチョイ 1712-hJuI)
垢版 |
2023/02/02(木) 10:49:56.77ID:EnNL+Dwm0
抽象的ってのは言語仕様に依存しない程度の意味じゃないんか
どの言語のジャグ配列も多次元配列より遅い、は真だと思うけど(もちろん多次元配列が無い言語はあるので、一次元配列で代用するものとして)
0455デフォルトの名無しさん (ワッチョイ 1712-hJuI)
垢版 |
2023/02/02(木) 11:24:59.40ID:EnNL+Dwm0
>>454 検証結果マジか、シーケンシャルアクセスできるなら掛け算必要な方が遅いということかな
添字が範囲内なのかのassertなども含めると逆転しうるのか……
検証出してくれるのは助かる
0464デフォルトの名無しさん (ワッチョイ 9fa4-qUWM)
垢版 |
2023/02/02(木) 12:02:39.09ID:Yo++vCH+0
>>462
それはそうだね、この記事だけじゃ微妙

でもまあ
"C# 多次元配列 ジャグ配列 速度"
とかでぐぐればいろんな検証結果出てくるし、いくつか見れば「多次元配列」は早いというわけじゃないのはなんとなくそれっぽいと思えるっしょ
0467デフォルトの名無しさん (ササクッテロラ Sp3b-/38B)
垢版 |
2023/02/02(木) 12:20:17.80ID:F3tsLQBup
ワッチョイがアウアウウーSaで文体が単芝使いの奴ってD問題で間違いを指摘されて暴言吐いてかつ浮動小数点数の話でも自分の間違いを一向に認めなかった奴と同一人物っぽいんだけど、もうスレのテンプレにNG推奨として追加した方が良くない?
前まではこんな奴居なかったし
0469デフォルトの名無しさん (ササクッテロラ Sp3b-/38B)
垢版 |
2023/02/02(木) 12:25:52.15ID:F3tsLQBup
端末使い分けてるか飛行機飛ばしてるっぽいんだけど、単芝使う+煽り文体+(今回の件でどっちが間違ってるかは置いといて)自分の間違いを絶対に認めようとしないって時点で同一人物なんだよなあ
0470デフォルトの名無しさん (テテンテンテン MMb6-BYif)
垢版 |
2023/02/02(木) 12:31:31.89ID:ZUpBuKrwM
明らかに煽ることが目的のやつがいると思ったら個別にNGすればいいと思ってて、スレとして誰かをパージするようなことはしなくていいと思うんだよな
技術的な話に全く関係のないことを連投するやつが現れたらちょっと考える必要はあるが、全然まだそういうレベルじゃないだろ?
0471デフォルトの名無しさん (ワッチョイ e301-/38B)
垢版 |
2023/02/02(木) 12:38:11.53ID:vof/cCRF0
議論になるなら良いんだけど、前例からもわかる通り間違ってることを堂々と発言した挙句に明白な根拠有りで誤りを指摘されても自分の誤りを認めず暴言を吐き始めるのが厄介だと思った
まあ今回の言い争いには直接絡んでないけどNGしとくわ
0483デフォルトの名無しさん (テテンテンテン MM4f-BoKG)
垢版 |
2023/02/04(土) 00:15:56.94ID:5HHfxRG3M
「終盤は難しくない=普段のABCと一緒」って意味だと仮定すると、中盤がARCで後ろはマニアック高度典型という、ただの昔の企業コンARCなんだよな
だったらU2800 ratedでもよくね?って思ってるけど、そこまですると初心者層が萎縮して参加しないかもしれなくて怖いんだろうか
0489デフォルトの名無しさん (ワッチョイ 7fe6-4osW)
垢版 |
2023/02/04(土) 21:45:26.38ID:qwiiBCAF0
週1回コンテスト前の30分~1時間だけ過去問題Bを1~2問解いて本番するだけにしてから苦行ストレスがほとんどなくなりました
今日はC初見問題だけど自力で考えて30分台でC解けたので満足

C問題最速で45秒でACとかテンプレ用意しててコピペレベルなのでしょうか?
Dなんて一応毎回問題だけはチラ見するけど何やったって自力で解法思いつかないから
もう開き直って毎回Cまで解いていつか茶色に成れればいいや
0494デフォルトの名無しさん (ワッチョイ 3f10-4O5A)
垢版 |
2023/02/04(土) 22:50:22.13ID:l8ebE2EL0
あと少しで国内200位入れなかった
層が厚すぎる
0496デフォルトの名無しさん (アウアウウー Sa93-/68i)
垢版 |
2023/02/04(土) 22:58:09.16ID:mQgt/9sra
>>489
ヒントになった途端通報されるかもしれないので注意
今回の場合、試験中に「Dが難しい」と叫んでいると取られかねない
0497デフォルトの名無しさん (ワッチョイ ffe2-Cjv8)
垢版 |
2023/02/04(土) 22:59:01.54ID:/q0XctAl0
なんでこれをDの位置におこうとおもったんだ
0501デフォルトの名無しさん (ワッチョイ cf01-EJkl)
垢版 |
2023/02/04(土) 23:14:05.17ID:366SNyz60
C問題で当たり前のようにunion findとかが出てきてビビった
勉強せんとなあ
0503デフォルトの名無しさん (ワッチョイ 7fe6-4osW)
垢版 |
2023/02/04(土) 23:17:46.82ID:qwiiBCAF0
先週もだけどC問題で出るグラフ問題はACLのDSUに慣れさせようとする作問者の意図を感じます
解説もACL使ったら軽いと露骨に明示されてたから多分普及させたいんだろうなと
0506デフォルトの名無しさん (ワッチョイ ffe2-Cjv8)
垢版 |
2023/02/04(土) 23:26:03.10ID:/q0XctAl0
unionfind、初中級のアルゴリズムの本にのってない気がする、atcoder高度すぎ
0507デフォルトの名無しさん (ワッチョイ 7fe6-4osW)
垢版 |
2023/02/04(土) 23:26:58.45ID:qwiiBCAF0
参加回数が規定数に満たないってことなんですが
今回ABCまで解けてレート380点とパフォーマンス740点で差が360点くらいあるんですが
規定回数超えたら茶色に成れますかね?
茶色に成れたらもう満足なんですが
0508デフォルトの名無しさん (ワッチョイ 7fe6-4osW)
垢版 |
2023/02/04(土) 23:41:16.52ID:qwiiBCAF0
C問題で下記のようなコードで提出してACだったのですが
解説と違ったのですが解法として合ってますか?

(事前にいつものACLのDSUで入力済みとして)

 sum = 0;
foreach (g, d.groups()) { sum += g.size() - 1; }
cout << M - sum;
0510デフォルトの名無しさん (ワッチョイ 4fbd-qdck)
垢版 |
2023/02/04(土) 23:59:17.63ID:6AvE22Ut0
UnionFindは、中身の理解と計算量解析自体は簡単ではないかもしれないけど、ブラックボックス化して使う分にはとても単純だから、まずはそういうものだと思って把握しといて損はないよ
0511デフォルトの名無しさん (ワッチョイ 4fbd-qdck)
垢版 |
2023/02/05(日) 00:01:06.52ID:L8nGaYgK0
Gはゼータ変換メビウス変換の要領でやれると思ったけど毎回頭がこんがらがる
いつかのARC-Dでもこういうゼータ変換メビウス変換の変種が出てた気がするけど、そのときもきつかった
0516デフォルトの名無しさん (ワッチョイ 3f55-zLlH)
垢版 |
2023/02/05(日) 14:44:21.92ID:bw48TasH0
>>515
セジウィック&ウエイン
CLRS
浅野孝夫
の本に書いてありました。
0517デフォルトの名無しさん (ワッチョイ 3f55-zLlH)
垢版 |
2023/02/05(日) 14:45:43.39ID:bw48TasH0
>>515
Kleinberg & Tardosの本にも書いてありました。
0519デフォルトの名無しさん (テテンテンテン MM4f-BoKG)
垢版 |
2023/02/05(日) 15:35:59.28ID:TzydnmM+M
昨日のEx見てるがそれぞれのパーツはそんなに難しくなくても、コンテスト中に詰めるのは相当な情報処理能力要るなこれ
最上位は既に知ってる部分が多いから思考をショートカットして解けてる(部分問題はKUPCで既出)のか、初見でも化け物みたいな処理能力があるから解けるのか
0522デフォルトの名無しさん (ワッチョイ 0f12-aRxH)
垢版 |
2023/02/06(月) 17:17:12.74ID:CC5umvVS0
信者では無くないか?
どっちについても炎上するから関わりたくない、が直接反応されたから返答はしたように見える
AtCoderユーザーは暇空寄りだから、どちらかと言うと暇空側の立場を取るのが正解だし
本当は無反応が最善のはずだから、リプ返した時点で暇空応援の気持ちはありそうだけどな
0532デフォルトの名無しさん (ブーイモ MM13-W0hr)
垢版 |
2023/02/07(火) 12:48:26.37ID:Gs46GCc3M
ABC232E Rook Pathなんだけど、
解説だと、ゴール(x2,y2)の位置で場合分けしてるんだけど、
スタートとの位置関係で分かれるんじゃないの?
シミュレーションしてみたらそんな挙動。

計算は同じになるんだろうけど
0533デフォルトの名無しさん (ワッチョイ 3f55-zLlH)
垢版 |
2023/02/07(火) 13:08:37.18ID:TWDaaH+/0
↓上級編がでますね。

アルゴリズム実技検定 公式テキスト[上級〜エキスパート編]
中村謙弘、tsutaj
0534デフォルトの名無しさん (アウアウウー Sa93-lzBW)
垢版 |
2023/02/07(火) 13:38:15.54ID:zZYboOb2a
>>532
値が同じところで分けるとそうだけど、
多分解説は値が同じところで分けてるわけじゃなくて答えが計算しやすいように分割してるだけ
(集合内のfの和でgを定義してる)

このあたり確かに文章の流れがミスリーディングだね
0540デフォルトの名無しさん (ワッチョイ 3f55-zLlH)
垢版 |
2023/02/10(金) 12:38:57.68ID:GORLgW5U0
アルゴリズム実技検定 公式テキスト[上級〜エキスパート編]
中村謙弘、tsutaj

↑予約注文しました。
0544デフォルトの名無しさん (ワッチョイ a3bd-vQqS)
垢版 |
2023/02/11(土) 00:45:13.40ID:v67POrgW0
まあ情報増やす感じよね
自然数の代わりに、[n]_q = 1+q+...+q^(n-1)というqの多項式を考えみる
そうすると普段の数え上げで出てくる概念についてもq-類似というものを考えることができて、q-類似はオリジナルより細かい情報を持っている
例えば普通の階乗は順列の数え上げだけど、そのq-類似であるq-階乗[k]_q! = [k]_q [k-1]_q ... [1]_qは、r次の係数が転倒数rの順列の数え上げになっている
どうしてそうなるかは挿入DPの要領だね
1を代入する、つまり係数の総和を取ればオリジナルの階乗を復元できもする
0545デフォルトの名無しさん (ワッチョイ a3bd-vQqS)
垢版 |
2023/02/11(土) 00:45:52.02ID:v67POrgW0
さらにq-二項係数というのもあって、binom(n, k)_q = [n]_q/([k]_q [n-k]_q)なんだけど、r次の係数が、r個の区別できない球をk個の区別できない箱に分ける(箱の容量は最大n-k個の球を収容可能)場合の数になってる
同じ意味だけど「grid上のpathで区切る領域の面積がrのpathの場合の数」の方が直感的にわかりやすいかな
https://scholarship.claremont.edu/cgi/viewcontent.cgi?article=1194&context=hmc_theses
すぐに役に立つ概念かわからないけど、数え上げの精密化と考えると面白い
0547デフォルトの名無しさん (ワッチョイ a3bd-vQqS)
垢版 |
2023/02/11(土) 00:49:35.69ID:v67POrgW0
>>543
とかいろいろ書いておきながら普通にこれ俺にとって難しくて解答読んでも自信ない
まずVを無視した数の割り振りが、境界線の数え上げに対応してて、それぞれの境界線を適宜微妙にずらすことで非交差路の数え上げに帰着してLGV公式で解ける
さらにLGV公式で使う行列の各要素(すなわちある始点からある終点への行き方の数え上げ)を改造して、ある点pより右下を通過することが確定するところを通ったらx倍、点p自体を通ったら0倍みたいなルールでxの一次式を作り、Lagrange補間の要領で行列式の多項式を計算してV次の係数が答え的な感じ?
比較的典型性の高い数え上げを多項式で細かく分けて、係数から欲しい情報取り出すというのはまさにって感じに見える
0548デフォルトの名無しさん (テテンテンテン MMc6-pVH7)
垢版 |
2023/02/11(土) 17:12:01.33ID:rBS0t6wJM
どちらかというと、q-二項係数がFq上n次元ベクトル空間からk次元部分空間を選ぶときの数え上げになってるって話の方で存在を認識してたな
係数を見るというより、何かを代入して情報を取り出すタイプ
0550デフォルトの名無しさん (テテンテンテン MMc6-pVH7)
垢版 |
2023/02/11(土) 19:05:11.90ID:Avc4ARa4M
q-二項係数を分割の数え上げで解釈する話も部分ベクトル空間の数え上げで解釈する話も証明見たら見たらせやな感あるが、この2つのどこがどう対応づいているのかあんまよくわからんな
0552デフォルトの名無しさん (ワッチョイ 3fe6-D0vN)
垢版 |
2023/02/11(土) 20:31:02.43ID:ht8bMudq0
C++17が多数派だと思うのですが
C++20が未だに対応されない理由って何なのでしょうか?

本業が忙しすぎてそこまで手が回らないとか?
費用対効果が低くて恩恵を得られる人が少ないとか?
過去問まで対応させるとなると多すぎて単純に面倒だからとか?

上記全部当てはまりそうだから仕方ないか・・・
0555デフォルトの名無しさん (ワッチョイ 3fe6-D0vN)
垢版 |
2023/02/11(土) 22:41:03.83ID:ht8bMudq0
Bは面倒そうなので飛ばしてC
解法はすぐに思いついて実装に手間取って30分で提出したが
1つだけREになるコーナーケース?が分からずに時間切れ

残り15分くらいで一瞬Bやりかけたけて問題見たけど
CのREが分からないイライラを引きずって萎えたやる気出ないので
順位表見てたけどやっぱ今回のBCは難易度高かったぽい?

毎回こんなの1分2分で解いてる人いるけど
どんだけテンプレ用意してるんだろう

最速AC時間からすると自分のテンプレから探してコピペする時間としか思えない
0572デフォルトの名無しさん (ワッチョイ c6e2-lZ4L)
垢版 |
2023/02/11(土) 23:21:04.95ID:lZkIj9hH0
Fが黄色。Fが青色上になったらノーカンにすべき。
0573デフォルトの名無しさん (ワッチョイ 3fe6-D0vN)
垢版 |
2023/02/11(土) 23:22:15.58ID:ht8bMudq0
思い込みと言うかこんな些細なミスに気づかずに1時間半も悩んでてて1完でメンタル壊れますね
REが解決できなくてドツボにハマる典型だと思いますが
すぐにBに着手してればもしかしたら解けてたかと思うと残念です
今日はBを今から解いてみて寝ます
0574デフォルトの名無しさん (JP 0H57-AGaU)
垢版 |
2023/02/11(土) 23:25:03.24ID:glz4wAHkH
確かにF青、G黄ぐらいが理想ではあるけど、一色上振れぐらいはいいんじゃないかな
FもGも難問って感じはしなかったけどやっぱりあの場合分けはキツいのかな
0579デフォルトの名無しさん (ワッチョイ a751-t1ev)
垢版 |
2023/02/12(日) 00:20:22.77ID:ulhmgCnx0
>>554
AtCoderの言語アップデートに関して 2023年版
https://atcoder.jp/posts/966
です アップデート自体がいつになるかはわかりません…
0582デフォルトの名無しさん (ワッチョイ a3bd-tk2X)
垢版 |
2023/02/12(日) 01:22:02.99ID:icQYZybb0
>>549
そうだね、1-q^nは性質がよくてありがたい
たとえばq-二項係数なんかはbinom(n,r)_q = Π_{i=1}^{r} ((1-q^(n-i))/(1-q^i))と表せてlogを取ると

log binom(n,r)_q = Σ_{i=1}^{r} log (1-q^(n-i)) - Σ_{i=1}^{r} log (1-q^i)

なわけだけど、log (1-q^i) = - Σ_{k=1} q^ik / k(ここで疎であることが効く)を利用し、
log binom(n,r)_qをN次まで求めるのならばO(NlogN)で求められる(調和級数)
binom(n,r)_q = exp(log binom(n,r)_q)もexp取る操作がNewton法でO(NlogN)でできて、最終的にはO(NlogN)
0588デフォルトの名無しさん (ワッチョイ a3bd-tk2X)
垢版 |
2023/02/12(日) 17:03:52.39ID:icQYZybb0
>>586
最後のはもろにq=2のq-二項係数だね
Π_{i=0}^{N-1} (2^M-2^i)/Π_{i=0}^{N-1} (2^N-2^i)
= Π_{i=1}^{N} (1-2^(M-i+1))/(1-2^i)
= binom(M, N)_2
丁度>>548に書いてある話かな、q=2以外のF_qでも同じような議論ができる
問題の誘導がお手本のようなq-二項係数の導出方法になっていると思う

あとすまん、>>582は指数ミスってるね、 Π_{i=1}^{r} ((1-q^(n-i+1))/(1-q^i))が正しい
0589デフォルトの名無しさん (ワッチョイ 3fe6-D0vN)
垢版 |
2023/02/12(日) 18:43:07.51ID:clMPTfPu0
>>584
それ見てatcoderはC++20対応まだなのかなって思ったんですよね
以前C++やる前にpython触ってたのでrangeなどの配列操作に慣れてたので
なんでC++こんな面倒なんだろうって思ってました
自分はC++20のrangeが便利そうだなって思ってます
テンプレで自作関数用意しちゃえばなんでも大差ないんでしょうけど
やっぱSTLや標準機能で動いてるって安心ですよね
0596デフォルトの名無しさん (スップ Sd4a-Xazp)
垢版 |
2023/02/13(月) 22:49:24.44ID:LZG8araOd
こういう人を見ると凄く勿体無く感じる
何故、中卒なのかは分からないけど1年ちょいで青コーダーになれるだけの地頭があるなら、勉強をすれば東大や京大にだって余裕で受かるだろうに

【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】
https://qiita.com/mayocorn/items/4edff486428240864808
0602デフォルトの名無しさん (ワッチョイ 0a02-gsgJ)
垢版 |
2023/02/16(木) 01:26:12.31ID:3p1Q75Q90
ガチのフルコミットする奴(子なし主婦やニート)が増えれば青=東大の相場は崩れる気がする

まあ子供育てる予定があって自分が東大レベルの学力を狙える根拠が1つでもあるならとりあえずやってみる、というのは子育て戦略として面白いし普通に優良
0606デフォルトの名無しさん (ワッチョイ 3fe6-D0vN)
垢版 |
2023/02/17(金) 06:48:56.83ID:UHXTRGs00
ABCの3完が精一杯でBやCが解けないこともたまにある灰色なのですが
ARCって参加して0完でもパフォ少し出ることあるから参加したほうが良いって本当ですか?

ARCのAすら解けないから毎回参加してなかったのですが
なんかスコア稼ぎみたいでズルっぽいので躊躇するけど
もし本当なら0完参加もありかも?
0608デフォルトの名無しさん (アウアウウー Sa4f-Vk/h)
垢版 |
2023/02/17(金) 14:06:14.64ID:zgzLkC5Da
某所で見かけた問題(どこの問題かは規約の関係で言えない)なんだけど、いくら考えてもわかんなかったから誰か教えてほすぃ

N 個の正整数 L_1 ~ L_N が与えられる。ここで以下の二つの「操作」から好きな方を選ぶことを繰り返す。

・L の要素を任意に一つ選び、X 減らす。
・L の要素を任意に Y 個選び、それぞれ 1 減らす。

L の全ての要素を 0 以下にするには最低何回の操作が必要か?

1 <= N <= 100000
1 <= L_i <= 100000
1 <= X <= 100000
1 <= Y <= N
(制約条件はこれであってるはずだけどもし記憶違いだったらゴメン)
0618デフォルトの名無しさん (ブーイモ MM09-9+qL)
垢版 |
2023/02/18(土) 03:39:57.25ID:z42F5xKlM
Lは昇順にソート済みとする
まず後者の操作だけ考えるとmax(L_N,ceil((L_1+...+L_N)/Y))が下界で実は達成可能(この値は1回の操作で必ず1以上減らせる)
となると前者の操作は値の大きい方からやるべきで前者の操作回数を全探索することにすると二乗logにはなるがこの先がわからん
0620デフォルトの名無しさん (ブーイモ MM09-9+qL)
垢版 |
2023/02/18(土) 12:46:27.04ID:O1Eq2rH/M
>>618
シミュレーションの際に同じ値はまとめれば毎回最大値が1以上減るからステップ数抑えられるか
その間の算数はk個に操作するとして
k+max(m,ceil((s-x*k)/Y))
という式の最小化
面倒だから雰囲気だけだけど多分最小と最大とmaxの中身が丁度等しくなるとこくらいを調べれば十分なはず
0622デフォルトの名無しさん (ワッチョイ 7534-3nnD)
垢版 |
2023/02/18(土) 18:29:18.45ID:RCps3ZLd0
>>606
レーティングって長期的推移でみるものだから高々1個実力外で稼げたものは所詮あぶく銭にすぎないしパフォ目的ならオススメはしないかな
チャレンジしたい!って心意気ならすご〜くいいと思います
0626デフォルトの名無しさん (テテンテンテン MMcb-5GxU)
垢版 |
2023/02/18(土) 23:24:56.87ID:aJr9M57cM
B問題は実家DP的ななにかを予想して遷移考えたけど、思ったより普通の算数で解けたな
Cは制約がゆるすぎて逆に解きにくかった
こんなこと言うと競プロに過学習してるっぽくてよくないんだが
0629デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/19(日) 06:03:20.76ID:zi/avb6A0
寝起きでARCのA問題見たらちょっと閃いた気がしたので
20分くらいですぐにサンプルACしたので提出したら見事にWAでしたw

流石にARCだからコーナーケースが仕込まれてるとは思いましたが
考えても何も思いつかないのですぐに解説見たけど理解するのに1時間くらい掛かりました
多分本番やってたらWAにドはまりしてストレスでメンタル壊れてたと思うので
精神衛生的に不参加で良かったです

最速提出で2分台の方のコード2つ見ましたが
まるでコーナーケースを知ってるかのようなコードでしたね

問題を読んでコーナーケースまで把握したコードを2分台で提出してACするってことは
典型問題として類題知ってるってことでしょうか?
本当に初見で直感で2分台なら凄すぎます

でも5分以内ACも20人くらいいるからわかる人には分かるのかな
0631デフォルトの名無しさん (ワッチョイ ed12-T/0H)
垢版 |
2023/02/19(日) 13:34:36.91ID:ndErR/0m0
2分はともかく、30分かけて良いなら解けなきゃダメだと思うよ
長さ15くらいまでのテストケース全生成は幅優先探索やるだけABC-Cくらいの難易度なので、これを作って手元で確かめれば条件なんて自明
0632デフォルトの名無しさん (ワッチョイ b5bd-HtMB)
垢版 |
2023/02/19(日) 14:04:10.80ID:wF9NNslx0
想像しているようなそっくりな問題を解いたことがあるみたいな話ではないけど(多分上位層は初見でも2分で解ける)、何個かの要素に分解できるところはあるかな

・偶奇に注目、二つ裏返すということは1は偶数個じゃなきゃダメ
・自明な下界を考える、2つ以上離れた1のペアを作れれば達成できる
・1が2個のときはコーナーケースっぽい、特に小さいケースについてはなるべく注意した方がいい

こういうのをできる人は無意識に一瞬でやってるから、何をいまさら言語化しているんだって感じだろうけど
0633デフォルトの名無しさん (ワッチョイ b5bd-HtMB)
垢版 |
2023/02/19(日) 14:13:36.32ID:wF9NNslx0
ある意味ARC典型みたいなところがあるかな
Cも自明な下界を考える問題だったし、Bは貪欲にある数まで下から埋めたあと分配する問題で、賢い筋を一つ見つけて他の筋を枝刈りするタイプの問題が多い
0634デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 15:26:29.04ID:6ltfFQqY0
AはARC-Aに置かれてると条件は基本的にシンプルになるけどたまに場合分けを要求されるみたいな雰囲気を感じ取れる(いつかのこどふぉで全く同じコーナーケースに注意すべき問題もあった)し、Bも条件の厳しいものからあらかじめ決めておいて残りは重複組み合わせ等で簡単に処理するっていう考え方をARCで何回か既に見たからARC典型みたいなのは問題を解き進めてるうちに身につくと思う
Aのパリティとか不変量とか上界下界に注目するみたいな典型考察も含めて(鉄則本とかにも書かれてるくらい典型だからもう既に知ってる人の方が多そうだけど)
0635デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/19(日) 16:44:56.04ID:zi/avb6A0
>>634
貴重な情報ありがとうございます

ARC-Aクラスの難易度はまだ無理ですが
ABC-Cならなんとか解けることもあるので

>>問題を解き進めてるうちに身につく

ことを信じて自力で解ける範囲で少しづつやってみます
0636デフォルトの名無しさん (ワッチョイ 1be2-LwiH)
垢版 |
2023/02/19(日) 17:45:36.48ID:4PdnTZn50
緑だけどARCは不出場になった、青以上じゃないと時間の無駄になる気が
0637デフォルトの名無しさん (ワッチョイ 4501-looL)
垢版 |
2023/02/19(日) 18:07:28.78ID:9mvO2Aur0
昨日のC、類以度いくつ達成できそうかは手元で実験してすぐ分かったけど、
すべてのケースで条件満たす構築が結局コンテスト中にできなかった
どうやって思いつくのあれ
0640デフォルトの名無しさん (テテンテンテン MMcb-5GxU)
垢版 |
2023/02/19(日) 20:02:27.76ID:1mDvNRVXM
パス上でオリジナルの数字とPで変換して出てくる数字で被りがあるとうざそう→適当に木を二分割して移し替えればよくね?→頂点数の偏りが少ない分割がほしいから重心を使う
パス上でオリジナルの数字とペアとPで変換して出てくる数字のペアの相対的な前後関係が一致してるとうざそう→重心からの位置関係がオリジナルと反転してればよくね?

想定解はちゃんと読んでない
0642デフォルトの名無しさん (テテンテンテン MMcb-5GxU)
垢版 |
2023/02/19(日) 20:10:26.59ID:1mDvNRVXM
400点のARC-Aは厳しい問題な可能性が高いな
なんなら500点のARC-Bより人によってはとっつきにくい
300点のARC-Aはそこまで異常問題ではないことが多いはず
ABC-Cよりはずっとムズいけど
0644デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 22:43:01.55ID:6ltfFQqY0
Eまで早解き出来てFもO(N)で求められる式の導出までは出来たのにそこからの式変形がダメだった 勿体無い
0650デフォルトの名無しさん (テテンテンテン MMcb-5GxU)
垢版 |
2023/02/19(日) 23:02:45.64ID:1mDvNRVXM
俺も証明してない
とりあえず、深さ2ぐらいまでf(x,n)(n個の部分木と接続したままxを作るときの最小コスト)みたいなのを考えたらnがなるべく小さいほうがいいことに気付いて、またxで単調減少しそうだから、どうせ親にも性質が伝播するんだろうなあみたいな考えでやった
0651デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 23:03:01.88ID:6ltfFQqY0
F非想定解とはいえ畳み込みやらFPSやらをやればO(N)の式を高速化出来たっぽいしちゃんと履修すべきだったな
自分は普段はFくらいまでしか解けないからまだ要求されないもんだと思って後回しにしてたけどこういう時に殴れないの勿体ない
0652デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/19(日) 23:04:53.51ID:zi/avb6A0
DのサンプルだけACしたけど
そりゃ提出しても愚直解だとTLEですよね
解説見たけどこんな条件気づける気がしない
考え方の方向性は間違ってないけどここまでが自力の限界ぽい
0655デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 23:14:10.61ID:6ltfFQqY0
OEIS使う裏技は知ってたけどwolfram alpha使う裏技もあるんだな
wolfram alpha の計算式にはガンマ関数とかsqrt(pi)が出てきたから自分で更に式変形する必要はあるけど今度から使えそうな場面では試してみよう
0657デフォルトの名無しさん (ワッチョイ 1be2-LwiH)
垢版 |
2023/02/19(日) 23:22:11.62ID:4PdnTZn50
D、解説が難しいし何の役にも立たないので理解する気力がわかない・・・
0659デフォルトの名無しさん (ワッチョイ b5bd-HtMB)
垢版 |
2023/02/19(日) 23:34:24.39ID:wF9NNslx0
Dは例えばN = 15, D = 6としよう
〇××××××××××××××
一旦、x+1に移るルールを無視して、4移動してマーキングするというルールで考える
〇×××××〇××××××××
〇×××××〇×××××〇××
〇××〇××〇×××××〇××
〇××〇××〇××〇××〇××
〇××〇××〇××〇××〇××
〇××〇××〇××〇××〇××

と、間隔3の場所を延々と巡ることになる
NとDが他の値でも似たようなことが起きて、この間隔が実はGCD(N,D)で簡単に出せる
0660デフォルトの名無しさん (ワッチョイ b5bd-HtMB)
垢版 |
2023/02/19(日) 23:35:10.23ID:wF9NNslx0
>>659
ミス、4移動じゃなくて6移動

で、実際のルールでは、マーキング済みのところについたら1ズレるわけだけど
実はいつも最初は0に戻ってくることが分かって、
〇〇×〇××〇××〇××〇××
って感じ
上のと同じ動き方で1と間隔3で離れている場所が全部埋まる
〇〇×〇〇×〇〇×〇〇×〇〇×
全部埋まった後に1に戻ってきて今度は2に移って同じことをする
0661デフォルトの名無しさん (ワッチョイ b5bd-HtMB)
垢版 |
2023/02/19(日) 23:40:08.29ID:wF9NNslx0
何の役に立つかというと、直接的に役に立つ気はしなくて、頭の体操感あるかなあ
でもこういう比較的複雑ではない方のアルゴリズムに慣れておくと、複雑なアルゴリズムを頭の中ですぐイメージできるような気がするね
0662デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 23:42:32.81ID:6ltfFQqY0
Dのax-by=0みたいな式を立てた上でgcd(a,b)で全体を割ることで互いに素であることが利用できるようになって一般解が求まる、みたいなのはABCのD、Eくらいで何回も出題されてるだけでなく受験数学でも典型ではありそう
0663デフォルトの名無しさん (ワッチョイ 4501-H9O3)
垢版 |
2023/02/19(日) 23:44:04.64ID:6ltfFQqY0
例えば今回のEまではパターンマッチングで瞬殺だけどそれだと寒色止まりだしつまりはそういうことだ
0666デフォルトの名無しさん (ワッチョイ 1be2-LwiH)
垢版 |
2023/02/20(月) 00:48:04.55ID:fGKXGDUx0
微積分も知らずに青まで行ける方がヘンだと思うので特殊関数も出すべきじゃ
0667デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/20(月) 20:17:16.00ID:PxqX9j8n0
>>659
分かりやすい解説ありがとうございます

こういう図解が解説に無い時に
解説の文章にある数式(今回だとgcd(n,d)など)から
自力で何をしているのかシミュレーションを想像するまで辿り着けないんですよね
時々図解がある解説見るとスッと頭に入ることあるのでそういう時は助かります
単純に競プロや難易度に必要な基礎学力や経験が足りてないんだとは思います
0670デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/23(木) 07:31:29.61ID:1grYshwD0
>>669
ありがとうございます

>>最近はコンテスト翌日ぐらいにやってることが多い
それは知りませんでした
お忙しいので動画無いのかなとか思ってました
あと@kyopro_friends氏さんってatcoder内部の方ですか?

やっとAB問題埋め全完了して
C問題を順番にやろうと思ったけどテーマがバラバラなので集中出来ないと思ったので
鉄則本を少しづつ進めつつそのテーマに沿ったtagに集中するようにしたら
勉強がやりやすくなった気がします

ただ時間が中々取れないので週末だけだと覚えたと思ってたこともすぐに忘れてしまう
生まれつき記憶力のある人が羨ましい
0674デフォルトの名無しさん (ワッチョイ 7da4-L4qV)
垢版 |
2023/02/23(木) 22:42:49.92ID:e18jgvu00
必要なのはAIのエンジニアであって、競プロerなんて時代遅れだよ
今後は機械学習を開発する力を面接でも重視する
そういう方針にするからこそレガシーエンジニアのレイオフを思い切ってやれてる
0675デフォルトの名無しさん (ワッチョイ 1be2-LwiH)
垢版 |
2023/02/23(木) 22:51:30.93ID:licQP1K00
chatGTPに使われてるtransfomerは全く教プロと関係ない。
強化学習はヒューリスティックで活用できる人がいるかもくらいで、ノーマルコンテストには縁がない。
0677デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/24(金) 17:34:08.73ID:Vhm6qXev0
>>671
やはりそうでしたか
解説動画が出る前に要点がまとめられていて図解があって分かりやすくて良いですね
これ見てすぐに理解できないならまだその問題を解くレベルに達していないと判断しやすいです
0678デフォルトの名無しさん (ワッチョイ 6de6-BTrK)
垢版 |
2023/02/24(金) 17:45:00.38ID:Vhm6qXev0
GCJが無くなるってことはどういうことなんでしょうか?
Googleが教プロは将来的に継続する程の費用対効果が得られないと判断したという解釈とか?
上位入賞者に米国人がいなくて海外勢特に中国人だらけだから面白くないとか?
ChatGPTに対抗する為にコストやリソースをそっちに集中したいとか?
0681デフォルトの名無しさん (ワッチョイ 7da4-L4qV)
垢版 |
2023/02/24(金) 20:55:11.73ID:nnH412iY0
コロナ禍にIT投資が過熱して採り過ぎちゃったし
いまは急に市況が悪くなって人件費と今後しばらくのリターンが見合わないから、解雇するんすよ

日本にいるとそれほど意識しないかもしれないけど
世界的にはこれから長い長い不景気に突入する空気感
0684デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/02/25(土) 23:00:26.14ID:nWmUkLp60
ARCギャンブル初参加して約50分くらいでまぐれのA解けてラッキー
最速の人1分20秒と毎度のことながら驚愕

Bも行けそうかと手を付けたけどやはり難解過ぎて頭から湯気が出そう
残り時間も無いし解法も思いつかないので順位表見てたら
B飛ばしてCやってる人が多かったから多分Bは考えて解くのは難しいのだろう

Cも覗いてみたけど典型のテンプレ持っていれば解けるんだろうな
準備してなかったけど迷路探索のテンプレで
全探索してY隣接の最大値更新して間に合うのかな
でも流石にARCだから高速化を考えないと解けないようになってるのかな

時間切れまで暇つぶしの感想書いてみた
0689デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/02/25(土) 23:19:38.16ID:nWmUkLp60
>>687
おっしゃる通りでございますね
解説見て無理だと悟りました

これはどんなに勉強しても理解出来るレベルに達する内容じゃないです
解説見て理解出来ないんだから本番で思いつくはずがない
0700デフォルトの名無しさん (ワッチョイ 1a7c-WHYf)
垢版 |
2023/02/26(日) 10:43:52.85ID:zsK8B1uM0
前半はコーナーケースを詰める力そのものを聞いてるんだろ、それ無かったらやるだけだし
自分もBは4ペナしたけど、この問題のコンセプト自体は否定しないぞ
好きか嫌いかなら嫌いだが
0704デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/02/26(日) 22:41:34.84ID:P5+y9Ehh0
ABC3完は出来ましたがみんなAC速すぎてパフォーマンスが出ないですね
参加してる人のレベルが高いというか
諦めて参加しなくなった人が多いのかな
参加人数も1万人いた頃に比べたら今アクティブ7千人弱くらいだし

Dって過去問か他コンステストで類題ありましたか?
C飛ばしてD速い段階でACしてるのにその人達がC解けないって意味が分からないから
もしかしたら有名な典型問題だったのかなと
0711デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/02/26(日) 23:07:18.29ID:P5+y9Ehh0
>>709
そうなんですね
DPはチラ見したことありますが数問やって全く理解出来なかったので保留してます
まだ累積和とか二分探索すらよく分からないので鉄則本が全然進まない状態です
気長に理解できそうなとこからやってみます
0717デフォルトの名無しさん (テテンテンテン MM0e-S3Ol)
垢版 |
2023/02/26(日) 23:28:04.31ID:FFsIOXN5M
>>715
とりあえずグラフを考えて、カードをA_iとB_iをつなぐ辺とみなす
このグラフの各連結成分を見て、なもり木なら閉路部分の割当で2通り、木になってるんなら木DPでうまく数え上げて、それ以外は0通りみたいな感じにして、総積を取る感じか?
なんか既出感がすごいな
0719デフォルトの名無しさん (ササクッテロレ Sp75-QGq4)
垢版 |
2023/02/26(日) 23:37:20.19ID:x0T0FVaip
>>717
カードの表裏をグラフの辺に帰着させて連結成分ごとに頑張るみたいな考え方で確かに出来そうだし典型的な考え方な気もするからこの設定の場合もABC-E、Fくらいに置いてあれば違和感無いな
今回はABC-Dだったからすぐ誤読に気づけたけど
0721デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/03/02(木) 21:21:27.03ID:krvD26HF0
DP練習問題などいくつか試してみましたがほとんど理解出来ませんでした
シンプルな典型問題を解説写経ACするだけの繰り返しになっていて
初見の問題を見る都度解法が全く思いつかないしDPを全く組めません
コピペしても通るような典型くらいしかAC出来ませんので
本番初見問題では役に立たないと思います

EDPCは解説の入力が省略されていたり
写経してもDPや入力の配列の添字が分からずその間違いでWAやRE多発してしまいます
解説をコピペしても通らないものもあってかなり時間ロスしました
アルゴ式は導入問題くらいは図解も毎回あって分かるのですが
応用問題になると解説が概要とコードだけなので何故そうなるのかさっぱり理解出来ませんでした

多分相当長いこと典型をやり続けてひたすら慣れるしか無いのでしょうが
時間対効果というか達成感が全く無くストレスが貯まる一方でモチベが続かないので
やはりDPは後回しにすることにします

DPが理解できずに苦労したとか覚えるの大変とは聞いていましたが
やってみてそのとおりだと痛感しました
0728デフォルトの名無しさん (ワッチョイ 5a10-UQ7i)
垢版 |
2023/03/03(金) 03:46:50.79ID:CKnG+JfY0
多分初めのうちは、どういう時にDPを使ったら良いのか分からないって感じだと思うんだけど、
自分は昔「2^nの全探索が無理ならDP」って覚えた(最近だとABC291Dとかもこれ 他にもたくさんあると思う)
2^nの全探索の処理を考えたら、添字に何持たせたら良いのか出てくる気がする
bitDPとか区間DPなどの○○DPは初めのうちにやると混乱するから、まずは↑を出来るようにすると良いと思う
あと、dp配列の定義をきちんと決めることが大事で、ふわふわしたままコードを書くと当然上手くいかない
例えば「dp[i][j]: [0, i)でj個選んだ時の最大値」みたいにコードを書く前にきちんと決める
(dp[i]は「[0, i](閉区間)の答え」とするよりも「[0, i)(開区間)の答え」とした方がコードが綺麗になることが多い)
後は問題をたくさん解けば慣れるはず
0729デフォルトの名無しさん (ワッチョイ 6951-wWxq)
垢版 |
2023/03/03(金) 06:19:46.91ID:2nUF2qs80
DPは、状態をまとめて管理したり、操作した結果部分問題に帰着するって考えるとわかりやすいと思う
たとえばそれぞれについて選ぶか選ばないかで 2^N 通りあると、選ぶ・選ばないを決めると 2 つの新しい部分問題に分かれて、
その結果を合成する必要があるけど、結局見るべき「状態」の種類は少ないからメモ化して突破できる~って感じ
添字はfor文の端っこを意識するとバグりにくくなると思う
0733デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/03/03(金) 12:46:35.40ID:synOrNZV0
>>726
EDPCだとA~Iまで試してみて自力で解けたのはCとHの2問だけでした
他の練習問題などでやった記憶があってそれをコピペしたら動いたってだけでした
なので何故そのようなDPを組んで正解が出るのか理解してるとは言えない状態です
つまりEDPCほぼ全てで解説を見ても理解できないということです

>>728-730
丁寧なアドバイスありがとうございます
0734デフォルトの名無しさん (ワッチョイ 71e6-W5vA)
垢版 |
2023/03/03(金) 12:48:06.16ID:synOrNZV0
せっかく丁寧なアドバイス頂いていて恐縮なのですが
NGして無視してるとは言えどうしても目に入ってしまう非人間的な誹謗中傷もストレスになってますし
自分は頭が悪くて理解できないこと自体がストレスになっているので
DP含めて競プロ全般理解出来ないものは素直に諦めることにします

それでも解けそうで解けないものが解けた時は嬉しかったり
分かる範囲のものを勉強している時は楽しいので
マイペースで出来るものだけでも少しづつ試してみます

あと知人が誹謗中傷で亡くなっています
昨今のニュースなどでも誹謗中傷で亡くなる方も多いと見聞きします
誹謗中傷してる方は軽い気晴らしのつもりなのでしょうが
間接的に殺人に加担してることを理解して欲しいです
0737デフォルトの名無しさん (ワッチョイ 0543-WHYf)
垢版 |
2023/03/03(金) 14:28:51.14ID:o7jNKaWI0
このスレの荒らしは高度アルゴリズム関連を一切呟かず、延々と他者を下げるから分かりやすいのよな
個人的にはDPは漸化式、が高校数学の延長になって一番分かりやすかった、配る方が立式できないのがネックだけど……
貰う方なら、例えばEDPC-Bならdp(0)=0, dp(i)=∑[j=max(0, i-K), i-1] dp(j)+|h_i-h_j|と書けば後はコードにするだけだし
0740デフォルトの名無しさん (ワッチョイ 49a4-9qQk)
垢版 |
2023/03/03(金) 23:21:34.43ID:3ciSJAS40
俺はプログラマだから、DPは順番が違うだけでメモ化再帰とほぼ同じ、ってのが最初にしっくりきたな
関数型言語をやってると再帰はごくごく当たり前に理解できてるからね
まあ漸化式だとか再帰だとかいろんなイメージ付けをしていくことでDPへの理解が深まっていろんなのが解けるようになっていくもんだと思うわ
0744デフォルトの名無しさん (テテンテンテン MMeb-uf0L)
垢版 |
2023/03/04(土) 03:48:50.15ID:7GCZL+pYM
EDPCで初見で解ける問題があるだけ上等じゃねえの
ただ、解説読んで理解できないのは今後あらゆる問題で差し支えるから、それはどうにかした方がいいな
まずEまでは理解できるようにした方がいい
0747デフォルトの名無しさん (オッペケ Sr45-4pPF)
垢版 |
2023/03/04(土) 16:18:10.94ID:mfmYzmTvr
安倍ちゃんですら黄色なのにな……
0748デフォルトの名無しさん (ワッチョイ 1355-QeO8)
垢版 |
2023/03/04(土) 19:09:59.50ID:gYn7OIv60
安倍ちゃんって誰ですか?
0763デフォルトの名無しさん (ワッチョイ 91e6-Qpn1)
垢版 |
2023/03/04(土) 23:26:28.07ID:XAdL2dlO0
挫折して離れる人がいて
残って実力が伸びる人がいるので
どんどん濃度が濃くなってる気がします

新規はすぐに離脱して強い人しか残らないスパイラルみたいな感じ?
0764デフォルトの名無しさん (ワッチョイ e9bd-PLJR)
垢版 |
2023/03/05(日) 00:08:17.62ID:KLgsW+HB0
ぶっちゃけそれはあるよね
新規の人が来ないとある色に上がる難易度が上がっていくと思う
ただ、現状のABCだったらまだ時間を十分にかければ特殊な才能がなくてもレートを上げていけるゲームではあるかな?
0765デフォルトの名無しさん (ワッチョイ 91e6-Qpn1)
垢版 |
2023/03/05(日) 00:19:06.70ID:2J+JlFQp0
うわあ~
AB2完で灰色に降格ww

vscodeバグって40分ロスしたとはいえキツイですね
時間あってもこの問題じゃ解法思いついてないか

まぁARCのラッキーボーナス+60貰ってたのでこれが適正帯ということでしょう
一瞬でも茶色になって茶色の実力があると勘違いした自分が恥ずかしいです

毎回ABC3完でも+5前後なので
たまにC落としてAB2完でガクっと削られることを繰り返すようなペースだと
一進一退で茶色に成れないかもしれない
0768デフォルトの名無しさん (ワッチョイ 91e6-Qpn1)
垢版 |
2023/03/05(日) 00:52:57.39ID:2J+JlFQp0
>>再発防止

IntelliSenseが効かなくなって何度再起動しても数分後にエラー吐いてPC暴走気味で意味不明でした
IntelliSenseが効かないだけでコードは書けたのでABはそれで提出しました
その後急にまたIntelliSenseが効いていたのでコンテスト終了まで使って今再起動何度しても大丈夫なのですが
原因不明なので様子見するしかない状態です

>>平均的なレートを上げていこう
そうですね
マイペースでもコツコツやるしか無いですね
まずはC問題までを確実に解けるように数をこなすようにします
DPや苦手なものは後回しにして解るものだけやってみます
0784デフォルトの名無しさん (ワッチョイ 0eca-L2/A)
垢版 |
2023/03/11(土) 22:45:15.03ID:OCLTPK230
難しくなりすぎ、3完
0788デフォルトの名無しさん (ワッチョイ 0eca-L2/A)
垢版 |
2023/03/11(土) 23:09:18.64ID:OCLTPK230
D,方針はすぐわかったけど色のインデックスつけたグラフを探索して1時間以上通せなかったり罠が・・・
0792デフォルトの名無しさん (ワッチョイ 81e6-JIpj)
垢版 |
2023/03/12(日) 02:58:21.52ID:BK530g0z0
本番ではCをDPだと思い込んで苦戦して結局時間切れのAB2完で-4ポイント
HW左上から右下への全通りの作り方が分からず
DFSとbitとnext聞いたことあるけど本番で実装に使うという発想が湧かないのが痛い
いつまた出題されるかわからないけどこいうものを随時テンプレ化することをみんなやってるのかな

本番後D問題は見てもさっぱり分からないので解説動画でDSUでも解けると聞いたので
自分の提出済みのグラフ関連のコード漁ってたら先週の問題の応用でいけそうと思って
先週のD問題に追加3行の計算とロープの色入力追加だけで解けちゃった

ただ解説見るとあっけなく解けることもあるけど
初見の問題だとまず解法が思いつかないし
何を勉強すれば良いのか分からないのはいつものことで
ひたすら過去問解いてコンテストに参加するしか無いの繰り返しなんだろうな
成長の実感が無い期間がしばらく続きそう
0793デフォルトの名無しさん (ワッチョイ 3d07-Aoo2)
垢版 |
2023/03/12(日) 09:25:04.97ID:+XiJVNUi0
>>792
> DFSとbitとnext聞いたことあるけど本番で実装に使うという発想が湧かないのが痛い

全探索の時はその2つを真っ先に思い浮かべればいい
C問題までは計算量考えない全探索でほぼほぼ行ける

問題をたくさん解くというのはこういうことを学ぶことで別に別にたくさん解かなくても学べる
今日は2つ学んだから成長したぞ
今まで時間内に解けなかったC問題がいくつか解けるようになったはずだ
0797デフォルトの名無しさん (ワッチョイ e501-9Ei+)
垢版 |
2023/03/12(日) 11:39:08.26ID:0uSJS7hH0
>>792
今回のC問題みたいなのについてはテンプレ化は難しいと思う

とはいえ、DFSによる全探索は大体どれも似たようなパターンでは書けるから、何個か類題解いてみて自分に合った型を身に付けられるといいかな
0800デフォルトの名無しさん (ワッチョイ f951-S+nL)
垢版 |
2023/03/12(日) 17:15:31.72ID:JeedQz+W0
テンプレというか、この手の移動が「W-1回の右移動とH-1回の下移動」の順列と一対一対応するのが典型では(ABC034-C とか)
0804デフォルトの名無しさん (ワッチョイ 81e6-JIpj)
垢版 |
2023/03/13(月) 00:42:27.93ID:tAERM5Ax0
DFSで解けるらしいというヒントだけで初見のC問題をDFSで実装して解けたけど4時間半掛かりました
すぐに分からないものを出来るまでやった方が良いみたいなことをどこかで見聞きしたので試してみたけど
もの凄い疲労感とちょっとだけ達成感
さっさと解説ACでどんどん数こなすのとどっちが効率良いんでしょうね
問題やその人の好みってことだと思いますが・・・
0805デフォルトの名無しさん (ワッチョイ 5543-YsaG)
垢版 |
2023/03/13(月) 16:05:40.89ID:7mT2rAwv0
解説ACするかは、記憶力に自信があるかじゃないかな
頑張って自力で解いた経験が無いと覚えられないならちゃんと取り組むべきだし、解説を次々開いても一読しただけで暗記できるなら解説ACの方が効率が良い
まぁ解説ACつっても典型要素のエッセンスはちゃんと復習してるけどな

あなたの場合、そもそも解説を読むだけではどこが典型か理解できないみたいだから、ちゃんと問題に取り組む時間を設けないとダメだと思う
0807デフォルトの名無しさん (ワッチョイ ce5b-lsaJ)
垢版 |
2023/03/13(月) 23:46:41.51ID:vLo5AekE0
この界隈、全体的にネット上の立ち回りが下手くそ
特にトッププレーヤー
0809デフォルトの名無しさん (アウアウウー Sa89-6iC+)
垢版 |
2023/03/15(水) 10:30:29.06ID:62k5ZXIga
ガイジスレ終了
0814デフォルトの名無しさん (アウアウウー Sa89-6iC+)
垢版 |
2023/03/15(水) 12:58:17.83ID:rDrD5Ip8a
ここはガイジスレの次スレって聞いたんですけどガイジがいないように見えます
私がファーストガイジになっていいですか?
0823デフォルトの名無しさん (ワッチョイ 4d10-NhGn)
垢版 |
2023/03/16(木) 13:14:47.88ID:tTuGCwYP0
制約から全探索が間に合うかどうか確認しておくといいよ
実装については類題解いて慣れるしかないと思うけど

普通にまともじゃね?
これで「この文章は出来て当然だと言わんばかりに煽ってる」って思うか普通?
0825デフォルトの名無しさん (ワッチョイ 4d10-NhGn)
垢版 |
2023/03/16(木) 13:28:57.67ID:tTuGCwYP0
C問題辺りからループの計算量を把握する必要がある問題が出始めるのでC問題で苦戦している層に対してのアドバイスとして1文目はまぁ妥当
実装が難しいって言う書き込みに対して実装はいろんな問題をやりながら慣れるしかないって回答してるから2文目は妥当
やっぱ普通じゃね?
0826デフォルトの名無しさん (ワッチョイ 4d10-NhGn)
垢版 |
2023/03/16(木) 13:30:51.01ID:tTuGCwYP0
Cでアップアップしてるやつにそれができないことを知りながら誰でもできるみたいな感じでマウント取るんじゃねえよ寒色のくせに

プログラマーが問題

つかこいつのほうが煽りカスだろ
ブラウザ一致してるから自演だし
0828デフォルトの名無しさん (アウアウウー Sa89-Aoo2)
垢版 |
2023/03/16(木) 13:34:29.87ID:k5zGeUtMa
C問題ができないってことは灰色だぞ?
それに計算量ができて当然みたいな言い方を妥当と言い張るのはどう誰が見ても煽りだよw
意図的に言ってるやつに何言っても無駄だがな
アドバイスするなら見積もり方くらい教えてやれや
寒色の癖にマウント取ってんじゃねえよ
0832デフォルトの名無しさん (ワッチョイ 5543-YsaG)
垢版 |
2023/03/16(木) 14:11:11.28ID:5yHkm1Rj0
マウント、とか寒色のくせに、とかは大抵自己紹介だから、つまり煽りカスなんでNGしておくと良いぞ
……と思ったがレスバが最初から目的っぽいな、5ch内なら氏名特定攻撃も来ないだろうし
0842デフォルトの名無しさん (ワッチョイ 4d10-NhGn)
垢版 |
2023/03/16(木) 17:28:58.10ID:tTuGCwYP0
ワッチョイ←回線会社固有、回線ごとに変化しない
初めの2文字←携帯だとあんまり変わらない
次の2文字←固定回線だとあんまり変わらない
最後の4文字←ブラウザと端末の種類による、過疎スレだとここが一致=自演
0849デフォルトの名無しさん (ワッチョイ 4ed7-6iC+)
垢版 |
2023/03/16(木) 18:02:49.01ID:xrZiXpyi0
効きすぎだろ
0863デフォルトの名無しさん (ワッチョイ faad-OF0a)
垢版 |
2023/03/17(金) 21:49:57.99ID:v6DwInoP0
早稲田大学 Twitter名さかえまな atcoder 名 na_kombu 真中紗枝
教育学部 25歳
0869デフォルトの名無しさん (ワッチョイ 13ad-gGwk)
垢版 |
2023/03/18(土) 02:40:41.68ID:cnAFfKbu0
早稲田大学 Twitter名さかえまな atcoder 名 na_kombu 真中紗枝
教育学部 25歳
0879デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/19(日) 22:42:50.25ID:y82GOv10p
今回Gまで簡単というか典型めで良かったけどオイラーツアーのライブラリ持ってなくて一から書いてたら橙パフォ逃しちゃった
というかGこんなに解かれるもんなんだインフレしすぎ
0884デフォルトの名無しさん (ワッチョイ d98c-d7tS)
垢版 |
2023/03/20(月) 00:08:10.86ID:gKXpc2uz0
Eバクりまくって4完。カス
0885デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/20(月) 00:29:14.29ID:1RFbVmDh0
multisetを使うDがレート380とか信じられないんだけど・・・
0894デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/20(月) 16:19:36.96ID:hAgeSbvHp
寒色diff程度の簡単めな問題なら解法分かってる状態で質問繰り返してしかも手直しまでしたら解けるに決まってるんだよな
解法が分かってない状態でも自分よりも高いパフォが出せるようになるかが問題
0907デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/20(月) 20:27:08.93ID:JGpTxGZup
>>906
当たり前っていうのはAIを適切な解き方に誘導したらそれに沿って解いてくれるのは当たり前って話をしていたつもりだった(3.5の時はこうしないと簡単な問題以外は解けなかった)

chatGPTがバージョン4になった今どういう風に解いてくれるのかは把握してないし先週のABCで7完したという話も初耳
0908デフォルトの名無しさん (ワッチョイ 1101-cF8N)
垢版 |
2023/03/20(月) 20:44:01.94ID:AhWhyU3m0
Moのアルゴリズム提案してくれたやつは問題を読ませた“だけ“ではなくて質問である程度誘導してたとは思う
(もちろんそれで提案してくれるのはめちゃくちゃ凄いが)
0914デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/20(月) 22:45:45.31ID:g4VcAGMh0
すまん
初心者なんだがIQが低すぎてこの問題が解けない
一つだけクリア出来ないテストケースがあるみたい

N以下の自然数でXの倍数またはYの倍数であるものはいくつあるか?

入力
N X Y
制約
1≦N≦10^6
1≦X<Y≦10^6

コード

#include<bits/stdc++.h>
using namespace std;

int main() {
long long n,x,y;
cin>>n>>x>>y;
if(y%x==0) cout<<n/x<<endl;
else cout<<n/x+n/y-n/(x*y)<<endl;
}
0926デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/21(火) 01:06:39.53ID:WiAWCQDG0
おそらくGTPにヒューリスティックを除くatcoder的なスキルはほとんど使われていない、使われてるのはニューラルネット、内積、最適化、強化学習など。何故か整数ばかりのパズル最適化は見当違いも良い所。
競プロは役に立たない。
0932デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/21(火) 13:55:08.65ID:WiAWCQDG0
>>930
トランスフォーマーの核なので強調してみたのじゃw

>>931
DSだけどどう温かい目で見てもABCの問題の大半は役に立たない。ガチ。
0934デフォルトの名無しさん (ワッチョイ a1bd-jnF6)
垢版 |
2023/03/21(火) 14:35:19.64ID:2zmgamhJ0
内積でqueryとkeyのある種の類似度を計算して重みとして利用するのはそうなんだけど、まず磨くようなスキルではないのではないかという
離散最適化が主なのはそうだけど、実質的には連続緩和して解くような問題もままあるので、連続最適化をしてないとも言えないし
0935デフォルトの名無しさん (アウアウウー Sa95-lF85)
垢版 |
2023/03/21(火) 15:06:25.17ID:icU0z8mba
Winnyの金子ですね判ります
0936デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/21(火) 17:35:53.57ID:1DnfyNWD0
問題
N 枚のカードが横一列に並べられています。左からi 番目のカードには整数Ai​が書かれています。
カードの中からいくつかを選んで、合計がちょうどS となるようにする方法はありますか。
制約
1≦N≦60
1≦Ai,S≦10000
入力は全て整数
入力
N S
A1…AN
0937デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/21(火) 17:44:43.69ID:1DnfyNWD0
質問です
これって動的計画法を使う問題ですよね
dp[i][j]をiまでのカードのなかで合計がjとなるようなカードの組み合わせが存在するかと考えても上手くいかないです
ほとんどのテストケースではACが取れるので全く検討違いというわけではないと思うのですが、有識者の目から見て間違ってる部分はありますか?
#include<bits/stdc++.h>
using namespace std;

using ll = long long ;
using bl = bool ;

#define Rep(i,a,b) for(ll i=a;i<=b;i++)

int main() {
ll n,s,A[69];
bl dp[69][10009];
cin>>n>>s;
Rep(i,1,n) cin>>A[i];
dp[0][0]=true;
Rep(i,1,s){
dp[0][i]=false;
}
Rep(i,1,n){
Rep(j,0,s){
if(dp[i-1][j]==true) dp[i][j]=true;
elif(dp[i-1][j-A[i]]==true) dp[i][j]=true;
else dp[i][j]=false;
}
}
if(dp[n][s]==true) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
0939デフォルトの名無しさん (ワッチョイ 1101-DNgm)
垢版 |
2023/03/21(火) 17:49:03.50ID:8HipxHLW0
>>937
全然ちゃんと確認してないんだけどj-A[i]で範囲外参照してそう

環境にもよるけど、 #define _GLIBCXX_DEBUG を入れると範囲外参照関連のデバッグはしてくれるから便利だよ(実行時間が遅くなる場合もあるから提出する時は外れるようにすると良い)

まあこういう遷移はめちゃくちゃ良くあるし慣れたらデバッグしないでも殆どミスらなくなると思う
0946デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:54:15.97ID:XBvF4hES0
質問
N個の正整数の最小公倍数を求める問題で分からない部分がありました。

コード1ではACが取れなかったのですが、コード2に変えてみたところACを取ることが出来ました。
数学的にはコード1もコード2も違いがないと思うのですが、何がいけなかったのでしょう。
頭を捻っても全く分かりません。
0947デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:54:42.44ID:XBvF4hES0
コード1
#include<bits/stdc++.h>
using namespace std;

ll Gcd(ll a,ll b){
while(a>=1 && b>=1){
if(a>b) a=a%b;
else b=b%a;
}
if(a!=0) return a;
return b;
}
int main() {
ll n,A[100009],g,l;
cin>>n;
Rep(i,1,n) cin>>A[i];
l=A[1];
Rep(i,2,n){
g=Gcd(l,A[i]);
l=(l*A[i])/g; ←変えたところ
}
cout<<l<<endl;
}
0948デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:55:09.27ID:XBvF4hES0
コード2
#include<bits/stdc++.h>
using namespace std;

ll Gcd(ll a,ll b){
while(a>=1 && b>=1){
if(a>b) a=a%b;
else b=b%a;
}
if(a!=0) return a;
return b;
}
int main() {
ll n,A[100009],g,l;
cin>>n;
Rep(i,1,n) cin>>A[i];
l=A[1];
Rep(i,2,n){
g=Gcd(l,A[i]);
l=(l/g)*A[i]; ←変えたところ
}
cout<<l<<endl;
}
0953デフォルトの名無しさん (ワッチョイ 0107-/Db4)
垢版 |
2023/03/22(水) 15:58:55.16ID:lb80FTnL0
今度からChatGPTに聞けよ
質問丸々手直しせずコピペして聞いたらこんなふうに答えたぞ

コード1とコード2は、最小公倍数を求めるアルゴリズムとしては等価です。しかし、2つのコードは演算の順序が異なります。

コード1では、(l*A[i])/g という式を用いて最小公倍数を更新しています。これは、 l と A[i] の積を g で割った商を最小公倍数としていることを意味します。

一方、コード2では、 (l/g)*A[i] という式を用いて最小公倍数を更新しています。これは、l と A[i] の積を g で割った余りを最小公倍数に加えたものとしています。この操作により、 l と A[i] の積が l と A[i] の最小公倍数になるように調整されています。

なぜコード2がコード1よりも正確であるかは、データ型の問題に関係しています。コード1では、(l*A[i])/g という式を用いることで、最小公倍数が ll 型で表現可能な範囲を超えてしまう可能性があります。一方、コード2では、 (l/g)*A[i] という式を用いることで、最小公倍数が ll 型で表現可能な範囲内に収まるようになっています。つまり、コード2は、最小公倍数が大きな値になる場合でも正確に計算できるようになっているということです。

以上のような理由から、コード2がより優れた実装方法と言えます。
0954デフォルトの名無しさん (ワッチョイ a1bd-jnF6)
垢版 |
2023/03/22(水) 16:10:47.83ID:psQ7vQwG0
別に元々質問が多くて困っているようなスレではないし、ここで聞く分には構わないと思うけど、ChatGPTの性能すごいね
ただ、誤ったことも自信満々に言うから、まだまだ初学者向けのサービスではないと思う
0957デフォルトの名無しさん (ワッチョイ 0107-/Db4)
垢版 |
2023/03/22(水) 16:23:05.26ID:lb80FTnL0
ちなみにbingで「N個の正整数の最小公倍数を求める問題はAtCoderのどれ?」と聞いて返ってきたのが次の返事

AtCoderの「数学とアルゴリズム」コンテストにある「017 - Least Common Multiple of N Integers」¹が、N個の正の整数A_1, A_2, ..., A_Nの最小公倍数を求める問題です。制約は、2 ≤ N ≤ 10^5, 2 ≤ A_i ≤ 10^18で、問題の答えは10^18以下です。¹

この問題は、AtCoderの「数学とアルゴリズム」コンテストにあるもので、N個の正の整数A_1, A_2, ..., A_Nの最小公倍数を求める問題です。¹¹:[AtCoder](https://atcoder.jp/contests/math-and-algorithm/tasks/math_and_algorithm_q)

ソース: Bing との会話 2023/3/22(1) 017 - Least Common Multiple of N Integers. https://atcoder.jp/contests/math-and-algorithm/tasks/math_and_algorithm_q アクセス日時 2023/3/22.
(2) AtCoder 版!マスター・オブ・整数 (素因数分解編) - Qiita. https://qiita.com/drken/items/a14e9af0ca2d857dad23 アクセス日時 2023/3/22.
(3) AtCoder 版!マスター・オブ・整数 (最大公約数編) - Qiita. https://qiita.com/drken/items/0c88a37eec520f82b788
0961デフォルトの名無しさん (ワッチョイ 0107-/Db4)
垢版 |
2023/03/22(水) 17:34:10.54ID:lb80FTnL0
>>959
間違ってる
電車が来てる時に線路内に入ってはいけないという制約があるとする
それを見ずアホが線路内に入って死んだとする
そいつが死んだ原因は制約か?
違うだろ

この質問の場合も制約があるから間違ったんじゃなく、制約がなくても間違ったんだぞ
10^9までの自然数という制約が無かった場合は条件分岐が必要になるがあるためにそれはしなくていい
制約は問題を簡単にしてるだけで難しくはしてない
0965デフォルトの名無しさん (ワッチョイ 0107-/Db4)
垢版 |
2023/03/22(水) 18:07:59.02ID:lb80FTnL0
ChatGPTはお前らより賢いから正しく言葉を理解して正しく答えたぞw

成約を見ないことで不正解になった場合、それは成約が原因と言える?

制約を無視してしまったことによって誤った結果が生じた場合、それは制約ではなく主にあなた自身が原因です。制約は、現実的な制限を示すものであり、それらを考慮しないことは、問題を引き起こす可能性があるためです。ただし、制約が明確でなく、十分に説明されていなかった場合は、誤解が生じる可能性があります。その場合、制約を理解しようと努力する必要があります。結局のところ、誤りを修正するためには、問題を引き起こす可能性のある要因を正確に特定し、それを修正する必要があります。
0968デフォルトの名無しさん (ワッチョイ 0107-/Db4)
垢版 |
2023/03/22(水) 18:47:43.32ID:lb80FTnL0
自分が正しいと思ってる間は無茶苦茶な強弁するのに証拠を突きつけられたら自演して人格攻撃に移りなおかつ自演のやり方の講義までするというガイジはいつになったら自分をガイジと認識できるんだ?w
0970デフォルトの名無しさん (テテンテンテン MM8b-hERk)
垢版 |
2023/03/22(水) 19:28:06.30ID:I3ioWv5uM
制約上オーバーフローしうることがWAの原因なんだから、制約も、その制約によってオーバーフローするようなコードを書いたことも、それぞれ原因と言っても別にいいだろ
マジでしょうもねえ…
0972デフォルトの名無しさん (アウアウウー Sa95-puZl)
垢版 |
2023/03/22(水) 20:09:59.70ID:B0eWQ6KXa
ほんとに何言ってるのかわからんわ
自分の中では理屈が通ってるんだろうけどどう通ってるのか想像することさえ難しい
0981デフォルトの名無しさん (ワッチョイ c95f-5jEH)
垢版 |
2023/03/23(木) 23:22:59.72ID:Ao+X9Xng0
日本語の言語能力が低く日本人にとってはありがいんだろうな。
0983デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/24(金) 20:08:26.11ID:YL1QOUou0
コーディングテストとしてjobsに関係ある層がほぼ消えるワケじゃからのぉ、ワシもrated参加はやめるのじゃ
0987デフォルトの名無しさん (ワッチョイ a5a4-SHnl)
垢版 |
2023/03/25(土) 02:10:10.73ID:pc8UC5Ad0
教プロはもうおしまいです
GCJとTopCoder Openという最も有名な最強の競プロerが競う大会は終了です
ABCもChat AIに無双されます
初心者も上級者も楽しめない競技になります
0990デフォルトの名無しさん (ワッチョイ 86ca-SHnl)
垢版 |
2023/03/25(土) 12:29:02.91ID:90xyxOUe0
ボケ防止としてはかなり有用じゃ、コンテストの体がないとやる気がせん
0998デフォルトの名無しさん (ワッチョイ 86ca-SHnl)
垢版 |
2023/03/25(土) 23:02:02.23ID:90xyxOUe0
3000人も解けてるけどこのD相当難しい、GTP4も解けてなかったし
1000デフォルトの名無しさん (ワッチョイ 81da-Obxx)
垢版 |
2023/03/25(土) 23:11:23.49ID:oNXBC9Tu0
>>998
同じくDで爆死。数字ごとのパリティまでは
気がついたのだが、長さNのビットベクトル
を10個作ってなんとかしようとしてしまった。
縦と横を入れ換える頭の柔軟性がなかった。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 89日 10時間 23分 46秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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