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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1f9f-qCnf)
垢版 |
2021/07/28(水) 21:58:48.02ID:nljYiy+l0
!extend:checked:vvvvv:1000:512
↑2行になるようにする

競技プログラミング、オンラインジャッジ、プログラミングコンテストやCTFに関する雑談スレ
次スレは>>950

AtCoder https://atcoder.jp/
yukicoder https://yukicoder.me/
Codeforces https://codeforces.com/
CodeChef https://codechef.com/
Project Euler https://projecteuler.net/
CLIST https://clist.by/
AtCoder Problems https://kenkoooo.com/atcoder/
AtCoder Clans https://kato-hiro.github.io/AtCoderClans/

※前スレ
競技プログラミングにハマるプログラマのスレ 62
https://medaka.5ch.net/test/read.cgi/prog/1626625368/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/08/19(木) 11:25:46.99ID:cVn6riSd0
逆にクラスカル法理解してれば無だからなあ
どの知識が何色かなんてこの漢字は何年生で習うでしょうってくらい難しいししょうもない
2021/08/19(木) 12:02:52.17ID:Lm0ZKUOKM
最小全域木やるだけが茶色くらいなイメージあるな
2021/08/19(木) 12:06:47.36ID:W7/x/NRZM
dpやるだけ
2021/08/19(木) 12:56:10.30ID:pBNq7Nwb0
クルスカル法を想起させたいなら最初から木構造にすな
2021/08/19(木) 13:11:02.73ID:Lj4tZxFZM
あれそんなにクラスカル法結び付く問題かなあ、実装方針が外形的に同じなだけで本質的な部分は別だと自分は感じたけど
2021/08/19(木) 13:19:00.82ID:VmP4TPOx0
クラスカル法とはあんまり関係ない気がする
2021/08/19(木) 13:20:11.00ID:W7/x/NRZM
おれもそう思うわ
たまたま実装方法がクラスカルっぽくなっただけと感じる
2021/08/19(木) 13:21:50.46ID:W7/x/NRZM
解いてるときも、別にクラスカルのことは連想しなかったけど、解けたし。
2021/08/19(木) 15:55:26.69ID:Xp2pw9Z80
考察全部終わってからクラスカルだなとはなったけど最初からクラスカルは違う気がする
2021/08/19(木) 17:06:54.35ID:XyFkWe0Hd
最小全域木やるだけは水色くらいありそうな気がするが…
ufやるだけが茶〜緑くらいのイメージ
2021/08/19(木) 19:38:17.56ID:Gif+FtHO0
一昔前ならUF使えて茶色なんてこと絶対なかったと思うんだけど、厳しすぎない?
2021/08/19(木) 20:03:19.71ID:lHWKO9NcM
知識問のdiffはこれからも下がっていきそう
昔より初級者はちゃんと勉強しないとレートが上がらないゲームになってるとは思う
2021/08/19(木) 20:39:43.61ID:U/+cw26+0
クラスカルとは全く違う

クラスカルは最小の和が欲しいから、小さい方から貪欲に見ていくのであって、今回のは各辺の寄与をみるのに小さい方からみるとうまくいくというだけ

アルゴリズムが本質として違いすぎる
2021/08/20(金) 17:51:46.53ID:sosiCxFj0
クラスカルとは違うけど枝を小さい順から見ていってunionするとか、プリムとは違うけど頂点集合のカットから最小の枝を選ぶとかの考え方を1度やっておくと
別の問題に帰着できそうね
245デフォルトの名無しさん (アウアウウー Sa63-wMFD)
垢版 |
2021/08/21(土) 00:34:03.74ID:uRKo8Igna
今月ARC一回だけか。。
2021/08/21(土) 15:45:30.51ID:V1ZE3jgcM
今日のFGHなにが出るだろうか
幾何系がそろそろ出てもおかしくないよね
2021/08/21(土) 16:31:30.90ID:TPRQrV4f0
CHT使うdpとか
248デフォルトの名無しさん (ワッチョイ ff02-VfHF)
垢版 |
2021/08/21(土) 22:10:18.81ID:7GAoG1Iq0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/21(土) 22:55:31.25ID:1B8QhnzYM
今回は比較的調整がうまく行ってる方なのかな?
Gは困難というほどでもないし、Fもちょうどいい塩梅
250デフォルトの名無しさん (ブーイモ MMc3-ujp1)
垢版 |
2021/08/21(土) 23:08:27.09ID:FoeKOLs+M
今日のC問題、26^8の並べ替えは全探索は無理と思ってたけど、8^8の並べ替え考えればいいんだな。
2021/08/21(土) 23:22:14.02ID:bLvUIapj0
原理を知ってると応用がきくって基本だけど大事よな
今回のD
2021/08/21(土) 23:32:07.02ID:1B8QhnzYM
noshiさんの言ってるTaylor shiftやっと理解した
f(x) = \sum_{n=0}^N c_n x^nとする
二項定理から
f(x+a) = \sum_{n=0}^N c_n (x+a)^n
= \sum_{i=0}^N (\sum_{n=i}^N a^{n-i} c_n \binom{n}{i}) x^i
これは二項係数をばらしてj=N-i, k=N-nとして
\sum_{j=0}^N x^j /(N-j)! \sum_{k=0}^j (a^{j-k}/(j-k)!)((N-k)! c_{N-k})
になる

この後ろの部分をよく見ると畳み込みになってて、
g(x) = \sum_{n=0}^{N} (a^i/i!) x^i
h(x) = \sum_{n=0}^{N} (N-i)! c_(N-i) x^i
の畳み込み(g*h)(x)のi次の項に1/(N-i)!倍すればいい
これでO(NlogN)でFPSの平行移動が計算可能
2021/08/21(土) 23:32:14.25ID:bLvUIapj0
さすがにleetcodeは無理
2021/08/22(日) 02:42:21.05ID:lA6zPNOR0
>>252
FPSではなく、多項式かと。
2021/08/22(日) 04:57:26.20ID:9hi5HAom0
何言ってるのかと思ったけど一般の FPS だと定数項を含む式は合成できないってことか
256デフォルトの名無しさん (ワッチョイ ff02-VfHF)
垢版 |
2021/08/22(日) 13:12:10.90ID:0Cz6ueFz0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/22(日) 13:20:23.57ID:emY9LezaH
>>254
>>255
ありがとう
最初Nが有限じゃなきゃ意味のない式だから確かにFPSじゃなくて多項式において適用可能か程度の認識で読んだけど、そもそも根本的に定数項を含むFPSを他のFPSに代入しちゃダメなのか
恥ずかしながら理解してなかった
確かに一般のFPSに1を代入したら容易に定数項が発散してしまうね
0に何掛けても0なので0次の項が爆発してしまう
2021/08/22(日) 23:15:22.56ID:eCBCrI1l0
ARC125-DのBIT使って解くパートがよくわからん教えて
2021/08/23(月) 00:00:54.44ID:rVUZWXnA0
dp[i]を先頭i個について最後の要素を必ず使う場合の答えとかしてそのままBITに乗せればいい
2021/08/23(月) 23:52:44.91ID:ylCgDGXX0
競技プログラミングは役に立たない

Competitive programming is useless
https://kislayverma.com/organizations/competitive-programming-is-useless/
2021/08/24(火) 11:36:43.63ID:86nlJJ+dM
ざっくり読んだけど、大意としては白カピさんが前言ってたようなことと大体似たような感じ?
優秀なITエンジニアを目指すことと競プロを突き詰めることは分けて考えた方がいいというのはまあそうだよねという感じ
2021/08/24(火) 12:55:23.18ID:s7mDIt89r
青くらいまで取れたら十分でそれ以上は趣味かな
2021/08/24(火) 14:53:30.06ID:dGk193ua0
独創的な問題じゃなくて、
「このような要件を持ったRailsアプリを作りなさい」

というのが実際に求められることだからな
2021/08/24(火) 15:01:44.46ID:dGk193ua0
あと競技プログラミングで作ったものって
他の人の役に立たないよね?

あんなに優秀(笑)な人が時間をかけて作業してるのに
競技プログラミングの成果は無駄になる

ものづくりのためにあるプログラミングなのに物を作らない
ものづくりに必要ない技術の競技なってるから役に立たない
2021/08/24(火) 15:18:14.22ID:hCwrk83dM
入り口の段階でコーディングに慣れたり頭の体操ができる的な効用はあると思うけどねー
まあ趣味なので一定レベル以上でそんなに実用的な期待のもとにやってる人は少ないと思う
266デフォルトの名無しさん (アウアウウー Sa63-y8ey)
垢版 |
2021/08/24(火) 21:34:58.15ID:2qNqCWyUa
黄 abc卒業、一つの到達点
青?
水 アルゴカンスト
緑 業務上は十分
茶 入色!

なんか青だけ中途半端だな。自分の立ち位置をうまく説明できなくて就職も失敗しそう
2021/08/24(火) 21:50:18.98ID:SMXHl8SK0
クイズ・頭の体操・コードゴルフ

プログラミングのお題スレとか、上田隆一のシェル芸と同じ
2021/08/24(火) 23:28:11.24ID:0WsJR9q70
Codeforces の時間です
2021/08/24(火) 23:43:32.61ID:dGk193ua0
Codeforces の時間は終わりました
来週の放送時間は未定です
270デフォルトの名無しさん (ワッチョイ ff90-DepB)
垢版 |
2021/08/25(水) 02:33:04.77ID:6jB+kuHx0
>>266
それ書いた頃から色1つ以上ずれてる予感
最大流が青以下で出てない以上黄色でもカンストしてないし、灰色で高度なグラフや最適化アルゴリズムを実用レベルで使うことも可能でミスリーディング

今のatcoderはアルゴリズムをダシにしたただの算数パズル
2021/08/25(水) 02:37:42.84ID:bVpxdvkM0
アルゴ力カンストしてます!とか言われても笑ってしまうわ
2021/08/25(水) 02:58:48.07ID:9ur9WLlqr
白カピを信仰しろ
2021/08/25(水) 03:13:33.31ID:QAFlw/BR0
こどふぉは B で詰まりまくって爆死した
整数1, 2個与えて計算してくれみたいな感じの問題が苦手っぽい
274デフォルトの名無しさん (ワッチョイ ff90-DepB)
垢版 |
2021/08/25(水) 03:26:54.54ID:6jB+kuHx0
グラフアルゴリズムを使えなくても、整数問題と漸化式と関連してdpが使えれば最悪青までいけるように調整してきたのがatcoder、受験生に優しい
275デフォルトの名無しさん (アウアウウー Sa63-CKVu)
垢版 |
2021/08/25(水) 04:56:41.94ID:hWSOgqtaa
門外漢に説明する場合実態よりも社長のブログ記事やから
2021/08/25(水) 10:41:38.03ID:bVpxdvkM0
こどふぉB、所謂整数1,2個系っぽくはない気がする 普通のDPであまり数学っぽくはないというか
2021/08/29(日) 22:37:29.72ID:O8C2ShXrr
全然参加してないっぽいね
2021/08/29(日) 22:41:26.84ID:wQMrMg8g0
ad hoc coder
2021/08/29(日) 22:55:37.34ID:Z+jA1Ny+M
牛ゲーっていうんだこれ
G問題なのにad hocで妙だなって思ってたけどちゃんと高度典型に関わる問題だったんだね
牛ゲーへの帰着よりad hoc解の方が簡単で結果みんな解けているけど
2021/08/29(日) 22:58:14.42ID:Z+jA1Ny+M
Gまで比較的簡単だったことを考えるとなおさらHが際立つね
2021/08/29(日) 23:03:52.50ID:6wJ9M+9P0
公式自体は知ってたけど固定されてるパターンしか見たことなくて応用できなかった
2021/08/29(日) 23:25:47.06ID:gwGacy3s0
ああGは区間スケジューリングみたいな貪欲でいけるんだ
天才では?
2021/08/29(日) 23:38:12.75ID:Z+jA1Ny+M
牛ゲー理解したけど、これ知ってても帰着に訓練が要りそう
2021/08/30(月) 00:04:52.56ID:zE3c6uCW0
最短経路問題に帰着したあと、負辺に悩んだ末にグラフの特殊な形を利用して準線形にしたけど
解説見てなるほどなあとなった
初手で反転するタイプのやつ全般、いつも見落としてしまうな
2021/08/30(月) 02:38:00.45ID:kWOHjgqd0
システムテスト弱forces
2021/08/30(月) 03:40:50.80ID:/wFsORFN0
Combined で E 通してる人と同室になる確率が低い
2021/08/31(火) 01:37:25.41ID:GJ5/Tp+20
もしや解説でないとかあるのか?
2021/08/31(火) 03:50:25.65ID:zWtj8ap20
なんの話かは知らんけど解説そのうち出すよといって何年も放置されてる問題は存在する
2021/08/31(火) 18:30:11.43ID:AswRbNW9M
日本語圏を掘るだけでもかなりの知見が発掘できるように中国語圏にも知見がたくさん集まってると思うんだけど、なんかまとめてるサイトとか知ってたりする?
2021/08/31(火) 21:10:30.18ID:hI7pxuUc0
ジャッジでよく聞くのはluogu libre uojとか?
個人ブログはcsdnで書いてる人が多いイメージ
2021/09/01(水) 12:14:20.08ID:fU+iEeheM
>>290
ありがとう
csdnはUIがどことなくredditに似てるね
多分zennとかqiita的なサービスなんだと思うけど
競プロは競争性編程(の簡体字)というみたいだ
2021/09/01(水) 12:15:18.08ID:fU+iEeheM
libreは見れたけどluoguは接続できないな
2021/09/03(金) 17:59:41.58ID:aZL21txy0
https://oi-wiki.org/
ここにまとまってる知見だけでもかなりの量
2021/09/03(金) 18:06:19.71ID:S4blRWG30
すごいwikiですね
2021/09/03(金) 18:30:45.42ID:zCAk3B080
大半は日本でも広く知られていそうだがときどきマニアックなのが紛れ込んでるな
2021/09/03(金) 23:09:38.04ID:ZQGey3GnM
>>293
これはすごい…
Chtholly Treeとか初めて聞いたな
前のABCに出てきたLGV公式とかも当然載ってる
2021/09/03(金) 23:16:13.01ID:ZQGey3GnM
牛ゲーのことを差分约束と呼んでるのか
2021/09/04(土) 22:47:23.13ID:iZFHdm7PH
Eみたいなの新しいデータ構造を作ってみようみたいな感じで面白いと思ったな
2021/09/04(土) 23:10:09.45ID:D7xNfee+0
vEB木って俺の考えた最強のデータ構造感があってかなり好き
実践では使わないけど
2021/09/04(土) 23:20:56.78ID:4070OU6NH
https://www.slideshare.net/catupper/nazoki
catupperさんがスライド出してる謎木だね
2021/09/06(月) 01:35:28.67ID:BDvSeAD00
実装重すぎforces
2021/09/11(土) 22:40:52.42ID:NWwhMr/N0
二次元壁画問題やめてください><
2021/09/11(土) 22:41:48.93ID:urand5+L0
Eで時間使いすぎた…
2021/09/11(土) 22:52:30.32ID:eUpul5/v0
c嫌い
2021/09/12(日) 01:13:19.29ID:XEnhxu4n0
逆にCみたいなのがプログラミングしてる感あって好き
2021/09/12(日) 01:33:19.35ID:kaW/Dkvg0
DPだと添字いくつあってもいいのに
幾何学が絡むと二次元でも頭が爆発するのなんでだろう
2021/09/12(日) 01:41:12.36ID:w/wqXHR50
単純に幾何に慣れてないだけとちゃうの
2021/09/12(日) 01:43:36.75ID:kaW/Dkvg0
その通りでございます
309デフォルトの名無しさん (ワッチョイ f177-9yYO)
垢版 |
2021/09/12(日) 04:27:40.04ID:7UxarLCX0
算数パズルと叩きまくれば普通のプログラミングやアルゴリズムの問題が増える
2021/09/14(火) 04:13:51.06ID:GzssHl260
https://twitter.com/kyopro_friends/status/1436693258298482688
を見るとABC218-Gがpriority_queueでも解けるように読めるんだけど、今回みたいにバックトラックが必要な場面でもこのテクニックは使えるもの?
multisetみたいに任意の要素を削除できないと厳しい気がするんだけど
https://twitter.com/5chan_nel (5ch newer account)
2021/09/14(火) 05:25:48.22ID:qg5T7rKqr
誰かが削除可能priority_queueのテクニックを紹介してた
2021/09/14(火) 07:41:25.33ID:KKCjfkYV0
出来はするけど面倒だからmultisetで書いた方が楽だと思うよ
2021/09/14(火) 11:44:56.93ID:MFIRQbY90
https://twitter.com/maspy_stars/status/1436690222465486848?s=21
これ?
https://twitter.com/5chan_nel (5ch newer account)
2021/09/14(火) 14:42:52.17ID:/xeH/JpQ0
>>313
C++書いててちょーショック
2021/09/14(火) 14:59:12.87ID:GzssHl260
なるほど…確かにこれなら削除できるね
言われてるようにmultisetのほうが楽だからあまり使わなそうだけど、勉強になったよ
ありがとう
2021/09/14(火) 15:42:22.96ID:h+pf9pNHM
なるほど
priority queueのメリットといえば定数倍の速さだけど、こっちの方が速かったりするのかな?
maspyさんはコドフォでは普通にC++を使ってるイメージ
2021/09/14(火) 18:34:53.52ID:SK+RosMiM
priority queueから削除が要る時は、追加する値を2倍+1、削除する値は2倍にして
同じキューに突っ込んで、取り出した値の下位1ビットが0の数だけスキップする
最強園児の選別でそんな感じのものを使った気がする
2021/09/14(火) 19:14:04.78ID:5jb1fRHV6
レート付き園児が出てくるやばい問題ね
min、maxおよび定数個のk分位点の取得はpriority queueでほぼ代用可能ということかな
検索は大体どの言語にもあるunordered_setで代替できる
lower_boundとかは無理そうか
まあ、平衡二分探索木の代用だとクエリ先読みできるんなら座圧BITの方が直感的にわかりやすい気がするけど
2021/09/19(日) 08:00:29.80ID:HCXVW8kB0
Ruby だと想定解通りに書いても遅くて通らないの何なの?言語差別なの?俺にCrystalの道を示してるの?
2021/09/19(日) 12:40:14.90ID:HwX1dH8g0
Rubyが遅すぎるんじゃないのかな使ったことないから知らんけど
余り遅すぎる言語に合わせるとC++とかでクソ解法が通ってしまうからしょうがないような気もする
一応Pythonなら通せるようにする方針らしいけど
321デフォルトの名無しさん (ワッチョイ 9732-t0a3)
垢版 |
2021/09/19(日) 13:16:18.07ID:NXnuF3oi0
Rubyはインタプリタとしては遅いわけではないが、JITコンパイルでもあまりはやくならないのが厳しい。PyPyのように速くなるものがあるといいんだけどね。
2021/09/19(日) 14:43:04.37ID:HCXVW8kB0
C++の軍門に下るかCrystalを極めるかしかないのか
昨日と先々週のD問題は想定解書いても通らなかったし、悔しいけどもうRubyじゃ無理なのか
323デフォルトの名無しさん (ワッチョイ f732-t0a3)
垢版 |
2021/09/19(日) 15:23:37.00ID:vAjqgmQ30
Ruby書けるならCrystalはすぐ書けるようになるよ。ほとんど同じ。

むしろ型アノテーションが使える分、Crystalの方が書きやすいまであるかも。個人の感想です。
324デフォルトの名無しさん (アウアウウー Sa5b-3TuO)
垢版 |
2021/09/19(日) 17:32:36.92ID:PtCH0+cLa
crystalはほんとよくできてるよね。静的型、null安全を実現しつつもrubyistがこだわる「rubyらしさ」がほとんど損なわれていない
2021/09/19(日) 17:42:41.13ID:0QFbDPlQ0
RubyはC++と比べると100倍ぐらい遅かったりするんでしょ?
制限時間を緩めてもらわないとさすがにキツそう
2021/09/24(金) 23:47:31.60ID:+K7ebcKh0
コンテスト前に抜くとパフォーマンス出ないジンクスあるからコンテストある日は禁欲してるんだけど、
みんなはそういうのある?
2021/09/25(土) 07:46:07.75ID:clKvl1Nc0
パスタじゃなくて米を食べるようにしている
なんか知らんが気分的に米の方がパフォーマンスが出る、自分にそう言い聞かせてるだけかもしれんが
2021/09/25(土) 09:58:53.83ID:jKOhIQ9/0
テンションの上がる音楽をかけながらだとパフォーマンスが上がる気がする
だいたいシューティングゲームのボス戦の曲だが...
2021/09/25(土) 13:30:23.74ID:YrZFQiAF0
>>328
こういうのはお好みですか?
https://www.youtube.com/watch?v=CZiHhS7r6M0

https://www.youtube.com/watch?v=4IgQ6LNE9Yo&;t=103s
または
https://www.youtube.com/watch?v=4IgQ6LNE9Yo&;t=728s
あるいは
330デフォルトの名無しさん (オッペケ Sr0f-agLc)
垢版 |
2021/10/16(土) 03:00:16.89ID:vcLu1S2Wr
うんち!w
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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