問題のAT2271ソリューション[並べます]

タイトル翻訳:

 

個体数N 1-Nの数がありますが、それらはすべてが彼らの報告書によると、「自分の左をキューイング者の数と、自分のラインの右側との差の絶対値を」覚えて、「あなた自身は、私は数や配置を左に「愛の差の絶対値の彼の右配置の数。彼らの報告書によると、いくつかの方法があり、元の配列を取得してください。しかし、10 ^ 9 + 7を法にしてください、答えは、時には非常に大きくなるので。また、そのレポートは間違っている可能性があり、何の可能な配置方法はありませんし、出力0をしてください。

範囲:

1≦N≦10 ^ 5。0≦あい≦N-1です。

 

 

実際には、問題の意味は、このような方法で変換することができ、シーケンス障害があり、ポストは増加の法則かどうかを特定のソート裁判官を満たすためにあなたを必要とし -

 

〜を理解していませんか?

 

私たちは、すべての人の位置が不明である、と考えることができますが、それらは例えば、相対的な位置を持っています:

 

1 1 1 1 1 1 1 1 1 1 1

 

私が見た曲がった「1」それは、我々がここで質問の意味を知ることができます(あなたが右を見ている必要があります)愛= | 2-8 | = 6

これは、この処理を行います。

 

1 1 1 1 1 1 1 1 1 1 1

 

ここに愛= | 8-2 | = 6

 

各ポイント愛が与えられているので、我々は知ることができます -


1 1    1 1 1 1 1    1 1

 

二つの等しい点に配置されたときAiが交換可能である、プログラム全体は2 ^(N / 2)でなければなりません。nが奇数の場合、すなわち、最も個人の途中で、その愛に0であるので、交換可能ではない位置を行い、N / 2、それはそれをあきらめます。

私たちは、サンプルのセットを見てみましょう。

5

24402

答えは、4であり、わずか2 ^(N / 2)個です。しかし、なぜでしょうサンプル出力0それの次のセット?それは愛に右であるとは限らないので、あなたは判断する必要があります。判断は、慎重にあなたは、あなたが見つける愛の真ん中に小さく、より多くの人々は、ほとんどの半ばまで、唯一の0または1であり得ることを発見し、それを少しプッシュします、非常に単純なポイントです。

0 2 2 4 4 8 8 ......


1 1 3 3 5 7 7 ......

 

はい、それは増加シーケンスの始めに言われています!私達はちょうどライン上で11と入力愛行に正しい配列比較でシーケンスを与えます

Taccaコードを提供して弱い弱いです:


書式#include <stdio.hに> 
する#include <アルゴリズム>
 使用して 名前空間はstdを、
const  int型 MOD = 1E9 + 7 int型 NUM [ 100005 ]、[ 100005 ]。
無効 INITを(INT X)
{ 
    場合(Xの%2 == 0 のためのint型 i = 1 ; iが= xを<; I + = 2 
        { 
            [I] = I。
            [I + 1 ] = [I]を、
        } 
    
        int型 I = 2 ; iが= xを<I + = 2 
        { 
            [I] = I。
            [I + 1 ] = [I]を、
        } 

} 
int型のmain()
{ 
    int型 N、K = 1 
    scanf関数(" %のD "、&N)
    INIT(N)
    以下のためにint型 i = 1 ; iが<= N; iは++ 
        scanf関数を(" %のD "、&NUM [I])。
    ソート(NUM + 1、NUM + 1個の + N)。
    以下のためにint型私= 1 ; iが<= N; iが++ 場合([I] =!NUM [I])
        { 
            のprintf(" 0 " )。
            リターン 0 ; 
        } 

    長い 長い ANS = 1 
    N / = 2 一方、(N-- 
        ANS = ANS * 2%のMOD。
    printf(" %のLLD " 、ANS)。
    リターン 0; 
}

 

 私はロス・バレーをお勧めします。https://www.luogu.org/space/show?uid=88557

 

おすすめ

転載: www.cnblogs.com/tfyzs/p/11618732.html