cquoj专题

[CQUOJ 21448] 会做题的兔兔 (数学+DP)

题意大意是有一个整数,可以用若干个 2的 n次幂累加得到,问一共有多少种累加方案 统计方案的题,最重要的是做到不重复,不遗漏 dp[i][0]表示构成 i中不含 1的方案有多少种 dp[i][1]表示构成 i中含 1个 1的方案有多少种 dp[i][2]表示构成 i中含 1的方案有多少种 最后答案是 dp[N][0] +dp[N][2] 思路如下: 1) 如果 i是奇数,那么必然要有

[CQUOJ 21412] 软妹币!软妹币!软妹币! (数学+DP)

CQUOJ - 21412 题意大致是,用若干不同的数中的某些数加减得到 1…n之间的所有数,需要的最少几个不同的数 赛上是找规律做的,虽然过了,但是感觉不太稳,赛后看了题解恍然大悟 首先有这样一个事实,如果有 3个数可以表示 1..13 那么对于小于 13的n,答案至多为 3 所以我们可以考虑,用 i个数能够构造出的最大的数是多少 设 dp[i]表示 i个数最大能表示 [1, dp[