冬Day30:HDU4507- Jigeシリーズ7は、憎悪の妻の話ではありません - デジタルDP

質問表面:

シングル!
  まだシングル!
  Jigeまだシングル!
  DSレベルのコード農家Jigeまだシングル!
  だから、バレンタインデーは、それが214または77であるかどうか、彼の人生を嫌って、彼は嫌っ!
  
  Jigeは、二つの数214と77を観察した:
  2 + 1 + 4 = 7 
  7 + 7 = 7 * 2 
  77 = 7 * 11 
  結局、彼は最終的な分析に及び7に関連するので、このすべてがあることが判明しました!だから、彼はすべてのものと約7今でも数を嫌い!

  そして、何種類もの数7の?

  -次の3つの条件の整数満たす1は、その後、私たちは、この整数および7について言うならば
  1 ;、それは7の整数ビットである
  2 、各ビットの整数と7の整数倍まで追加は、
  3 この整数は7の整数倍であり、

  今の質問は次のとおりです。Jigeは、一定の範囲と平方数7と無関係内知りたいです。
入力
、入力データの最初の行はケース番号T(ある。1 <= T <= 50)、その後、次の行T Tの場合を示し、各ケースには2つの正の整数L、R(1行が含ま。1 <= L <= R&LT <= 10 ^ 18です)。
出力
計算[L、R]および独立番号7及び正方形、及び10の結果 ^ 9 + 7 モジュロ演算出力。
入力サンプル
。3 
。1  。9 
10  。11 
。17  。17 
サンプル出力
236 
221 
0
コードの表示

 

質問の意味:

  以下の3つの条件の整数満たす一方は7〜約ある場合
  、1,7の整数であり
  、2複合整数とそれぞれが7の整数倍である;
  3、整数7の整数であります回;

  指定した間隔と7と独立した数字内の正方形を探しています。

 

https://blog.csdn.net/Estia_/article/details/83479031

このブログは良いアイデアが、私は理解していなかった構造の内部のコードの内部の構造をDaoting明確に書かれている,,

 

コード:

する#include < 文字列・H> 
の#include <iostreamの> 
する#include <stdio.hに> 
する#include <アルゴリズム> 
の#include <cmath>
 使用して 名前空間STD; 
typedefの長い ロングLL;
 constの LL + 1E9 = MOD 。7 

構造体ノード
{ 
    LL CNT ; // 7 
    LL SUM; // すべて一緒に7の整数倍である 
    LLのsqsum; // SE 7の整数倍である 
} DP [ 20である [] 10 ] [ 10 ]; 

int型のための桁[ 25 ]。
LL P [25 ]; 

ボイドのinit()
{ 
    P [ 0 ] = 1 ;
     のためのINT I = 1 ; I < 20であり ; I ++ 
        P [I]は =(P [I- 1 ] * 10)%MOD;
     // 方法プロパティの割り当てで構造?//     (; I <20であるI ++ INT I = 0)のための
 //     {
 //         ため(INT J = 0; J <10; J ++)
 //         {
 //             ため(INT = 0 K; K <10; ++ K )
 //             {
 //                 .CNT DP = -1 [I] [J] [K];
//            }
 //         }
 //     } 
} 

ノードDFS(INT LEN、INT P1、INT P2、BOOL 限界)
{ 
    場合(LEN == - 1 
    { 
        ノードPP。
        pp.cnt =(!P1 = 0!&& P2 = 0 ); 
        pp.sum = pp.sqsum = 0 リターン頁。
        // 戻り値1; 
    }
     であれば(限界== 0 && DP [LEN] [P1]、[P2] .CNT)
         //- IF(!限界== 0 && DP [LEN] [P1]、[P2] .CNT = 1)// のビットの現在の数は、上の統計有する
        戻り、DP [LEN] [P1]、[P2] 
    ; LLアップ
    IF =(リミットを= 1 
        最大 = 桁[LEN];
     他の
        アップ = 9 ; 
    ノードPP、QQ; // 理由まとめて定義されていませんか?WA?
    qq.sum = = = qq.sqsum qq.cnt 0 ;
     のためのINT I = 0 ;私は<アップ= I ++ 
    { 
        IF(I == 。7 続行; 
        PP = DFS(LEN 。1、(P1 + I )%7、(N 2 * 10 + I)%7、限界&& iは== まで)。
        qq.com + = PC。
        qq.com%= MOD。

        qq.sum + =(pp.sum +((P [LEN] * I)MOD%)* PC MOD%)%のMOD。
        qq.sum%= MOD。

        qq.sqsum + =(pp.sqsum +((2 * P [LEN] * I)MOD%)* pp.sum)%のMOD。
        qq.sqsum%= MOD。
        qq.sqsum +(PC * P [LEN])%MOD P [LEN] * IはI %% MOD * MODと、
        qq.sqsum%= MOD。
    } 
    の場合(限界== 0//あなたが返すことができる次回直接DFSまで、完全な状態である 
        DP [LEN] [P1]、[P2] = ; QQ
     戻りQQ; 
} 

(LL X)を解くLL 
{ 
    int型 NUM = 0 ; // 桁数
    一方、(X)
    { 
        ため桁[NUMが ++] Xは%= 10 ;
 // 問題がない理由がわからない右++ NUM 
        X / = 10 ; 
    } 
    戻り DFS(num- 1001。 )。sqsum; //は上から、以下に高いから横断する
} 

INT )(主
{ 
//    memsetの(DP、0、はsizeof(DP)の); // 必要なビット数-1 DP一見一度空に明確な、空の両者を空にすることは、書き込み文0に必要ではない
    ;のinit()
     INT T; 
    CIN >> T;
     一方、(T- - 
    { 
        LL L、R&LT; 
        CIN >> L >> R&LTは、// であると定義INT WA 
        LL ANS =解決(R&LT)-solve(L- 1 ); 
        ANS =(ANS%+ MOD MOD)MOD%。//は負防ぐ 
        << COUT ANS << ; ENDL
         // 。COUT << +(N)1-N-解決<< ENDLを;
         // 上限と下限は、<<(M)-solve(解決COUTに N-1) ENDL <<; 
    }
     戻り 0 ; 
}

 

 

解決すべき:

いくつかの問題がレコードのコンテキストで対処する必要があり、私はの質問を表示したくありません

 

 

考え:

この質問は、私は時間のカップルを変更しましたか?

英語を見て午後を終了することもした後、私はまだ完了していない,,,,書き込み

本当にあまりにも多くの食べ物は本当に,,憎悪の鉄は、ああ、だけのものではありません,,,質問の日を作り、

ノード内に再定義する必要がなぜ、ああには影響しませんか?

インサイドCNT清清-1は不明または効果がありません

私は爆発置きたいです

英語は見ていない、ブーム〜

おすすめ

転載: www.cnblogs.com/OFSHK/p/12319647.html