可以发现最优的方案就是一个循环节内互换。

所以一个有n个元素,c个循环节的置换的交换次数(最少)是n-c。

然后就可以递推了,把i插入到前i-1个元素构成的置换中,要么新成立一个循环,要么加入到之前的任意循环中去。

所以f[i][j]=f[i-1][j]+f[i-1][j-1]*(i-1)

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#define ll unsigned long long
ll f[25][25];
int n,k;inline void init(){f[0][0]=1;for(int i=1;i<=21;i++)for(int j=0;j<i;j++){f[i][j]=f[i-1][j];//i自己独立形成一个循环 if(j) f[i][j]+=f[i-1][j-1]*(ll)(i-1);//i插入之前循环的任意一个位置 }
}int main(){init();while(scanf("%d%d",&n,&k)==2){if(!n&&!k) break;printf("%llu\n",f[n][k]);}return 0;
}

  

转载于:https://www.cnblogs.com/JYYHH/p/8446474.html

Uva 11077 Find the Permutation相关推荐

  1. html5 krpano,krpano HTML5 Viewer可以实现全景展示

    git使用--git命令项目提交问题总结 提交遇到Error  "remote ref does not exist"解决办法:git fetch -p MY_REMOTE    ...

  2. UVa 11027 - Palindromic Permutation 回文串,组合加搜索

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=s ...

  3. 暑期集训4:栈,树,优先队列 例 :  UVA - 514 ​​​​​​​​​​​​​​

    2018学校暑期集训第四天--栈,树,优先队列 例题  --   UVA - 514 Rails There is a famous railway station in PopPush City. ...

  4. UVA 11990 ``Dynamic'' Inversion 动态逆序对

    ``Dynamic'' Inversion Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/index ...

  5. UVa 103 - Stacking Boxes(dp求解)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  6. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  7. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  8. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  9. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

最新文章

  1. 导航控制器自定义返回控件及手势失效问题
  2. 关于本分类(codeforces-好题系列)
  3. 福利 | “石墨烯之父”现场演讲!中国科幻大会“科技与未来”论坛报名中
  4. SQL Server插入中文数据后出现乱码
  5. mysql安装设置数据目录下,linux下安装mysql数据+配置
  6. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...
  7. edgesForExtendedLayout ios7新特性
  8. 大数据分析存在哪些困难
  9. 共享一款基于 jQuery 的多功能对话框插件 jBox,强不强大,用了才知道:)
  10. AutoResetEvent和ManualResetEvent用法
  11. 关于hping打流测试工具
  12. 英语黑色幽默IT段子
  13. ARM7——LPC2xxx小总结
  14. php 照片变成卡通照片,怎么把照片做成q版卡通 照片变q版卡通人物 q版卡通头像制作...
  15. 国企区块链应用进展年内已经突破50起 信任传递或引发区块链遍地开花
  16. Flutter 插件开发:iOS篇
  17. 为什么装完计算机系统后进不去,电脑重新装完系统后开机后就这个样子,一直进不去是为什么?...
  18. java双人游戏_Java 简易双人坦克游戏实现
  19. 计算机主板风扇安装,详解电脑风扇插在主板哪里怎么安装
  20. 爬虫股票交易接口系统怎么运用多空指标获取数据?

热门文章

  1. 深度学习在智能助理中的应用
  2. Reversing Ethereum Smart Contracts: Part 2
  3. Xposed源码剖析——概述
  4. datacombo重复值的处理_Pandas入门【S1E3】缺失值和重复值处理
  5. php session修改时间,PHP如何修改SESSION有效时间?
  6. python回归模型 变量筛选_如何进行高维变量筛选和特征选择(一)?Lasso回归
  7. 最短路径问题(Floyd算法)
  8. 用java设计一个二叉树类的结构,二叉树的基本结构以及java实现
  9. wifi定位算法 java_记一次APP的so层算法逆向(七)
  10. 用户交互php源码,phpWebSite ,容许个人和群组用户很容易地维护一个交互式社区驱动的站点.phpWebSite...