dp+置换

可以把排列分成几个循环,然后dp统计

dp[i][j]=dp[i-1][j-1]*(i-1)+dp[i-1][j],表示当前有i个元素,至少换j次,然后如果不在自己应该在的位置有i-1种情况,在自己位置上有1种情况,转移即可

话说vjudge也有100AC了。。。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;
const int N = ;
int n, k;
ull dp[N][N];
int main()
{
dp[][] = ;
for(int i = ; i < ; ++i)
for(int j = ; j < ; ++j) dp[i][j] = (ull)(i - ) * dp[i - ][j - ] + dp[i - ][j];
while(scanf("%d%d", &n, &k) && (n != || k != )) printf("%llu\n", dp[n][k]);
return ;
}

最新文章

  1. thinkphp使用ajax
  2. Yii2 认证实现原理和示例
  3. 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(3)
  4. mongodb主从数据同步
  5. Directory的GetFiles方法
  6. Scrum 3.2 多鱼点餐系统开发进度(页面优化&amp;下单详细信息页面)
  7. Windows 下 Nginx + PHP + Xdebug + PHPStorm 调试环境配置
  8. shell脚本执行查找进程,然后查杀进程
  9. C# 面向对象之概念理解(3)
  10. JavaWeb学习总结(四十九)——简单模拟Sping MVC
  11. view,SurfaceView,GLSurfaceView的关系和区别
  12. Python自动化运维之19、Paramiko模块和堡垒机实战
  13. JListDemo
  14. C++把引用作为返回值
  15. Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探
  16. Codeforces 1109D. Sasha and Interesting Fact from Graph Theory 排列组合,Prufer编码
  17. Office 365平台及其价值主张
  18. Unity调试模式设置辅助线是否可见
  19. Oracle Initialzation error instantclient_11_2 32位客户端问题
  20. audit:backlog limit exceeded

热门文章

  1. Python爬虫简单实现之Q乐园图片下载
  2. QML 开发神奇加成之为网络资源设置本地缓存
  3. shell mysql 直接创建表
  4. WheelView实现省市区三级联动(数据库实现版本号附带完整SQL及数据)
  5. 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
  6. Python常用的包
  7. 【Java架构学习】Model1和Model2讨论
  8. openwrt - squashfs-sysupgrade.bin 的生成过程
  9. Boost下载安装编译配置使用指南(含Windows和Linux) .
  10. app发布流程