数位DP
Winterfell30
这个作者很懒,什么都没留下…
展开
-
HDOJ 5676 ztr loves lucky numbers (贪心+数位DP)
题意定义幸运数为只包含4和7并且4和7数量相等的数,给一个小于1e18的数,求大于这个数的第一个幸运数。思路思路一:实际上可以先打表dfs出所有的小于1e18的幸运数,然后每次输入n之后二分找就可以了,复杂度2^18,但是我想万一这个幸运数大于1e18不是不大好处理么,于是我就跑去贪心了(强行作死)。。。其实大于1e18只有一种情况,也就是大于777777777444444444LL(18位),这样原创 2016-05-02 13:37:09 · 522 阅读 · 0 评论 -
HDU 5787 K-wolf Number
题意求区间[l,r]中有多少个数不存在连续k位含有相同的数位。思路比较裸的数位DP,但是因为刚开始没有想好思路就开始写后来调试挺长的时间。 因为K比较小,所以我们直接加4维状态分别表示前面取的四个数,每次加下一个的时候根据K判断一下就好了。有些不好处理的地方是010这种有前导零的,那么前导零我们统一用11这个数位取不到的数来表示就可以了。代码#include <stdio.h> #include原创 2016-11-01 15:27:23 · 552 阅读 · 0 评论