Codeforces: (C - Año Nuevo y la permutación permutaciones)

Foro de este tipo debe pensar más en
no caer en el "callejón sin salida"
A veces, algunos de los problemas, el pensamiento positivo y revertir el pensamiento de un intento

En la solución del problema del tiempo pensando en el viejo número con el número total de menos insatisfecho
, de hecho, que se ofrecen para satisfacer las necesidades inmediatas de la serie de simples

Piense en lo contrario de casi dos horas no lanzar
día es suficiente

El número total de 1-n disposición
de esta pregunta directamente intervalo de demanda se encuentran, es decir, el intervalo igual a la diferencia entre pobre
y muy pobre para satisfacer intervalo igual a la diferencia, en número de este intervalo debe ser de forma continua
ya que es continua enumeración, directa mala o muy mala gama

código:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a[300000],n,m;
void init()
{
    ll ans=1;
    for(int i=1;i<=250000;i++)
    {ans=ans*i%m;
    a[i]=ans;}
}
int main()
{
    cin>>n>>m;
    init();
    ll ans=0;
    for(int i=1;i<=n;i++)
    {
        ans=(ans%m+(i%m*a[n-i+1]%m*a[i]%m)%m)%m;
    }
    cout<<ans<<endl;
    return 0;
}

Publicado 36 artículos originales · ganado elogios 4 · Vistas 1387

Supongo que te gusta

Origin blog.csdn.net/qq_43781431/article/details/104707268
Recomendado
Clasificación