
计数dp
xyc1719
努力会说谎,但努力不会是白费
展开
-
A decorative fence 计数
【一句话题意】给n块长度为1~n的木板,组成一个长度为n的序列,满足相邻的木板都比自己长或短。方案按字典序排列。有多组询问,问当有ai块木板时,第bi号方案是什么。 ai<=20,bi<=263 【分析】类似于倍增dp的“拼凑”思想和手推康托展开时的方式,我们可以用“试填”的方式来确定第bi号方案中各个木板的长度。比如从小到大枚举,如果当第一块木板长为h时,N-1块木板的构成的方案数T...原创 2018-10-28 18:49:33 · 228 阅读 · 0 评论 -
密码 passwd.cpp
【一句话题意】给你一个长度不超过17 的由0…9 组成的无前导0 的字符串S,求S 中的数字排列组成的无前导零的能被17 整除的整数中字典序第K 小的那个数。 k<=17! 【分析】 s有17位显然是数位dp,求排列第k大显然是计数dp。状态定义由于是求排列,所以不能像普通数位dp一样,定义为f[state][k]表示选择数之后状态为state对17取模为k时的方案总数。f[0,0]=1。 ...原创 2018-11-02 15:42:47 · 260 阅读 · 0 评论