$ Noip2014 / Luogu2312 $方程式を解きます

$ Luogu $

 

$ソル$

列挙型ソリューション+ +秦九韶式剰余

 

$コード$

 

書式#include <iostreamの> 
の#include <cstdioを> 
する#include <CStringの> 
の#include <キュー> 
の#include <アルゴリズム>
 に#define ILインライン
 の#define Rgを登録し
 ます。#define行く(I、A、B)は(RG int型I = A ; iが<= Bと; ++ i)は、
 の#defineはい(I、B)(RG INT I = Aの; I> = B; - I)
 の#define E(I、U)のために(RG INT I = [U] bは、I; I [i]が.nt)=
 の#defineを MEM(A、B)のmemset(A、B、はsizeof(A))
 の#define LLが長い長い
 の#define ULL符号なし長い長
 の#define DBダブル
 の#define INF 2147483647
 使って 名前空間はstdを、
CONST int型 N = 1000010、MOD = 1000000007 ; 
ILのINTのリード()
{ 
    LL、X = 0int型の Y = 1チャー C = GETCHAR()。
    一方、(C < ' 0 ' || C> ' 9 '){ もし、(C == ' - ')Y = - 1 ; C = GETCHAR();}
     一方、(C> = ' 0 ' && C <= ' 9 '){X =((X << 1)%MOD +(X <3)%C- + MOD ' 0 ')%MOD; C = GETCHAR();}
     戻りのx *のY。
} 
int型、N M、CTのように、[N]、[N]。
ILのブール CK(INT X)
{ 
    LLのRET = 0 
    はい(I、N、0)RET =(RET *第X%のMOD + [I])%MOD。
    もし(RET == 0リターン 1リターン 0 ; 
} 
int型のmain()
{ 
    N =(読み取り)、M = read()は、
    行く(I、0、N)[I] = 読み取ります(); 
    行く(I、1、m)の場合(CK(I))のような [++ CT] = I。
    printf(" %d個の\ n " 、CT)。
    行く(I、1、CT)のprintf(" %Dを\ n "として[I])。
    リターン 0 ; 
}
コードの表示

 

 

 

おすすめ

転載: www.cnblogs.com/forward777/p/11435201.html
おすすめ