码迷,mamicode.com
首页 > 其他好文 > 详细

[BJWC2018]最长上升子序列

时间:2018-09-24 21:17:19      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:误差   c语言   esc   排列   tput   put   time   序列   scanf   

Description
现在有一个长度为n的随机排列,求它的最长上升子序列长度的期望。
为了避免精度误差,你只需要输出答案模998244353的余数。

Input
输入只包含一个正整数n。N<=28

Output
输出只包含一个非负整数,表示答案模998244353的余数。
可以证明,答案一定为有理数,设其为a/b(a、b为互质的整数),你输出的整数为x,
则你需要保证0≤x<998244353且a与bx模998244353同余。

Sample Input
2

Sample Output
499122178

这题我先偷个懒吧。。。\((n!\times n)\)暴力处理出前8个答案(长度之和,不是期望),然后丢到OEIS去找,找出前28个,然后去算出答案。有些数特别巨大,高精度或者Windows自带的calc处理一下,就完事了。

附上打表的程序(C语言)(因为C代码B数小)

int n,v[28]={1,499122178,2,915057326,540715694,946945688,422867403,451091574,317868537,200489273,976705134,705376344,662845575,331522185,228644314,262819964,686801362,495111839,947040129,414835038,696340671,749077581,301075008,314644758,102117126,819818153,273498600,267588741};main(){scanf("%d",&n),printf("%d",v[n-1]);}

[BJWC2018]最长上升子序列

标签:误差   c语言   esc   排列   tput   put   time   序列   scanf   

原文地址:https://www.cnblogs.com/Wolfycz/p/9696482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!