UVa11077
2024-10-17 05:25:41
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 ;
}
最新文章
- thinkphp使用ajax
- Yii2 认证实现原理和示例
- 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(3)
- mongodb主从数据同步
- Directory的GetFiles方法
- Scrum 3.2 多鱼点餐系统开发进度(页面优化&;下单详细信息页面)
- Windows 下 Nginx + PHP + Xdebug + PHPStorm 调试环境配置
- shell脚本执行查找进程,然后查杀进程
- C# 面向对象之概念理解(3)
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- view,SurfaceView,GLSurfaceView的关系和区别
- Python自动化运维之19、Paramiko模块和堡垒机实战
- JListDemo
- C++把引用作为返回值
- Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探
- Codeforces 1109D. Sasha and Interesting Fact from Graph Theory 排列组合,Prufer编码
- Office 365平台及其价值主张
- Unity调试模式设置辅助线是否可见
- Oracle Initialzation error instantclient_11_2 32位客户端问题
- audit:backlog limit exceeded
热门文章
- Python爬虫简单实现之Q乐园图片下载
- QML 开发神奇加成之为网络资源设置本地缓存
- shell mysql 直接创建表
- WheelView实现省市区三级联动(数据库实现版本号附带完整SQL及数据)
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
- Python常用的包
- 【Java架构学习】Model1和Model2讨论
- openwrt - squashfs-sysupgrade.bin 的生成过程
- Boost下载安装编译配置使用指南(含Windows和Linux) .
- app发布流程