康拓展开
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
康拓展开以及逆展开 板子
讲的很好的一篇博客, 原理之类的 康托展开: (板子) fac是存的阶乘数, s是当前我们需要求的这个排列. 返回值为康托值+1, 即第几排列. ll fac[15]; int kang(string s) { int len = sz(s); fac[0] = 1; for (int i = 1 ; i <= len ; i ++) { fac[i] ...原创 2018-03-19 15:43:16 · 350 阅读 · 0 评论 -
牛客练习赛13 D 题 幸运数字IV 【康拓逆展开 + 思维】
传送门 // 题意: 首先定义一个叫幸运数字的概念(具体看题), 就是给定一个n, k; 求1-n的第k小排列中有多少个幸运数字它所在的位置也是幸运数字… 思路: 很明显我们需要知道第k小排列的具体情况. 所以肯定是要求的. k <= 1e9, 13! > 1e9的,所以很明显最多只会是n的最后13位进行移动, 前面可以通过预处理加二分求出, 后面的直接用康拓逆展开带偏移量的求一下...原创 2018-03-19 15:48:14 · 315 阅读 · 0 评论