cf589div2

https://codeforces.com/contest/1228/problem/ A

書式#include <iostreamの> 
の#include <cstdioを> 
 
std名前空間を使用しました。
 
INT PD(INT X){ 
	[10] = {} INT。
	一方、(X){ 
		IF([X%10])戻り0; 
		[Xの10%] ++; 
		X / = 10。
	} 
	1を返します。
} 
 
int型のmain(){ 
	int型のL、R。scanf関数( "%dの%のD"、&L&R)。
	(iはLを= int型; I <= R; iが++)は
	{ 
		IF(PD(I)){ 
			のprintf( "%d個の\ n"、i)を、0を返します。
		} 
	} 
	のprintf( " - 1つの\ n"); 
	0を返します。
} 
/ *
入力
121 130
出力
123
入力
98766 100000
出力
-1
* /

  

https://codeforces.com/contest/1228/problem/ B

// このような質問シミュレーションの意味として、問題の解決策は、計算(電源なしでCNT少し速いが行います)グリッド2 ^ CNTの残りの部分に記入する必要はない
 // しかし、出力cntが0 1時間で判断する
 // そこ条件が競合を示す場合には出力はありえない0
 // のヒントまたは動作条件が競合が大きな値3であろう時間とすることができる 
の#include <ビット/ STDC ++ H.> 使用して名前空間はstd; // cf589div2b用の#define _for以下のために(I、Aは、B();私は<(B)I ++はI =(A)INT)
 の#define)Iは、=(Bを<; _repが(私は、Aは、B)は(INT I =(A)。 ++ I)
 の#define LLロングロング
 CONST LL + 1E9 = MOD 7。; int型の L、R&LT、CNT = 0 ;
 int型のmain(){ // ios_base :: sync_with_stdio(0)、cin.tie(0)、cout.tie(0 ); 
    scanf関数(
 


" %dの%のD "、&​​L&R)。
    ベクター <ベクトル< 整数 >> F(L + 5、ベクター< INT >(R + 50 )); 
    _rep(I、1 、L){
         int型 K。scanf関数(" %のD "、&K)。
        _rep(J、1 F、K)[I] [J] | = 1 もし(K + 1 <= r)とF [i]は[K + 1 ] | = 2 
    } 
    _rep(I、1 、R){
         int型 K。scanf関数("%のD "、&K); 
        _rep(J、1 [j] [i]はF、K)| = 1 ;
         もし(K + 1 <= L)F [K + 1 ] [I] | = 2 ; 
    } 
    LL ANS = 1 ; 
    _rep(I、1、L)_rep(j、1、r)は   なら ANS * =(F [I] [J]!)2、ANS%= MOD; 
    _rep(I、1、L)_rep( J、1、R)   であれば(F [I] [J] == 3)ANS * = 0 ;
     //もしCNT ++([I] [J] && i>は= C [i]は&& J> = D [j]がF!)。
    // のprintf( "CNT =%d個の\ n"、CNT)。
    printf(" %LLDする\ n " 、ANS)。
    リターン 0 ; 
} 

/ * 
3 4 
0 3 1 
0 2 3 0 
出力
2 

1 1 
0 
1 
出力
0 

19 16 
16 16 16 16 15 15 0 5 0 4 9 9 1 4 4 0 8 16 12 
6 12 19 15 8 6 19 19 14 6 9 16 10 11 15 4 
出力2 ^ 47%MOD = 487370169 
797922655 == 2 ^ 51%MOD 
* /

 

https://codeforces.com/contest/1228/problem/C

それは(X、1)* ... * F(X、N)fを見ることができる方程式の導出は、素因数P1 xの結果である* ... * PK 

1 * ... * N X削除応答モードを残り素因数の非因子は、1E9 + 7であるが、実際の操作は、比較的煩雑です

導出(マジック)の一連の製品が得られる結果は、(i 1 ...... k)のPI ^(N / PI)に等しいです。

!×2のN乗をx = 0で除算することができる。一方、(N> 0){N / = 2、X + = N;}数学のxから計算することができ、興味深い(セクション4.4階乗特定チャプタ数論関連因子由来)

以下のように、同様に探している他の素因数指数  

/ * 
入力
10 2 
出力
2 
入力
20190929 1605 
出力
363165664 
入力
947 987654321987654321 
出力
593574252 
* / 
//ベクトル<ベクトル<整数>> F(L + 5、ベクター<整数>(R + 5、0)); 
#include <ビット/ STDC ++ H> 

名前空間STDを使用して、
#defineっ長い長い
CONST LL MOD =(INT)1E9 + 7。
LLのpowmod(LLのX、LL A){ 
	IF(== 0)リターン1。
	IF(A&1)戻りX * powmod(X、1)%のMOD。
	(X * X%のMOD / 2)%MODをpowmodを返します。
} 
int型のmain(){ 
	ios_base :: sync_with_stdio(0)、cin.tie(0)、cout.tie(0)。
	LL X、N。
	CIN >> X >> nであり; 
	セット<LL>
	用(INT D = 2であり、D *、D <= X; D ++)
		(X%dの== 0)、一方
			dv.insert(D)、X / D =。
	IF(X> 1)dv.insert(X)。
	LL ANS = 1。
	用(LLのD:DV){ 
		LL G = 0、R = N。
		(R> 0)R / = D、G + = R一方、
		ANS * = powmod(D、G)。ANS%= MOD。
	} 
	戻りCOUT <<(INT)ANS << 'の\ n'は、0。
}

  

おすすめ

転載: www.cnblogs.com/163467wyj/p/11614706.html