2021.07.16 【NOIPがグループBを改善】シミュレーション概要

T1: チェスをする

トピックの一般的な考え方: 2 人のプレーヤーがゲームをプレイします。同時に k 個のゲームがプレイされており、どのゲームでも一度に操作できます。各ゲームは n*m 01 枚のボードで構成されており、毎回 (x,y) の値を 1 に選択し、(x',y')(x'<=x,y<=y') を反転することができます。先手が勝つか後手が勝つか。
試験中、
AC の質問の解答:
ans^=a[i][1][1];
ans== 1 lyp win
ans== 2 id win
の質問の解答方法 DL:
ここに画像の説明を挿入します
2 と 4 は変更されません。 1 が変化するため、1 つを変更するには ((1,1) を除く)、偶数のステップが必要です。
つまり (1,1) は、先手者が勝つことを意味します。

大学院生の先生はもっと簡単な証明をしてくれました:
(1, 1) は質問するたびに変わります。だから... (1, 1) = 1 の場合、最初に直接 0 に変更し、次に 0 に変更します。それが1になり、0に変更すると勝ちます。

T2: 図書館

質問の主な考え方: 有向非巡回グラフが与えられた場合、1 から n までの重みの最小分散を見つけます。
分散の単純化:
∑ ( ai − ave ) 2 n \frac{\sum (a_i-ave)^2}{n}n( _私はa v e 2
= ∑ ai 2 + ave 2 − 2 aiaven =\frac{\sum a_i^2+ave^2-2a_iave}{n}=nある2+ a v e22a_私はヴェー_ _
= ∑ ai 2 n + ∑ ave 2 n − 2 ave ∑ ain =\frac{\sum a_i^2}{n}+\frac{\sum ave^2}{n}-\frac{2ave\sum a_i} {n}=nある2+nアヴェ_ _2n2アベニュー_ _ある私は
= ∑ ai 2 n + ave 2 − 2 ave ∑ ain =\frac{\sum a_i^2}{n}+ave^2-\frac{2ave\sum a_i}{n}=nある2+アヴェ_ _2n2アベニュー_ _ある私は
= ∑ ai 2 n + ave 2 − 2 ave 2 =\frac{\sum a_i^2}{n}+ave^2-2ave^2=nある2+アヴェ_ _22アベニュー_ _2
= ∑ ai 2 n − ave 2 =\frac{\sum a_i^2}{n}-ave^2=nある2アヴェ_ _2その後
dp で行います (詳細)

T3: 単語をつなげて文を形成する

質問の主な考え方: 2 つの配列が与えられた場合、y (x>y) の前に b[x] を挿入し、最小の演算数を見つける演算があります。
DP (後戻りするほど貪欲ではない)

T4: マトリックス

質問の主な考え方: n 個の線分が与えられた場合、画像上の長方形の数を見つけます。
疑似正解 (n^3 程度) を思いつきました
。2 つの垂直辺を列挙し、同時に交差する水平線を列挙します。合計バーを記録します。ans+=tot(tot-1)/2 ;
最大数は O(200000000+ )
600+ms$です。

おすすめ

転載: blog.csdn.net/zhy_Learn/article/details/118819291