题目链接
这种求方案数的题一般都是\(dp\)吧。
注意到范围里\(k\)和\(n\)的范围一样大,\(k\)是完全可以更大的,到\(n\)的平方级别,所以这暗示了我们要把\(k\)写到状态里。
\(f[i][j]\)表示前\(1\)~\(i\)的排列逆序对数为\(j\)的方案数。
现在考虑把\(i\)插入到\(i-1\)的排列里。
\(i\)肯定是大于\(1\)~\(i-1\)所有数的,所以插入\(i\)后可以新产生\(0\)~\(i-1\)个逆序对。
于是就能写出\(O(n^3)\)的\(dp\)算法了。
像这种转移范围是个区间的,要优化不是单调队列就是前缀和,当然是愉快地选择后者啦。

#include <queue>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define Open(s) freopen(s".in","r",stdin);freopen(s".out","w",stdout);
#define Close fclose(stdin);fclose(stdout);
int n, k; int f[1010][1010];
const int MOD = 10000;
int main(){scanf("%d%d", &n, &k);f[1][0] = 1;for(int i = 2; i <= n; ++i){int sum = 0;for(int j = 0; j <= k; ++j){sum = (sum + f[i - 1][j]) % MOD;f[i][j] = sum;if(j >= i - 1)sum = ((sum - f[i - 1][j - i + 1]) % MOD + MOD) % MOD;}}printf("%d\n", f[n][k]);return 0;
}

转载于:https://www.cnblogs.com/Qihoo360/p/9901351.html

【洛谷 P2513】 [HAOI2009]逆序对数列(DP)相关推荐

  1. 洛谷 P2513 [HAOI2009]逆序对数列

    题目描述 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数.那么逆序对数为k的这样 ...

  2. BZOJ 2431: [HAOI2009]逆序对数列【DP】

    2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec Memory Limit: 128 MB Description 对于一个数列aiai,如果有i<ji<j且 ...

  3. bzoj千题计划153:bzoj2431: [HAOI2009]逆序对数列

    http://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j] 表示i的排列,有j个逆序对的方案数 加入i+1,此时i+1是排列中最大的数, ...

  4. bzoj 2431: [HAOI2009]逆序对数列

    2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2190  Solved: 1262 [Submit][St ...

  5. bzoj2431:[HAOI2009]逆序对数列

    单组数据比51nod的那道题还弱...而且连优化都不用了.. #include<cstdio> #include<cstring> #include<cctype> ...

  6. 洛谷P1908求逆序对【树状数组】

    逆序对 逆序对的定义:对于给定的一段正整数序列,逆序对就是序列中 ai>aj,i<ja_i>a_j,i<jai​>aj​,i<j,让统计逆序对的个数. 本题的数据加 ...

  7. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  8. 信息学奥赛一本通 1937:【06NOIP普及组】数列 | 洛谷 P1062 [NOIP2006 普及组] 数列

    [题目链接] ybt 1937:[06NOIP普及组]数列 洛谷 P1062 [NOIP2006 普及组] 数列 [题目考点] 1. 数制 [解题思路] 如果k为2,那么这个数列 第1项为202^02 ...

  9. P2513-[HAOI2009]逆序对数列【dp,前缀和】

    正题 题目链接:https://www.luogu.org/problemnew/show/P2513 题目大意 求长度为nnn逆序对为kkk个的序列总数. 解题思路 设fi,jf_{i,j}fi,j ...

最新文章

  1. 如何加快按生产订单查找物料凭证的报表的速度
  2. 洛谷 - P2756 飞行员配对方案问题(二分图最大匹配+路径打印)
  3. GOF之行为型模式Ⅱ(重点)
  4. SQL 学习笔记一 入门
  5. Linux学习笔记1-在CentOS 7中安装配置JDK8
  6. jQuery实时校验输入框:整数、浮点数
  7. 华为html如何自动换行,华为交换机不分页显示screen-length命令和screen-width每屏显示宽度-老肖的博客-51CTO博客,length怎么用...
  8. Android手机游戏开发入门教程
  9. unity reflect_Unity Reflect在这里
  10. 邮件服务器收件人数量限制,qq邮箱群发邮件技巧
  11. vue 身份证格式校验
  12. #9733;思维导图的30个问答
  13. 挑战杯一次出乎意料的比赛
  14. VPN入门教程:基本概念、使用方法及思科模拟器实践
  15. [乐意黎原创]Win10 升级1909版本后,内存占用率居高不下的解决办法
  16. 智慧职教云答案在哪里找_智慧职教云答案在哪里找到,职教云答案软件,职教云题库答案哪里能搜到答案的软件...
  17. Nodejs之child_process
  18. 课堂笔记| 第七章:多态
  19. 怎么看外文文献的影响因子_如何看懂英文论文?别找了,方法在这儿!
  20. 解救人质 DFS简单模板

热门文章

  1. 手把手教你用java完成文件、图片下载
  2. BugkuCTF-MISC题蜘蛛侠
  3. C语言 输出重复序列的序号,如何在FASTA序列中找到反向重复模式?
  4. java quartz2.1_quartz 2.1学习(一)
  5. tl494c封装区别_TL494参数,功能介绍,TL494应用电路图,封装,管脚及TL494 PDF中文资料手册...
  6. 用计算机表白我不喜欢你了,隐藏式表白,表白不一定要用“我喜欢你”这几个字...
  7. python求定积分的函数_手搓计算化学(GTO积分by python)
  8. java.net.url 中文乱码,.Net获取URL中文参数值的乱码问题解决方法总结
  9. java同时关闭两个窗口_在一个窗口中同时关闭多个窗口的问题(Swing中事件多点传送的问题) | 学步园...
  10. android 移除fragment,Android Viewpager+Fragment取消预加载及Fragment方法的学习