题意:求区间内不含62和4的数的个数;
解法:数位dp。
int dfs(int pos,int pre,bool limit,bool have)。pos表示dp到的数位位置,pre表示前一个数位的数字。limit表示到此时数是否有下降(此位取数字是否受限制的意思),have表示之前是否有62;4的排除是靠在每次枚举下一位i时不取4就可以;每一个case的dp值都是一样的,所以仅仅须要计算一遍。
代码:
/******************************************************* author:xiefubao*******************************************************/#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include #include #include #include #include