思路 首先看到与运算立马想到和位运算有关 利用前缀和思想存连续的一段数的和 利用贪心的思想,最高到低枚举每一位,判断把这一位变1后是否满足(ps:枚举的那位尽可能大一点) 设dp[i][j]前i个物体被分为j组是否存在 代码 #include <bits/stdc++.h> using namespace std; #define pb push_back #define mp(aa,bb) make_pair(aa,bb) #define _for(i,b) for(int i=(0);i<(b);i++) #define rep(i,a,b) for(int i=(a...