質問表面:
シングル! まだシングル! 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- 1、0、0、1。 )。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は不明または効果がありません
私は爆発置きたいです
英語は見ていない、ブーム〜