AGC032F 3分の1

非常に奇妙な質問。私が開始する方法を見ていません。確率はいい質問を期待しています。


領域に\(1 \)円は中心無作為ウェブコーナーカット直径通過\(N- \)回の定義| - |({3} \ \ FRAC {1} S F(X)= \分)\、前記\(S \)は、連続ブロック領域です。探している\(f(x)が\)期待を。

現在、我々は二つのアプローチを見ました。

形質転換は最初と同じです始めました。

答えは、連続セグメント、および2つのベクトルの選挙にのみ関連しているので。式(金型が計算されるエリア回答考えてみましょう\(1 \を)):

\ [\分\左\ {| X - Y軸の\ PM \ FRAC {1} {3} | \右\} \]

\(\午後\)二つのブロックに相補的であり、再びカウントされます。したがって直径スルーカット直接センターから出発ベクターとして使用することができます。複素平面における同様の単位ベクトル。

我々は戻す( - Y \のPM \ FRAC \ {1}、{3} \) 提案された、つまり、\(Y軸\) 3つのパワーの単位根を乗じています。

したがって、各ベクトルに優れてなる\(\左\ {V、V \タイムズ\ ^ omega_3 1、V \タイムズ\ omega_3 ^ 2 \右\} \) 次いで見つける\(X - Yの\)引数モード\(\ FRAC {4 \ PI } {3} \) 最低。

明らかにそこに同じ単位根を掛けたときの答えがfalseの場合、元の式になるので、問題になります(| X-- y軸を| \)\が、単位根は同じ行ではありませんので、我々は、拡張ベクトル染色。

例えば、\(\左[V、V \タイムズの\ omega_3 ^ 1、V \タイムズ\ omega_3 ^ 2 \右] \) それぞれに対応する(\左[\ texttt {\赤}、\ texttt {緑}、\ {}ブルーtexttt \右] \)(RGB)。

その問題とは、最小振幅プ角との差を最小化します。

明らかに答えは以下である(\ \ FRAC。1 {{}}。3 \) およびno他のベクター(すなわち、回答の寄与に隣接だけ貪欲取ら)ベクトル間レイ

ベクトルは、基準単位円として選択された場合、明らかに、それはオペレータ限り、互いの色を置き換えることによって得ることができる3つの部分に分かれ(\左[0、\の\ FRAC {1}、{3} \右)\) それはすることができます。

問題となり、赤の左、右の緑色、長さ(\ \ FRAC 1 {{}} 3。。)\、任意の中間色拡散\(N - 1 \)点、\(N- \)ヘテロセグメント番目最小の所望の長さの差。


まず結論に来ます:

長さ\(1 \)に、\(\ N-)セグメントは、最小の長さであることが望ましい(\ \ FRAC {N-1} {2} ^ \)

それは簡単なことを証明。

計算考える\(P \左(\分 = X \右)X \) 積分、すなわち\(P \が\分(左 )\ GEQ X \右\) ポイント。(その目の前で、私はカウントされないだろう\(P \)を、私はQAQが間違っているうちにカウント)

考えてみましょう\(P \は\分\ GEQ X- \右)\(左)、我々はすべての段落を失うことになります\(X- \) その後、残りのピックを、\(P \は分\(左 = \ GEQ X \右) \(1 - NX \右から左 )\ ^ {N-1})

あなたが証明できるものを積分。

下の2つの方法があります。

組み合わせた方法を指示

容易に決定\(K \)ヘテロセグメントの最小の所望の数:。。。\(\ FRAC 1 {{}} 3 \タイムズ\ {N-FRAC {K}} \時間\ FRAC 1} {2} {K ^ = \ FRAC {1} {3nk} \)

限り計算として\(K \)ヘテロセグメントの確率。

限り、我々はDP有するとして\(k個の\)ヘテロセグメントを、最初の色は最終色緑色確率の赤です。直接\(DP \)あなたは2つの異なる色の確率を指示することができるので、直接、色が変更された組み合わせの数を列挙することができる少し遅いが、DPに隣接しています。限り何色として次の列挙は、\(O \左(N- \右)\)の計算を完了します。

明らかに答えは列挙することができます\(k個\)数の確率で乗算し、そして得ることを期待します。

確率論的な方法

最小異質セグメントがある場合は、ソートを昇順考慮して得られたセグメントの長さ\(K \)は、前の小さい、\(k - 1 \)番目は同じ色です。

上記の結論に拡張、我々は最初に列挙\(k個\)小。今、最初の取得するには\(K \)小さな長さが望ま。また、可能な再帰式をいくつかを失って考えてみます。

\ [E_k = \ FRAC {1 - \ sum_ {i = 1} ^ {K-1} \左(N - I + 1 \右)E_i} {K ^ 2} + \ sum_ {i = 1} ^ { K-1} E_i \]

手で憶測や誘導に結合された最初の数を数える、あなたが得ることができます

\ [E_k = \ FRAC {1} {N} \ sum_ {i = 1} ^ {K} \ FRAC {1} {N - I + 1} \]

今カウント(P \は、右\(\分= Kを左)\)\、しかし乗じた\(E_k \)やや洗練式。

したがって、変化演算子\(P \右\ \(GEQ K \を分左)\) 次いで(\ \分\ GEQ K \ ) 貢献アップ\(\ FRAC {1} { N}回\ \ FRAC {1 N- {} - K + 1} \)

もちろん、そのままこの合計に対する答え。そして\は(P \は分\(左 、右\ GEQ K \)\) も非常に良い数です。少なくともので\(k - 1 \)セグメントは同一です。それは思われるが、多くのセグメントが端へ存在するようにオペレータなど相互に関連する癌の外観の確率が、しかし冷静に見つけることができることを、スプライシングエンドツーエンドのために\(Lの\) そのセグメント\(L + 1 \)ポイントすべて同じ色の確率\(\左(\ FRAC {1}、{3} \右)^ {L} \)一番左の点は、回答にかまたは全く影響を決定するため。

ナンセンス実際には、あまり\(P \は(\分左 \ GEQ K \右)= \右\ \ FRAC {1}、{3}(左)^ {K - 1} \)

答えは

\ [\ \ E&= \ FRAC {1}、{3} \ sum_ {i = 1} ^ {n}はP(I)E_i \\&= {*を整列}開始FRAC {1} {N} \ sum_ { I = 1} ^ {N} \ FRAC {1} {3 ^ {I} \左(N - I + 1 \右)} \端{*整列} \]

明らかである(O \左が(の\ n \右)\) 計算されます。

コードは、非常に良い質問に簡単です。ように拡張することができる(FRAC {1} {\ \ K} \)

#include <bits/stdc++.h>

const int mod = 1000000007;
const int inv3 = (mod + 1) / 3;
typedef long long LL;
void reduce(int & x) { x += x >> 31 & mod; }
int mul(int a, int b) { return (LL) a * b % mod; }
int fastpow(int a, int b, int res = 1) {
    for (; b; b >>= 1, a = mul(a, a)) if (b & 1) res = mul(res, a);
    return res;
}

const int MAXN = 1000010;
int inv[MAXN], n;
int main() {
    std::ios_base::sync_with_stdio(false), std::cin.tie(0);
    std::cin >> n;
    *inv = inv[1] = 1;
    for (int i = 2; i <= n; ++i)
        inv[i] = mul(inv[mod % i], mod - mod / i);
    int ans = 0, now = 1;
    for (int i = 1; i <= n; ++i) {
        now = mul(now, inv3);
        reduce(ans += mul(inv[n - i + 1], now) - mod);
    }
    std::cout << fastpow(n, mod - 2, ans) << '\n';
    return 0;
}

エラーがある場合は、メッセージ式を残してください

ありがとうござい@ccosiの @豚が行くの持っていた記事を

おすすめ

転載: www.cnblogs.com/daklqw/p/11714581.html