Tabla de contenido:
T1:魔法部落
T2:圆盘
T3:棋盘行走
T4:走方格
Un conjunto de preguntas que no son difíciles en su conjunto pero que requieren detalles.
T1:
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 / y再mod 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;
}