两个数位DP,记忆化搜索版(HDU 3652 HDU 3709)

转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove

HDU 3652

http://acm.hdu.edu.cn/showproblem.php?pid=3652

出现13,而且能被13整除。

加一维表示当前的余数。那么在后面加一位,余数被为(mod*10+i)%13。

递归的貌似好些点,不过应该在效率方面略差。细节处理貌似方便点。

详见代码注释


#include
#include
#include
#include
#include
#include
#define N 100005
#define inf 1<<29
#define MOD 9973
#define LL long long
#define eps 1e-7
#define zero(a) fabs(a)

HDU 3709

http://acm.hdu.edu.cn/showproblem.php?pid=3709

平衡数,枚举支点,然后其它的类似。加一维表示当前的力矩,注意当力矩为负时,就要返回,否则会出现下标为负,也算是个剪枝。

#include
#include
#include
#include
#include
#include
#define N 100005
#define inf 1<<29
#define MOD 9973
#define LL long long
#define eps 1e-7
#define zero(a) fabs(a)



你可能感兴趣的:(两个数位DP,记忆化搜索版(HDU 3652 HDU 3709))