zoukankan      html  css  js  c++  java
  • 烦人程度

    题目描述

    wdyhy睡不着觉就会不由自主的去数排列,数着数着就睡着了,但是有些排列非常烦人,导致wdyhy睡眠质量变差.一个排列p的烦人程度指的是有多少对(i,j)其中i<j并且p[i]>p[j].
    现在wdyhy想知道对于n的所有排列烦人程度之和是多少.

    输入

    输入的第一行是一个整数n;

    输出

    输出一个数,表示n的所有排列烦人程度之和.
    答案对998244353取模.

    样例输入

    复制样例数据

    3
    

    样例输出

    9
    

    提示

    (1,2,3)烦人程度为0
    (1,3,2)烦人程度为1
    (2,1,3)烦人程度为1
    (2,3,1)烦人程度为2
    (3,1,2)烦人程度为2
    (3,2,1)烦人程度为3
    对于20%的数据,n<=10;
    对于40%的数据,n<=20;
    对于60%的数据,n<=233;
    对于80%的数据,n<=2000;
    对于100%的数据,n<=1000000;

    n!种排列;对于任意一个排列的两个数要么正序要么逆序。所以答案是(Cn2)*n!/2;(n!种排列,两个数之间的关系两种,所以除以二)

    #include <iostream>
    #include <bits/stdc++.h>
    using namespace std;
    #define mod 998244353
    typedef long long ll;
    ll fun(int n){
        ll ans=n*(n-1)/2;
        ans=ans%mod;
        for(int i=n;i>2;i--){
            ans=ans*i;
            ans=ans%mod;
        }
        return ans;
    }
    int main()
    {
        int n;
        cin>>n;
        ll ans=fun(n);
        cout<<ans<<endl;
        return 0;
    }
    
  • 相关阅读:
    跳转指定页面
    如何解决项目中.a文件中的.o冲突
    地图根据起点和终点计算中心点角度来绘制弧线 iOS
    codePush常用
    ios原生push到RN界面后pop
    atomic,nonatomic的区别
    KVC
    jQuery绑定event事件的各种方法比较
    Git常用命令总结
    多个$(document).ready()的执行顺序问题
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319515.html
Copyright © 2011-2022 走看看