诸城模拟赛 dvd的逆序对
【题目描述】
dvd是一个爱序列的孩子。
他对序列的热爱以至于他每天都在和序列度过
但是有一个问题他却一直没能解决
给你n,k求1~n有多少排列有恰好k个逆序对
【输入格式】
一行两个整数n,k
【输出格式】
输出一个整数,表示答案对1000000007取模后的结果
【样例输入】
4 1
【样例输出】
3
【样例解释】
1 2 4 3
1 3 2 4
2 1 3 4
【数据规模及约定】
对于10%的数据 n<=10
对于30%的数据 k<=50
对于100%的数据 1<=n,k<=1000 且 k<=n*(n-1)/2
/*
当年的爆零题,今年的一眼题
我们可以注意到,题目中要求的是这个方案数,而且这个数字很大,要对一个很大的数取模,考虑dp,f[i][j]表示1~j的排列恰好有i个逆序对,考虑f[i][j+1],等于是多了一个数字j+1,包括这个数字的逆序对是他后面的数的个数,剩下的逆序对就又前面j的排列来填补,这样维护一个前缀和,f[i][j] = f[i-j+1……i][j-1]
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = ;
const int mod = ;
int n,k,f[maxn][maxn],s[maxn][maxn];
int main(){
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
cin>>n>>k;
for(int i = ;i <= n;i++) s[][i] = f[][i] = ;
for(int i = ;i <= k;i++){
for(int j = ;j <= n;j++){
if(i >= j)f[i][j] = (s[i][j-] - s[i-j][j-] + mod) % mod;
else f[i][j] = s[i][j-];
s[i][j] = (s[i-][j] + f[i][j]) % mod;
}
}
cout<<f[k][n]<<endl;
return ;
}
诸城模拟赛 dvd的逆序对的更多相关文章
- 计蒜客模拟赛D2T2 蒜头君的排序:区间逆序对(移动端点) + 树状数组
题目链接:https://nanti.jisuanke.com/t/16443 题意: 给你一个由1~n构成的正整数序列,有m组询问,每组询问要求输出[l , r]区间内的逆序对个数. 数据范围: 对 ...
- 清北学堂模拟赛d2t3 逆序对(pair)
题目描述LYK最近在研究逆序对.这个问题是这样的.一开始LYK有一个2^n长度的数组ai.LYK有Q次操作,每次操作都有一个参数k.表示每连续2^k长度作为一个小组.假设n=4,k=2,则a[1],a ...
- 浙江工商大学15年校赛I题 Inversion 【归并排序求逆序对】
Inversion Time Limit 1s Memory Limit 131072KB Judge Program Standard Ratio(Solve/Submit) 15.00%(3/20 ...
- Codeforces 911 三循环数覆盖问题 逆序对数结论题 栈操作模拟
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- “浪潮杯”第九届山东省ACM大学生程序设计竞赛(重现赛)E.sequence(树状数组求逆序对(划掉))
传送门 E.sequence •题意 定义序列 p 中的 "good",只要 i 之前存在 pj < pi,那么,pi就是 "good": 求删除一个数, ...
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- ATP学姐的模拟赛
ATPの水题大赛 声明:不是我觉得这题水,这就是本场模拟赛的名称. T1:求所有的$n$位数中有几个数满足:每一位要么是$A$要么是$B$,并且这个$n$位数的每一位加起来是$A$或$B$的倍数. $ ...
- QBXT模拟赛1
总结 期望得分:\(100 + 80 + 10 = 190\) 实际得分:\(90 + 80 + 10 = 180\) 这是在清北的第一场考试,也是在清北考的最高的一次了吧..本来以为能拿\(190\ ...
- 模拟赛T2 交换 解题报告
模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...
随机推荐
- [WPF系列]-ListBox
引言 本文就WPF中的ListBox常用项给以实例代码演示,包括隐蔽属性的设置,Style设置,以及ControlTemplate的自定义. Listbox平滑滚动 <ListBox Ite ...
- Excellent Articles
Lisp The roots of lisp Recursive Functions of Symbolic Expressions and Their Computation by Machine, ...
- postman使用之三:API请求和查看响应结果
请求 postman支持很多请求类型,界面左侧可以看到请求类型:get.post.put.patch等,右侧是发送和保存按钮,下方是请求支持的认证方式.信息头.信息体.私有脚本和测试结果.下面我们介绍 ...
- 【转载】Serif和Sans-serif字体的区别
在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Monospace这一种类,例如在Web中,表示代 ...
- [Unity3D]深度相机 Depth Camera
作为3D世界里最重要的窗口,摄像机的应用就显得很重要,毕竟在屏幕上看到的一切都得用摄像机矩阵变换得来的嘛.论坛上看到了一篇帖子讲非天空盒的背景做法,让我想起其实很多界面合成画面可以用摄像机之间的交互来 ...
- Android开发之InstanceState详解
Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...
- 判断.net中在windows系统下的字节序
字节序,是指字节在内存中的存储顺序.其又分为大端字节(Big-Endian)序和小端字节序(Little-Endian). 以下摘自百度百科: a) Little-Endian就是低位字节排放在内存的 ...
- 屏蔽防止被别的网站嵌入框架代码(防止被人frame)
<SCRIPT LANGUAGE=javascript> if (top.location != self.location)top.location=self.location; < ...
- p2p网贷系统即将上线
等有时间了,我将此项目的详细设计与开发流程进行陈述,想学习的朋友敬请期待 先上界面:首页 后台:
- 20145208 《Java程序设计》第0周学习总结
20145208 <Java程序设计>第0周学习总结 阅读心得 读了老师推荐的几个文章,虽然第四个文章"为什么一定要自学"报告资源不存在而无法阅读,其他的三篇文章都言之 ...