[2020.10.26 Torneo de simulación SSL T1] Tribu mágica [Elemento inverso de teoría de números]

Tabla de contenido:

T1:魔法部落
T2:圆盘
T3:棋盘行走
T4:走方格

Un conjunto de preguntas que no son difíciles en su conjunto pero que requieren detalles.

T1:

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

análisis:

Puede verse que esta es una razón común de 3 3Se
sabe que lasecuencia geométrica de 3 esel primernnde la secuencia geométricaLa suma de n elementos es: razón comúnqqq ^(n + 1) / ((n + 1) / (( n+1 ) / ( Relación comúnq - 1) q-1)q-1 )
Es decir:3 33 ^(n + 1) / 2 (n + 1) / 2( n+1 ) / 2
Así que este rápido poder+ mod + mod+ m o d puede recibir60 pts 60pts6 0 p t s ywa waw un cierto punto
por qué?
Porquex / yx / yx / ymod modm o d puede parecer negativo, por lo que debe resolverse mediante el elemento inverso.
Finalmente:qqq ^(n + 1) / (q - 1) mod (1 e 9 + 7) (n + 1) / (q-1) mod (1e9 + 7)( n+1 ) / ( q-1 ) m o d ( 1 y 9+7 )
= q = q=q ^(n + 1) ∗ (1 e 9 + 7 + 1) / 2 (n + 1) * (1e9 + 7 + 1) / 2( n+1 )( 1 y 9+7+1 ) / 2 mod(1e 9 + 7) (1e9 + 7)( 1 y 9+7 )
= q = q=q ^(norte + 1) ∗ 5 mi 8 + 4 (norte + 1) * 5e8 + 4( n+1 )5 y 8+4 mod(1e 9 + 7) (1e9 + 7)( 1 y 9+7 )

CÓDIGO:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const long long p=1e9+7;
const long long s=5e8+4;
ll n,ans,qwq=1;
void ksm(ll n)
{
    
    
	long long tmp=3;
    while(n){
    
    
        if(n&1){
    
    
            qwq=(qwq*tmp)%p;
        }
        tmp=(tmp*tmp)%p;
        n>>=1;
    }
}
int main(){
    
    
	scanf("%lld",&n);
	ksm(n+1);
	ans=(qwq-1)*s%p;
	printf("%lld",ans);
	return 0;
} 

Supongo que te gusta

Origin blog.csdn.net/dgssl_xhy/article/details/109298126
Recomendado
Clasificación