class Solution {
public:
vector<int> countBits(int num) {
// dp[i]表示数字i的二进制数中1的个数
// dp[i] = dp[i>>1] + i&1
vector<int> dp(num+1);
for(int i=1;i<=num;i++){
dp[i] = dp[i>>1] + (i&1);
}
return dp;
}
};