题目大意 问你有多少个由$n$个数组成的,逆序对个数为$k$的排列。 $n,k\leq 1000$ 题解 我们考虑从小到大插入这$n$个数。 设当前插入了$i$个数,插入下一个数可以形成$0,1,\ldots,i 1$个逆序对。 $$ f_{i,j}=\sum_{k=j i+1}^jf_{i 1,k ...
分类:
其他好文 时间:
2018-03-06 11:31:06
阅读次数:
155
http://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j] 表示i的排列,有j个逆序对的方案数 加入i+1,此时i+1是排列中最大的数, 所以放在i+1后面的所有数都会与i+1形成逆序对 转移方程:dp[i][j]=Σ dp[i-1][ ...
分类:
其他好文 时间:
2017-12-20 15:07:25
阅读次数:
130
2431: [HAOI2009]逆序对数列 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 对于一个数列{ai},如果 ...
分类:
其他好文 时间:
2017-09-20 19:37:55
阅读次数:
119
一眼题...f[i][j]前i个数有j个逆序对的数量 f[i][j]=sigma(f[i-1][j-k]){1<=k<=i} 维护一个前缀和即可 #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #incl ...
分类:
其他好文 时间:
2017-09-03 22:09:02
阅读次数:
161
题目描述 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 输入 第一行为两个整数n,k。 输出 写入一个整数,表示符合条件的数列个数,由于这个 ...
分类:
其他好文 时间:
2017-06-03 21:43:40
阅读次数:
250
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为 ...
分类:
其他好文 时间:
2017-01-23 22:59:56
阅读次数:
234
思路:设f[i][j]表示前i个数逆序对为j的方案数,第i+1个数可以新形成1~i个逆序对,于是f[i][j]=Σf[i-1][j-k],然后用一个前缀和优化成n^2即可。 ...
分类:
其他好文 时间:
2016-10-29 19:41:57
阅读次数:
248
单组数据比51nod的那道题还弱。。。而且连优化都不用了。。 2431: [HAOI2009]逆序对数列 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数。那么逆序对数为 ...
分类:
其他好文 时间:
2016-09-09 22:07:51
阅读次数:
110
题解: dp[i][j]表示前i个数的排列有j个逆序列的对数,根据逆序列的性质,最大的放在前i个数列中,新增加0~i-1的序列 dp[i][j]=sum(dp[i-1][j-k]) (0<=k<i) 代码: o(n^3)算法。直接裸就行了 o(n^2)算法。用一个前缀和来加速 ...
分类:
其他好文 时间:
2016-08-11 15:55:27
阅读次数:
298
2431: [HAOI2009]逆序对数列 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 对于一个数列{ai},如果有 ...
分类:
其他好文 时间:
2016-06-26 21:05:58
阅读次数:
169