日记1.8
Posted diorvh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日记1.8相关的知识,希望对你有一定的参考价值。
1.8
DP
1.CF1091D:给定n,所有n的排列字典序从小到大排序,问有多少个子串满足是1-n的排列。
思路:实际上每次看相邻两个排列的第一个不同的数的位置,根据这个特征进行计数。
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define mid ((l+r)>>1)
#define db(x) cout<<#x<<":"<<x<<endl;
const int M=1e6+20,P=998244353;
struct TTTT{
int n;
LL Inv[M];
void init(){
scanf("%d",&n);
Inv[0]=Inv[1]=1;
for(int i=2;i<=n;++i)
Inv[i]=(P-P/i)*Inv[P%i]%P;
}
void run(){
init();
LL ans=n,sum=1LL*n*(n-2)%P;
for(int i=2;i<=n;++i)
ans=(ans+sum*i%P)%P,sum=sum*Inv[n-i]%P*(n-i+1)%P*(n-i-1)%P;
printf("%lld
",ans);
}
}TTT;
int main(){
TTT.run();
return 0;
}
以上是关于日记1.8的主要内容,如果未能解决你的问题,请参考以下文章
Citrix思杰XenDesktopPvs测试日记《实验环境说明》
Citrix思杰XenDesktopPvs测试日记《实验环境说明》
CentOS yum 命令出现 [Errno 14] curl#6 - "Couldn't resolve host ..." 的解决方法(代码片段