55d专题

【codeforces】55D. Beautiful numbers 数位DP

传送门:【codeforces】55D. Beautiful numbers 题目分析:被每一位整除则用二进制记录已经包括的数字的个数,以及对2520取模后的状态。由于对5整除当且仅当最后一个数为0或5,对2整除当且仅当最后一个数为偶数,且1~9的最小公倍数为2520,不包括2,5后的最小公倍数为252,所以除最后一层对2520取模,其余时候都对252取模即可。由于整除的状态有限,最多只有

Codeforces 55D Beautiful numbers --- 数位DP

一个数能被它的所有非零数位整除,则能被它们的最小公倍数整除,而1到9的最小公倍数为2520,其中可以是最小公倍数的其实只有48个,先存下来,不然超内存。 dfs中的 n 表示之前那些位的最小公倍数 mod记录对2520取模的值,要直接拿一个很大的数对所有位的最小公倍数取模不现实,这里又用到了上次说的一个数论知识:如果两个数同余,那么对这两个数作任何相同运算,结果还是同余。 #