!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!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/
※前スレ
競技プログラミング総合スレ 65
https://mevius.5ch.net/test/read.cgi/tech/1672026457/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
競技プログラミング総合スレ 66
1デフォルトの名無しさん (アウアウウー Sa77-waiq)
2023/03/22(水) 15:19:42.08ID:9X0hpeOca308デフォルトの名無しさん (ワッチョイ 9f55-hzXf)
2023/05/05(金) 10:56:46.77ID:xYbtWehf0 >>307
そういうサイトがあるんですか。
a, b を実数とする。
a ≦ b とする。
[a, b], [a, b), (a, b], (a, b) を区間という。
d 個の区間 I_1, …, I_d の直積 B := I_1 × … × I_d を R^d の直方体という。
B_1, …, B_k を互いに共通部分のない R^d の直方体とする。
E = B_1 ∪ … ∪ B_k
とする。
i ∈ {1, …, k} とする。
B_i を含む E の部分集合の中で最大の直方体を求めよ。
この効率的な解法はありますか?
そういうサイトがあるんですか。
a, b を実数とする。
a ≦ b とする。
[a, b], [a, b), (a, b], (a, b) を区間という。
d 個の区間 I_1, …, I_d の直積 B := I_1 × … × I_d を R^d の直方体という。
B_1, …, B_k を互いに共通部分のない R^d の直方体とする。
E = B_1 ∪ … ∪ B_k
とする。
i ∈ {1, …, k} とする。
B_i を含む E の部分集合の中で最大の直方体を求めよ。
この効率的な解法はありますか?
309デフォルトの名無しさん (ワッチョイ bfd7-E7B+)
2023/05/05(金) 13:25:13.43ID:CuujTRH+0 あるよ
310デフォルトの名無しさん (ブーイモ MMab-8WUk)
2023/05/05(金) 18:31:53.93ID:zrOWQZW0M 自分で解けてなければ自作の問題とは言わん
311デフォルトの名無しさん (ワッチョイ 375f-67at)
2023/05/05(金) 21:17:04.26ID:0zwWrX/A0 よくわからないけど [0, 1) の最大の区間は存在しないんだけど大丈夫そ?
312デフォルトの名無しさん (アウアウウー Sa67-0YKo)
2023/05/13(土) 22:41:38.39ID:WJe+G9hta 5分延長か
面白い対応するね
面白い対応するね
313デフォルトの名無しさん (ワッチョイ 0333-qwOd)
2023/05/14(日) 00:45:51.21ID:KvQ47IR30 攻撃を受けてもratedという前例ができたのはよかった
314デフォルトの名無しさん (ワッチョイ 4307-9mXs)
2023/05/14(日) 06:52:48.64ID:NgHJ91w50 コンテストモードの敗北
315デフォルトの名無しさん (ワッチョイ f37c-ECSL)
2023/05/17(水) 05:36:16.93ID:UaIMjrrs0316デフォルトの名無しさん (ワッチョイ a32d-+/XS)
2023/05/17(水) 09:19:32.53ID:tRah0iPS0 >>315
Youtubeで本人の歌声も聴けるしな
Youtubeで本人の歌声も聴けるしな
317デフォルトの名無しさん (ワッチョイ d3b0-SwK+)
2023/05/20(土) 22:48:05.22ID:IbXAPdJ/0 6完…
今回は7完したかった…
今回は7完したかった…
318デフォルトの名無しさん (アウアウウー Sa2f-o1RM)
2023/05/20(土) 23:12:12.63ID:+EVZ8y+Ka 配点割とその通りだったな
319デフォルトの名無しさん (ワッチョイ 57db-3XON)
2023/05/22(月) 00:56:46.44ID:mBh1GEMi0 パフォーマンスがinfinityになった回って61以前にあった?
320デフォルトの名無しさん (ワッチョイ abb0-IOpb)
2023/05/27(土) 22:44:08.16ID:DM47Hxe/0 難しすぎるよ
321デフォルトの名無しさん (ワッチョイ abb0-IOpb)
2023/05/27(土) 23:33:38.14ID:DM47Hxe/0 コドフォもないし
322デフォルトの名無しさん (ワッチョイ 99b0-AV1S)
2023/06/03(土) 23:01:24.39ID:i1emxrQn0 6完
mod入力ミスってたのがアホすぎる
mod入力ミスってたのがアホすぎる
323デフォルトの名無しさん (ワッチョイ c6bd-2a7c)
2023/06/04(日) 16:31:49.86ID:VEMViUBd0 やっとE問題解けるようになってきた
E問題って一個一個の実行時間が長いんだな
E問題って一個一個の実行時間が長いんだな
324デフォルトの名無しさん (ワッチョイ c2bd-2a7c)
2023/06/04(日) 17:44:29.58ID:0q9gSB9x0 競プロ有段者(強い人)に質問
Atcoderで一段階上に行くためには解説を何も見ずとも解けるレベルの一段階上を同じように解けるレベルになるまでその問題を解説だけ見て実装は全て自分で、っていう感じでひたすら練習していくっていうやり方は有効?
自分の場合はD問題は9割ガタ解けて、Eがまだ実戦では歯が立たないレベル
Atcoderで一段階上に行くためには解説を何も見ずとも解けるレベルの一段階上を同じように解けるレベルになるまでその問題を解説だけ見て実装は全て自分で、っていう感じでひたすら練習していくっていうやり方は有効?
自分の場合はD問題は9割ガタ解けて、Eがまだ実戦では歯が立たないレベル
325デフォルトの名無しさん (ワッチョイ 45a4-Ya2I)
2023/06/04(日) 17:53:24.73ID:AGQzq0Q+0 うん
326デフォルトの名無しさん (ワッチョイ 02bd-2a7c)
2023/06/04(日) 20:29:27.17ID:z/tZxQvT0 E問題思ったより簡単だな
食わず嫌いしてた
食わず嫌いしてた
327デフォルトの名無しさん (ワッチョイ 469a-dFNS)
2023/06/06(火) 11:53:03.19ID:MhCqkbZk0 某所で「左右がバランスした括弧の列を生成する」という問題があり、解答が
void parenthesis(int l, int r, string& s, vector<string>& ans) {
if (l + r == 0) {
ans.push_back(s); return;
}
if (r < l) return;
if (l > 0) {
s.push_back('(');
parenthesis(l - 1, r, s, ans);
s.pop_back();
}
if (r > 0) {
s.push_back(')');
parenthesis(l, r - 1, s, ans);
s.pop_back();
}
}
(呼出の例) vector<string> ans; string s; parenthesis(4, 4, s, ans);
この if (r < l) return; が左右のバランス(単に'('と')'の数が同じというだけでなく)の条件に
効いているようですが、ピンとこないのです... 確かに正しい括弧の列のとき、それが成り
立つのはわかりますが、逆にそれがバランス条件を満たすのに十分であるというのが
どなたかわかりやすい説明はないでしょうか
void parenthesis(int l, int r, string& s, vector<string>& ans) {
if (l + r == 0) {
ans.push_back(s); return;
}
if (r < l) return;
if (l > 0) {
s.push_back('(');
parenthesis(l - 1, r, s, ans);
s.pop_back();
}
if (r > 0) {
s.push_back(')');
parenthesis(l, r - 1, s, ans);
s.pop_back();
}
}
(呼出の例) vector<string> ans; string s; parenthesis(4, 4, s, ans);
この if (r < l) return; が左右のバランス(単に'('と')'の数が同じというだけでなく)の条件に
効いているようですが、ピンとこないのです... 確かに正しい括弧の列のとき、それが成り
立つのはわかりますが、逆にそれがバランス条件を満たすのに十分であるというのが
どなたかわかりやすい説明はないでしょうか
328デフォルトの名無しさん (アウアウウー Sac5-l0ym)
2023/06/06(火) 12:29:54.00ID:GQVo4dJ/a しょーもない処理を複雑に描いてるだけのクソプログラムやな
この関数は最初の呼び出しでlとrが同じ数字なるよう入れるのが前提で
r<lの条件は例外処理みたいなもんやろ
この関数は最初の呼び出しでlとrが同じ数字なるよう入れるのが前提で
r<lの条件は例外処理みたいなもんやろ
329デフォルトの名無しさん (ワッチョイ 45a4-4Uvu)
2023/06/06(火) 12:35:33.96ID:UncR9VmG0 このコードの一部 `if (r < l) return;` について説明します。
ここで `l` と `r` はそれぞれまだ追加できる '(' の数と ')' の数を表しています。なので、このチェック `if (r < l) return;` は、')' の数が '(' の数より少なくなる場合、すなわち、開き括弧より閉じ括弧が少なくなる場合を防いでいます。
正しい括弧の列を生成するためには、2つの重要なルールを守らなければなりません:
1. 左括弧と右括弧の数が等しいこと
2. 任意の時点で、右括弧の数が左括弧の数を超えないこと
1つ目のルールは、左括弧と右括弧を同数だけ生成すれば満たされます。しかし、2つ目のルールはもう少し注意が必要です。それは、どの時点でも、閉じ括弧の数が開き括弧の数を超えてはならないからです。これを超えてしまうと、括弧の列が無効になってしまいます。
例えば、"())(" のような列は、開き括弧と閉じ括弧の数は同じでも、2番目の閉じ括弧が開き括弧を超えているため、無効な括弧の列となります。
だからこそ、`if (r < l) return;` のチェックが必要なのです。これにより、閉じ括弧の数が開き括弧を超えるような状況を防いでいます。これは、まだ追加できる閉じ括弧の数 `r` が、開き括弧 `l` より少なくなる場合、すなわち、閉じ括弧が開き括弧を超える可能性がある場合に、そのパスをすぐに終了させることで実現されています。
ここで `l` と `r` はそれぞれまだ追加できる '(' の数と ')' の数を表しています。なので、このチェック `if (r < l) return;` は、')' の数が '(' の数より少なくなる場合、すなわち、開き括弧より閉じ括弧が少なくなる場合を防いでいます。
正しい括弧の列を生成するためには、2つの重要なルールを守らなければなりません:
1. 左括弧と右括弧の数が等しいこと
2. 任意の時点で、右括弧の数が左括弧の数を超えないこと
1つ目のルールは、左括弧と右括弧を同数だけ生成すれば満たされます。しかし、2つ目のルールはもう少し注意が必要です。それは、どの時点でも、閉じ括弧の数が開き括弧の数を超えてはならないからです。これを超えてしまうと、括弧の列が無効になってしまいます。
例えば、"())(" のような列は、開き括弧と閉じ括弧の数は同じでも、2番目の閉じ括弧が開き括弧を超えているため、無効な括弧の列となります。
だからこそ、`if (r < l) return;` のチェックが必要なのです。これにより、閉じ括弧の数が開き括弧を超えるような状況を防いでいます。これは、まだ追加できる閉じ括弧の数 `r` が、開き括弧 `l` より少なくなる場合、すなわち、閉じ括弧が開き括弧を超える可能性がある場合に、そのパスをすぐに終了させることで実現されています。
330デフォルトの名無しさん (JP 0H56-RtFh)
2023/06/06(火) 12:49:04.77ID:FRsr3KcUH (を+1)を-1と対応させて累積和が常に非負っていうのがバランスしていることの必要十分条件であることを認めれば if(r < l)return; がそれの言い換えなことは明らか
証明したければ累積和が0になるところで文字列を分割して、それぞれの文字列の一番外側の括弧を取り外すとネストが一つ浅いものに帰着できるからネストの深さで帰納法を回すみたいなことを気をつけてやるといいんじゃないか
証明したければ累積和が0になるところで文字列を分割して、それぞれの文字列の一番外側の括弧を取り外すとネストが一つ浅いものに帰着できるからネストの深さで帰納法を回すみたいなことを気をつけてやるといいんじゃないか
331デフォルトの名無しさん (ワッチョイ 469a-dFNS)
2023/06/07(水) 08:00:55.26ID:nPOLblkw0332デフォルトの名無しさん (ワッチョイ 469a-dFNS)
2023/06/07(水) 08:33:42.08ID:nPOLblkw0 >>327のコードとは別に、
(と)をそれぞれn個使う正当な括弧列をレベルn(L=n)の括弧列と呼んだとき、L=nの括弧列から
L=n+1の括弧列はどう生成されるのかを考えてみたのですが
例えばL=2の()()はL=1の()の右か左に()を追加した、考えてみます
L=3の((()))はL=2の(())に ( + (()) + ) とした、と考えてみます
このように「全体を()で囲むか()を追加するかのルール」でいけるのかと思いきや
L=4の(())(())がL=3のどれからどう作られるのか、がよくわからず
( + ())(() + )ができたらいいのですが ())(() はL=3の正しい括弧列ではない
例えばL=3の (())() に (()) ( + () + ) と、括弧を割り込ませる? なんだかおかしい?
あるいはこれはL=2の(())を二つ並べた、と考えるべき?
要は、正しい括弧の追加操作のみをして再帰的に括弧列を生成することは可能なのか?
あるいは単にすべてのパターンを生成して正当でないのを刈り取ることしかできないのか?
などということが気になったのですが
(と)をそれぞれn個使う正当な括弧列をレベルn(L=n)の括弧列と呼んだとき、L=nの括弧列から
L=n+1の括弧列はどう生成されるのかを考えてみたのですが
例えばL=2の()()はL=1の()の右か左に()を追加した、考えてみます
L=3の((()))はL=2の(())に ( + (()) + ) とした、と考えてみます
このように「全体を()で囲むか()を追加するかのルール」でいけるのかと思いきや
L=4の(())(())がL=3のどれからどう作られるのか、がよくわからず
( + ())(() + )ができたらいいのですが ())(() はL=3の正しい括弧列ではない
例えばL=3の (())() に (()) ( + () + ) と、括弧を割り込ませる? なんだかおかしい?
あるいはこれはL=2の(())を二つ並べた、と考えるべき?
要は、正しい括弧の追加操作のみをして再帰的に括弧列を生成することは可能なのか?
あるいは単にすべてのパターンを生成して正当でないのを刈り取ることしかできないのか?
などということが気になったのですが
333デフォルトの名無しさん (ワッチョイ 012d-UlWg)
2023/06/07(水) 09:49:06.82ID:Bta2HQ7X0 >>332
結論から言うと、それは難しい問題であり、一般的なアプローチでは、「全てのパターンを生成し、
それがバランスの取れた括弧列であるかどうかを判定する」という方法が用いられます。
しかし、バランスの取れた括弧列を生成するための一種の再帰的なパターンは存在します。
それは、大きさnの全てのバランスの取れた括弧列を生成した後で、その各々に対して以下の操作を行うことです:
1. '(' + P + ')' を追加する
2. P + '()' を追加する
3. '()' + P を追加する
ここで P は大きさnの任意のバランスの取れた括弧列です。
この操作を行うと、全ての大きさn+1のバランスの取れた括弧列を生成することができます。
ただし、これは重複する列を生成する可能性があるため、生成された列は一意であることを保証するために
何らかの方法で重複を除去する必要があります。
したがって、厳密には「全てのパターンを生成し、それがバランスの取れた括弧列であるかどうかを判定する」
という方法とは異なりますが、これは一種の再帰的なアプローチと言えます。
しかし、これらのアプローチは計算時間やメモリ使用量の観点から見ると、>>327に示されたDFSを用いたアプローチに比べて
効率的ではないかもしれません。また、DFSを用いたアプローチは明確に「正しい括弧の追加操作のみ」を行っていると言えます。
なぜなら、すべての括弧列を生成する過程で、同時にその列が正しい括弧列であるかどうかをチェックすることが可能だからです。
結論から言うと、それは難しい問題であり、一般的なアプローチでは、「全てのパターンを生成し、
それがバランスの取れた括弧列であるかどうかを判定する」という方法が用いられます。
しかし、バランスの取れた括弧列を生成するための一種の再帰的なパターンは存在します。
それは、大きさnの全てのバランスの取れた括弧列を生成した後で、その各々に対して以下の操作を行うことです:
1. '(' + P + ')' を追加する
2. P + '()' を追加する
3. '()' + P を追加する
ここで P は大きさnの任意のバランスの取れた括弧列です。
この操作を行うと、全ての大きさn+1のバランスの取れた括弧列を生成することができます。
ただし、これは重複する列を生成する可能性があるため、生成された列は一意であることを保証するために
何らかの方法で重複を除去する必要があります。
したがって、厳密には「全てのパターンを生成し、それがバランスの取れた括弧列であるかどうかを判定する」
という方法とは異なりますが、これは一種の再帰的なアプローチと言えます。
しかし、これらのアプローチは計算時間やメモリ使用量の観点から見ると、>>327に示されたDFSを用いたアプローチに比べて
効率的ではないかもしれません。また、DFSを用いたアプローチは明確に「正しい括弧の追加操作のみ」を行っていると言えます。
なぜなら、すべての括弧列を生成する過程で、同時にその列が正しい括弧列であるかどうかをチェックすることが可能だからです。
334デフォルトの名無しさん (ワッチョイ 7d5f-RtFh)
2023/06/07(水) 10:10:41.04ID:WomvMCD50 >>332
>>333 は嘘
バランスした括弧列の定義は全体を括弧で囲む操作と括弧列2つの結合で生成される集合だから、その()を追加するっていうのを右か左に追加するって意味だとするとレベル2以上の文字列同士の結合が考慮されていないの
で、(())(())が作れない
中に()を挿入することを許すとすると、今度は全体を括弧で囲む操作はいらなくなる
というのも、どんな空でないバランスした括弧列にも()の部分があるから、それを取り除くことを繰り返すことで空にできるから、逆に空文字列に()を追加していくことで任意のバランスした括弧列が作れるし、バランスした括弧列の任意の箇所に()を挿入した文字列もまたバランスした括弧列になっている
>>333 は嘘
バランスした括弧列の定義は全体を括弧で囲む操作と括弧列2つの結合で生成される集合だから、その()を追加するっていうのを右か左に追加するって意味だとするとレベル2以上の文字列同士の結合が考慮されていないの
で、(())(())が作れない
中に()を挿入することを許すとすると、今度は全体を括弧で囲む操作はいらなくなる
というのも、どんな空でないバランスした括弧列にも()の部分があるから、それを取り除くことを繰り返すことで空にできるから、逆に空文字列に()を追加していくことで任意のバランスした括弧列が作れるし、バランスした括弧列の任意の箇所に()を挿入した文字列もまたバランスした括弧列になっている
335デフォルトの名無しさん (ワッチョイ a905-4Uvu)
2023/06/07(水) 11:08:01.09ID:DYKBdUd80 >>331
ご指摘の通り、このコードでは再帰的に右側に括弧を追加しています。具体的には、まず左括弧を追加し、その後で右括弧を追加しています。
この if (r < l) return; の制約は、この追加の順序に基づいています。開始時点では、開き括弧と閉じ括弧の数が等しく(つまり、l == r)、左括弧を先に追加します。そのため、追加の過程では一時的に l が r より小さくなります。しかし、その後すぐに右括弧を追加することでバランスを保ちます。
if (r < l) return; のチェックにより、右括弧が先に追加される(つまり、r < l となる)状況を防いでいます。これは、左括弧を追加した後でのみ右括弧を追加するという、このコードの括弧の追加の順序を反映しています。そのため、この制約が満たされない場合(つまり、右括弧が先に追加される場合)、そのパスは無効となり、すぐに終了します。
したがって、この if (r < l) return; の制約は、このコードの括弧の追加の順序に基づいて、左括弧と右括弧が正しくバランスを保つことを保証しています。
ご指摘の通り、このコードでは再帰的に右側に括弧を追加しています。具体的には、まず左括弧を追加し、その後で右括弧を追加しています。
この if (r < l) return; の制約は、この追加の順序に基づいています。開始時点では、開き括弧と閉じ括弧の数が等しく(つまり、l == r)、左括弧を先に追加します。そのため、追加の過程では一時的に l が r より小さくなります。しかし、その後すぐに右括弧を追加することでバランスを保ちます。
if (r < l) return; のチェックにより、右括弧が先に追加される(つまり、r < l となる)状況を防いでいます。これは、左括弧を追加した後でのみ右括弧を追加するという、このコードの括弧の追加の順序を反映しています。そのため、この制約が満たされない場合(つまり、右括弧が先に追加される場合)、そのパスは無効となり、すぐに終了します。
したがって、この if (r < l) return; の制約は、このコードの括弧の追加の順序に基づいて、左括弧と右括弧が正しくバランスを保つことを保証しています。
336デフォルトの名無しさん (オッペケ Sr91-BHVC)
2023/06/07(水) 14:48:36.26ID:w+aRYGw/r 非負のランダムウォーク書いて+1-1を()に対応させるだけだろ
337デフォルトの名無しさん (ワッチョイ 797f-Ydfh)
2023/06/10(土) 17:29:19.24ID:0oQUevmP0338デフォルトの名無しさん (ワッチョイ 89b0-SVCw)
2023/06/10(土) 22:46:50.51ID:sqwX2ns70 6完…
途中まではいいペースもFで帰りがけにも頂点集合受け取るの忘れて時間ギリギリに
途中まではいいペースもFで帰りがけにも頂点集合受け取るの忘れて時間ギリギリに
339デフォルトの名無しさん (ワッチョイ 7b9a-D1r1)
2023/06/11(日) 20:43:12.18ID:Fc1cWZtx0340デフォルトの名無しさん (ワッチョイ 7b9a-D1r1)
2023/06/11(日) 20:59:44.70ID:Fc1cWZtx0 しかし、解く時間が限られている場合にグダグダ悩んでいる暇はないよなあ
そういう場合パターンを覚えておくしかない?
そういう場合パターンを覚えておくしかない?
341デフォルトの名無しさん (ワッチョイ 61b0-8SEE)
2023/06/17(土) 22:47:22.26ID:/YYtpwSS0 ジャッジが終わらないよ
342デフォルトの名無しさん (テテンテンテン MM96-/52B)
2023/06/17(土) 23:10:07.92ID:dXHH06bsM unratedおおすぎ
343デフォルトの名無しさん (ワッチョイ 92ad-zFGp)
2023/06/17(土) 23:16:56.58ID:re9nMjXH0 アーロンジャッジたすけて
344デフォルトの名無しさん (ワッチョイ 092d-dYQK)
2023/06/18(日) 04:25:23.41ID:KT9X3u120 atcoderがddos受けてるとして、潰して得をするのは誰だ?
345デフォルトの名無しさん (アウアウウー Sacd-c3fv)
2023/06/18(日) 11:57:26.20ID:zhu3s9uha ロシア中国
346デフォルトの名無しさん (ワッチョイ a325-p5N0)
2023/06/24(土) 17:44:41.70ID:SdmUsAHw0 ガイジのみんなこっちおいで😆
怖がる必要ないよ✌
怖がる必要ないよ✌
347デフォルトの名無しさん (オッペケ Sr81-g5c7)
2023/06/24(土) 18:57:52.69ID:JQRvym1Fr うおおおおおおおお🤓
348デフォルトの名無しさん (ワッチョイ a325-p5N0)
2023/06/24(土) 19:30:32.53ID:SdmUsAHw0 他のガイジもこっちおいで!
349デフォルトの名無しさん (ワッチョイ a3bd-/B6M)
2023/06/24(土) 22:23:51.32ID:+O4dPU7T0 攻撃されてね?
350デフォルトの名無しさん (ワッチョイ a325-cli0)
2023/06/24(土) 22:28:05.07ID:SdmUsAHw0 落ちてる!クソすぎ!!!
351デフォルトの名無しさん (ワッチョイ 75b0-GDjS)
2023/06/24(土) 22:42:50.37ID:ZtOuHWP80 せっかくG解けたのに1分遅れになってしまった…
352デフォルトの名無しさん (アウアウウー Sa69-Auuh)
2023/06/24(土) 22:55:29.87ID:gDpwuzMxa アンレでしょ、ね?ね?
353デフォルトの名無しさん (ワッチョイ 75b0-GDjS)
2023/06/24(土) 22:56:49.69ID:ZtOuHWP80 ところでC正解者少なすぎ
354デフォルトの名無しさん (ワッチョイ a325-cli0)
2023/06/24(土) 23:12:14.22ID:SdmUsAHw0 10:10くらい?から今(10:50)までずっとatcoder開けませんが、同じ人いるかな
なんてツイートしてるひともいるね
なんてツイートしてるひともいるね
355デフォルトの名無しさん (ワッチョイ 9dda-0drY)
2023/06/25(日) 01:40:55.82ID:9o2+M89H0 このコードがaws環境でsegmentationfaultになる原因わかる人いる?
ちなみにatcoderではこのコードでACを取れたので致命的な間違いがあるわけでは無さそう
int main(){
ll n, q, dp[39][100009], A[100009];
cin >> n >> q;
rep(i, 1, n) {
cin >> A[i];
dp[0][i] = A[i];
}
rep(i, 1, 29){
rep(j, 1, n){
dp[i][j] = dp[i-1][dp[i-1][j]];
}
}
rrep(i, q){
ll x, y;
cin >> x >> y;
ll cur = x;
Rep(j, 29, 0){
if((y & (1 << j)) != 0) cur = dp[j][cur];
}
cout << cur << endl;
}
}
ちなみにatcoderではこのコードでACを取れたので致命的な間違いがあるわけでは無さそう
int main(){
ll n, q, dp[39][100009], A[100009];
cin >> n >> q;
rep(i, 1, n) {
cin >> A[i];
dp[0][i] = A[i];
}
rep(i, 1, 29){
rep(j, 1, n){
dp[i][j] = dp[i-1][dp[i-1][j]];
}
}
rrep(i, q){
ll x, y;
cin >> x >> y;
ll cur = x;
Rep(j, 29, 0){
if((y & (1 << j)) != 0) cur = dp[j][cur];
}
cout << cur << endl;
}
}
356デフォルトの名無しさん (ワッチョイ 9dda-0drY)
2023/06/25(日) 01:41:11.75ID:9o2+M89H0 どこかおかしい部分あるかな
357デフォルトの名無しさん (ワッチョイ 4bd6-1Bpn)
2023/06/25(日) 02:14:14.53ID:0IEJDuKo0 スタックサイズ
358デフォルトの名無しさん (アウアウウー Sa69-Auuh)
2023/06/25(日) 02:15:11.19ID:3TXiYfiya >>355
マルチは市ね
マルチは市ね
359デフォルトの名無しさん (アウアウウー Sa69-yAbC)
2023/06/29(木) 15:31:24.42ID:wEpX0/Cla Twitterのpaizaの広告とかに必ず現れる
「入力値をチェックしていない」
という返信をつける人は、具体的に何をチェックして、どう処理するの?
「入力値をチェックしていない」
という返信をつける人は、具体的に何をチェックして、どう処理するの?
360デフォルトの名無しさん (アウアウウー Sa69-yAbC)
2023/06/29(木) 15:35:22.33ID:wEpX0/Cla たとえば、
・Nは偶数
・AとBの合計はN未満
といった制約は、実際のプログラムならチェックして例外をスローする
しかし、
「nが整数値じゃない場合をチェックしていない」
みたいなよくわからない難癖をつける人もいる
整数値じゃなければint型にパースするときに、ほとんどの言語で例外になるからいいのでは
・Nは偶数
・AとBの合計はN未満
といった制約は、実際のプログラムならチェックして例外をスローする
しかし、
「nが整数値じゃない場合をチェックしていない」
みたいなよくわからない難癖をつける人もいる
整数値じゃなければint型にパースするときに、ほとんどの言語で例外になるからいいのでは
361デフォルトの名無しさん (スププ Sd43-2HPs)
2023/06/29(木) 15:50:34.59ID:WjHgY0Cmd362デフォルトの名無しさん (ワッチョイ 7fb0-+Ydp)
2023/07/01(土) 22:45:27.97ID:rC0kSH/20 今回は簡単めでしたね
G解けなかったけど
G解けなかったけど
363デフォルトの名無しさん (ワッチョイ e2da-l2Kc)
2023/07/01(土) 23:33:06.19ID:x6PMIr/p0 コンテスト初参加
C問題があまりにも酷いと思った
20分くらいかけて、priorityqueue<pair<double、int>> に値をプッシュする時にpairのsecondの方にマイナスを付ければ良いことに気がついたもののWA
何を試してもWAで、doubleの精度に問題があるんじゃないかと思って、ネット検索をしたら、long doubleという型があることを知り、試してみたら無事AC
C問題で時間とメンタルを削られてD問題は諦めた
初参加とはいえ茶パフォはあまりに脳障害すぎるだろ
C問題があまりにも酷いと思った
20分くらいかけて、priorityqueue<pair<double、int>> に値をプッシュする時にpairのsecondの方にマイナスを付ければ良いことに気がついたもののWA
何を試してもWAで、doubleの精度に問題があるんじゃないかと思って、ネット検索をしたら、long doubleという型があることを知り、試してみたら無事AC
C問題で時間とメンタルを削られてD問題は諦めた
初参加とはいえ茶パフォはあまりに脳障害すぎるだろ
364デフォルトの名無しさん (ワッチョイ e2da-l2Kc)
2023/07/01(土) 23:39:31.52ID:x6PMIr/p0 今回のC問題でpriorityqueueを使ったんだけど、priorityqueue<pair<double、int>> に値をプッシュする時、pairのsecondの方に-をつけて取り出す順番を工夫するのって典型?
ちょっとした閃きだけど思いついた時は俺ちょっと頭いいんじゃねって思っちゃった
その後ものの見事に脳障害っぷりを晒してしまったけど
ちょっとした閃きだけど思いついた時は俺ちょっと頭いいんじゃねって思っちゃった
その後ものの見事に脳障害っぷりを晒してしまったけど
365デフォルトの名無しさん (ワッチョイ a225-+ypZ)
2023/07/01(土) 23:43:47.83ID:L7MIkgdg0 その発想は天才だよ、才能あるね
366デフォルトの名無しさん (ササクッテロラ Sp5f-RHsg)
2023/07/01(土) 23:50:30.60ID:wjWc9sXDp マジレスすると符号付けて逆順にすることで実装をシンプルにするのはかなりの典型です
367デフォルトの名無しさん (アウアウウー Sabb-zrhl)
2023/07/01(土) 23:53:37.30ID:6JFt9TARa むしろそのマイナスにするのが主題と言ってもいいくらい
368デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/01(土) 23:57:08.30ID:CM44ThHXa C++ってFraction無いんだっけ?
まあ無くても自分で通分すれば済む話だが
まあ無くても自分で通分すれば済む話だが
369デフォルトの名無しさん (ワッチョイ e2da-l2Kc)
2023/07/02(日) 00:35:29.46ID:sYDH7cmq0 なるほど、ただの典型だったか…
ただ、その典型を自分で思いついたのはちょっと嬉しい
ただ、その典型を自分で思いついたのはちょっと嬉しい
370デフォルトの名無しさん (ワッチョイ e2da-l2Kc)
2023/07/02(日) 00:39:10.97ID:sYDH7cmq0 先程 D問題をACしてきた
結構簡単だし、C問題を普通に解けていたら多分四完出来た
今回のC問題みたいに本質的じゃない部分(long doubleという型を知っているかどうかみたいな)を問うのは本当にやめた方が良いと思う 問題の質がシンプルに低い
結構簡単だし、C問題を普通に解けていたら多分四完出来た
今回のC問題みたいに本質的じゃない部分(long doubleという型を知っているかどうかみたいな)を問うのは本当にやめた方が良いと思う 問題の質がシンプルに低い
371デフォルトの名無しさん (アウアウウー Sabb-zrhl)
2023/07/02(日) 01:16:07.96ID:3YsXAzA4a 小数の精度についての理解を問うなかなかの良問だと思ったけどね
372デフォルトの名無しさん (ワッチョイ cb5f-5Jqn)
2023/07/02(日) 01:33:02.66ID:K/v1SCuX0 浮動小数点数での出力を求められていない場合に浮動小数点数を使うのはアンチパターン
分数を管理する構造体を持ち出したり適切な比較関数を書いたりして対処するべき
分数を管理する構造体を持ち出したり適切な比較関数を書いたりして対処するべき
373デフォルトの名無しさん (ササクッテロラ Sp5f-RHsg)
2023/07/02(日) 03:53:32.35ID:FFIcTLPjp 前回のC問題はただめちゃくちゃ面倒なだけでアレだったけど今週のC問題は何も悪くないし非本質的でもないだろ
浮動小数点数は誤差に気をつけるべきなんて競プロでは身につけておくべき典型知識だし競プロ外でも浮動小数点数の仕組みは知っておくべきだしm
浮動小数点数は誤差に気をつけるべきなんて競プロでは身につけておくべき典型知識だし競プロ外でも浮動小数点数の仕組みは知っておくべきだしm
374デフォルトの名無しさん (ササクッテロラ Sp5f-RHsg)
2023/07/02(日) 03:56:07.16ID:FFIcTLPjp 強いて言うならlong double型で無理矢理通すような解答を弾けるような設定にして比較関数やら有理数型を表す構造体やらの整数しか登場しなくて誤差の心配がない解答のみが通るようにしてほしかったがCでそれは酷かもしれない
375デフォルトの名無しさん (ワッチョイ d701-OYD+)
2023/07/02(日) 04:23:31.59ID:vN/hop9Q0 long double使わなくても解けるし、それ知らないと解けないと言ってる人のレベルが低すぎるだけ
376デフォルトの名無しさん (ワッチョイ 12bd-+Mc8)
2023/07/02(日) 08:45:23.44ID:TDPjDhzP0 E問題の意味が分からないんだが。
俺の考えたアルゴリズムは、
Mが0,1,2になる数、
Eが0,1,2になる数、
Xが0,1,2になる数、
を全て数えて
各組み合わせ27通りについて、
mex×場合分けの数
っていうやり方をしたんだがサンプル3の問題からしてそもそも合わない
日本語下手で説明難しいからコードを見てほしい。
https://atcoder.jp/contests/abc308/submissions/43167367
このやり方がなぜいけないのかわからない
コンテスト中「E問題いけるやん!」と思ってただけに絶望だったわ、はぁ。。
俺の考えたアルゴリズムは、
Mが0,1,2になる数、
Eが0,1,2になる数、
Xが0,1,2になる数、
を全て数えて
各組み合わせ27通りについて、
mex×場合分けの数
っていうやり方をしたんだがサンプル3の問題からしてそもそも合わない
日本語下手で説明難しいからコードを見てほしい。
https://atcoder.jp/contests/abc308/submissions/43167367
このやり方がなぜいけないのかわからない
コンテスト中「E問題いけるやん!」と思ってただけに絶望だったわ、はぁ。。
377デフォルトの名無しさん (ワッチョイ 12bd-+Mc8)
2023/07/02(日) 08:51:37.04ID:TDPjDhzP0 関係ないけど、dictのkeyで回せば
if k not in dic["X"]:
continue
みたいなのいらなかったな
if k not in dic["X"]:
continue
みたいなのいらなかったな
378デフォルトの名無しさん (ワッチョイ 6710-GKTn)
2023/07/02(日) 08:52:36.78ID:IX/DQMpQ0 i<j<k
379デフォルトの名無しさん (ワッチョイ 12bd-+Mc8)
2023/07/02(日) 08:55:34.57ID:TDPjDhzP0 >>378
ないてもいい?
ないてもいい?
380デフォルトの名無しさん (ワッチョイ 12bd-+Mc8)
2023/07/02(日) 09:02:55.87ID:TDPjDhzP0 雑なやり方だけど、
「E」に来た時点で、それより前のMの各012の数と
それより後のXの「012」の数を保持しておけば簡単に解けたわけか
「E」に来た時点で、それより前のMの各012の数と
それより後のXの「012」の数を保持しておけば簡単に解けたわけか
381デフォルトの名無しさん (ワッチョイ ceca-Sjvf)
2023/07/02(日) 10:28:08.37ID:ZqX35jN50 Cみたいなのが普通に小数にしてソートして解けないとか、現実的に不要な精度を求めてるからじゃ。工夫して分数を比較とか一般的なプログラミングではあり得ない。
382デフォルトの名無しさん (ワッチョイ d701-runv)
2023/07/02(日) 11:00:12.04ID:zHWl+4BQ0 一切の誤差が許容できないケースは業プロでもあり得ると思う
383デフォルトの名無しさん (ワッチョイ e2ad-P14V)
2023/07/02(日) 11:08:00.56ID:KeYtCxoR0 COBOL使われてそう
384デフォルトの名無しさん (ワッチョイ 6743-usyi)
2023/07/02(日) 11:14:00.32ID:w7ISOQF/0 普通に業プロでも浮動小数点の誤差でやらかすのあるあるだけどな
とくに一致判定しだすと大抵はテストを通って後でトラブる
とくに一致判定しだすと大抵はテストを通って後でトラブる
385デフォルトの名無しさん (ワッチョイ a225-+ypZ)
2023/07/02(日) 11:34:46.41ID:13GYnxJn0 むしろ業プロはバグだらけで運用でカバーするのが当たり前だか?
バグなくなるまでQAとデバッグしてたらいつまでたっても終わらない
バグなくなるまでQAとデバッグしてたらいつまでたっても終わらない
386デフォルトの名無しさん (ワッチョイ a225-+ypZ)
2023/07/02(日) 11:37:01.69ID:13GYnxJn0 当たり前だが?
387デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/02(日) 11:40:04.07ID:uPRSXMfXa >>381
あり得ないのは誤差があることを知りながらdoubleを使うことだぞ
誤差が許容できないとわかってて整数で誤差のない計算ができることもわかってるんだから整数で計算するべき
わかってないお前が無能というだけ
あり得ないのは誤差があることを知りながらdoubleを使うことだぞ
誤差が許容できないとわかってて整数で誤差のない計算ができることもわかってるんだから整数で計算するべき
わかってないお前が無能というだけ
388デフォルトの名無しさん (ワッチョイ ceca-Sjvf)
2023/07/02(日) 11:40:34.10ID:ZqX35jN50 しかし、スポーツとかゲームの勝率を管理するシステムがあったとして、
小数点以下6桁以上の精度のために内部的に分子分母を整数で別々に保存してるとは思えないのだがwww
小数点以下6桁以上の精度のために内部的に分子分母を整数で別々に保存してるとは思えないのだがwww
389デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/02(日) 11:56:01.97ID:uPRSXMfXa 思えよw
勝ち数と試合数を保存してるに決まってるだろw
勝ち数と試合数を保存してるに決まってるだろw
390デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/02(日) 11:57:10.10ID:uPRSXMfXa 逆に勝率だけ保存してその後の試合の結果どうすんの?w
過去の勝率からどうやって現在の勝率を計算するんだよw
過去の勝率からどうやって現在の勝率を計算するんだよw
391デフォルトの名無しさん (ワッチョイ ceca-Sjvf)
2023/07/02(日) 12:04:01.86ID:ZqX35jN50 それは当然してるけど、orderbyで引き出すときに、勝率をatcoder流でソートするとか多分ないw
ワテが知らないだけで分数流ベイズ統計学とかあるのかw
ワテが知らないだけで分数流ベイズ統計学とかあるのかw
392デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/02(日) 12:04:59.74ID:762mJONda お前の我流が間違ってるだけだぞ
393デフォルトの名無しさん (アウアウウー Sabb-zrhl)
2023/07/02(日) 12:50:39.91ID:3YsXAzA4a 普通に業務でもあり得るんだよなぁ
394デフォルトの名無しさん (スプッッ Sd7a-Tn1R)
2023/07/02(日) 15:00:00.77ID:Kiw2FHRVd >>390
n 試合後に
現在の勝率 R(n)「だけ」が判っている場合
n+1 試合後の勝率 R(n+1) は
n+1 試合目の勝ち負けが r (勝ちなら 1 負けなら 0) とすると
R(n+1) = (R(n) x n + r) / (n + 1)
で良いんじゃね
もちろん誤差は蓄積するよ
こんなこと一々描くのも恥ずかしいレベル
n 試合後に
現在の勝率 R(n)「だけ」が判っている場合
n+1 試合後の勝率 R(n+1) は
n+1 試合目の勝ち負けが r (勝ちなら 1 負けなら 0) とすると
R(n+1) = (R(n) x n + r) / (n + 1)
で良いんじゃね
もちろん誤差は蓄積するよ
こんなこと一々描くのも恥ずかしいレベル
395デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/02(日) 15:20:20.64ID:762mJONda396デフォルトの名無しさん (ワッチョイ d701-+Mc8)
2023/07/02(日) 15:24:37.03ID:vW9xhJCj0 もう少し比較条件が複雑化されて
operator<なりstd::sortに渡すラムダ式をちゃんと定義しないと駄目なら一転して教育的とかいいそう
operator<なりstd::sortに渡すラムダ式をちゃんと定義しないと駄目なら一転して教育的とかいいそう
397デフォルトの名無しさん (ワッチョイ 23da-l2Kc)
2023/07/02(日) 23:05:02.47ID:CGuiBJy50 ARCゼロ完 地頭悪すぎる ガチで死にたい
398デフォルトの名無しさん (ワッチョイ 23da-l2Kc)
2023/07/02(日) 23:07:06.37ID:CGuiBJy50 昨日はABC三完
今日はARCゼロ完
A問題は解けそうだったけど結局最後までAC出来ず
頭が悪すぎる
IQ1しか無いよ俺は
今日はARCゼロ完
A問題は解けそうだったけど結局最後までAC出来ず
頭が悪すぎる
IQ1しか無いよ俺は
399デフォルトの名無しさん (ワッチョイ 23da-l2Kc)
2023/07/02(日) 23:13:24.16ID:CGuiBJy50 数理能力皆無の知的障害者です
400デフォルトの名無しさん (ワッチョイ 230d-+Mc8)
2023/07/03(月) 01:30:24.77ID:OPBRIWzz0 ・解説開くとTwitterに飛ぶやつあるが、アカウント持ってないから見れない。
・今日のARC出題者はPCT。何千人の大人が高校生の手の上で転がされていると思うと笑える。
・今日のARC出題者はPCT。何千人の大人が高校生の手の上で転がされていると思うと笑える。
401デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/03(月) 09:36:39.54ID:NXhRhmBta 大人は経験を積んでるから対応力があるわけで素の能力的には筋力でも記憶力でも計算力でも高校生くらいがピークだろ
ずっと数学に取り組んできた高校生が年食ったにわかより数学力高いのは何もおかしくない
ずっと数学に取り組んできた高校生が年食ったにわかより数学力高いのは何もおかしくない
402デフォルトの名無しさん (アウアウウー Sabb-hiKC)
2023/07/03(月) 09:44:41.24ID:XuaWdgM7a 女子高生ですが質問良いですか?
403デフォルトの名無しさん (アウアウウー Sabb-DX8j)
2023/07/03(月) 17:22:23.00ID:UseykR7Wa 女子高生は伊藤ハムと株式会社響の登録商標
404デフォルトの名無しさん (ワッチョイ 2f05-+ypZ)
2023/07/03(月) 17:33:27.76ID:hlx2Z5bC0 女子高生®
405デフォルトの名無しさん (ワッチョイ 6202-+Mc8)
2023/07/03(月) 21:06:06.47ID:XBoVoSsZ0 女子高生++
406デフォルトの名無しさん (ワッチョイ bb2d-ctHD)
2023/07/03(月) 21:54:41.71ID:8MjNV9lj0 32進数で18のガールです
407デフォルトの名無しさん (ワッチョイ 431d-tTFm)
2023/07/04(火) 01:04:41.48ID:7JsYF2E60 コードクイーンの足切りライン調べたら女性率わかりそう
レスを投稿する
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- おまえらって冷笑系おおすぎじゃね
- 日本をドーム状に覆って気温を一定にしたほうが過ごしやすいんじゃないの?
- 職場の人の雑談あまりにもどうでもよくて混ざらないんだけどさ
- 来月のクリスマス何か予定ある?
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
