n <=1000 ,k <= 1000
sol:
f[i][j]表示前i个数组成的排列中逆序对个数为j。
对于第i个数,能放在n-k的位置上,提供k个逆序对的贡献。
f[i][j]=∑i−1k=0f[i−1][j−k]\sum_{k=0}^{i-1}f[i-1][j-k]
发现过不了
f[i][j-1]=∑i−1k=0f[i−1][j−1−k]\sum_{k=0}^{i-1}f[i-1][j-1-k]
两式相减
f[i][j]-f[i][j-1]=f[i-1][j]-f[i-1][j-i]
f[i][j]=f[i][j-1]+f[i-1][j]-f[i-1][j-i]
注意j-i < 0的情况

#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
using namespace std;
int n,k,T;
const int pyz=1e4;
inline int read()
{char c;int res,flag=0;while((c=getchar())>'9'||c<'0') if(c=='-')flag=1;res=c-'0';while((c=getchar())>='0'&&c<='9') res=(res<<3)+(res<<1)+c-'0';return flag?-res:res;
}
const int N=1100;
int f[N][N];
inline void solve()
{n=read();k=read();printf("%d\n",f[n][k]);
}
int main()
{freopen("permut.in","r",stdin);freopen("permut.out","w",stdout);T=read();int e;for(int i=2;i<=1000;++i){e=i*(i-1)/2;f[i][0]=1;for(int j=1;j<=e&&j<=1000;++j){f[i][j]=(f[i][j-1]+f[i-1][j])%pyz;if(j-i>=0) f[i][j]=((f[i][j]-f[i-1][j-i])%pyz+pyz)%pyz;}}while(T--) solve();}

[来源未知][Dp]permut相关推荐

  1. Vijos P1571 笨笨的导弹攻击【最长上升子序列+DP】

    背景 在那遥远的地方,有个小目标-- 笨笨:导弹准备! 路人甲:(这么小个目标都要欺负--)老大,导弹只有一部分可以用-- 笨笨:不管那么多,有多少就打多少! 描述 为了彻底打击目标,笨笨要使用足够多 ...

  2. Day41——Dp专题

    文章目录 四.完全背包 01背包的核心代码 完全背包的核心代码 12.零钱兑换 II 13.组合总和 Ⅳ 14. 爬楼梯(进阶版) 15.零钱兑换 16.完全平方数 17.单词拆分 四.完全背包 完全 ...

  3. 动态规划报告(树形DP+概率DP

    动态规划报告 树形dp 树形 DP,即在树上进行的 DP.由于树固有的递归性质,树形 DP 一般都是递归进行的.一般需要在遍历树的同时维护所需的信息 以一道题目为例 2022CCPC桂林站G Grou ...

  4. 安装APP时弹窗未知风险未知开发者,还能下载吗?

    随着移动互联网的不断普及,人们的日常生活已与手机密不可分.根据相关研究,在使用手机时,人们90%以上的时间都花在某些应用程序上,巨大的需求使得各种各样的APP被开发出来.然而人们在使用APP时必须更加 ...

  5. mkdir命令使用详解

    linux下mkdir命令使用详解---linux下创建目录命令 时间:2010-06-03 21:46来源:未知 作者:Linux安全网 点击: 957次 linux mkdir命令: 创建目录 介 ...

  6. (转)OpenCV版本的摄像机标定

    摄像机的标定问题是机器视觉领域的入门问题,可以分为传统的摄像机定标方法和摄像机自定标方法.定标的方法有很多中常见的有:Tsai(传统)和张正友(介于传统和自定标)等, 摄像机成像模型和四个坐标系(通用 ...

  7. ASPxGridView之PreviewRow

    时间:2010-01-21 12:58来源:未知 作者:admin 点击: 451次我要投稿高质量的ASP.NET空间,完美支持1.0/2.0/3.5/MVC等 ASPxGridView之Previe ...

  8. web移动开发最佳实践之js篇

    一.js概述 js即JavaScript,是被设计用来验证表单.检测浏览器.创建cookies.改进设计以及更多应用的网络脚本语言,它非常容易使用.在web应用中,它是主要的编程语言,主要用途是进行各 ...

  9. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

最新文章

  1. oracle虚拟机 centos6.5,虚拟机oracle virtualbox 上安装centos6.5 网络设置
  2. boosting家族之综合理论篇
  3. [转载]Memcache内存临界测试
  4. loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
  5. 图谱(学习地图)系列总结,持续更新中
  6. iview select 怎么清空_如何解决iview 的select下拉框选项错位的问题,具体操作如下...
  7. 关于lock_guard使用细节
  8. 苹果Mac可视化磁盘清理工具:Disk Expert
  9. 三、单因素方差分析例题(R语言)
  10. 浮点数取绝对值的方法
  11. c#中datagridview清空数据并删除空白行
  12. 欧拉函数、费马定理、欧拉定理
  13. IOl数据流中的字节流
  14. Android——一个简单的记账本APP
  15. 浅析溯源(2):如何实现区块链溯源
  16. CAS:385437-57-0,DSPE-PEG-Biotin,磷脂-聚乙二醇-生物素用于生物分子的检测
  17. 对比了百度统计和CNZZ后,我最终选择了51LA
  18. hashmap有序吗?
  19. vue+less 电池电量图标组件
  20. 阿里云ACE 同城 活动 总结

热门文章

  1. linux arm fpu初始化,如何确定Linux主板是否使用硬件FPU?
  2. 计算机组成原理微控制器实验报告,计算机组成原理实验报告三
  3. SaaS、PaaS、IaaS、DaaS、BaaS简介
  4. 基于 electron 实现简单易用的抓包、mock 工具
  5. 【博文汇总】Java程序设计语言
  6. Android性能:内存篇之内存回收
  7. 23种设计模式——UML类图+简要分析+例题
  8. gin实现简易服务器
  9. 内存溢出问题核查与定位
  10. BurpSuite 基本使用之暴力破解