T356483 巧克力工厂
注意事项
long long n = 0, cur_pow = 1;
cin >> n;
for (int pow = 0; cur_pow < k; pow ++) {
cur_pow = 1 << pow;
}
cout << pow << endl;
犯の错误
- 如果 \(k\) 为 \(2\) 的整数次方,那么第二个数输出 \(0\)。其他题目需要注意类似极端情况的特判。
T356487 藏宝洞
注意事项
- 本题看似是背包,但是这是可分割背包问题,用贪心而不是 \(dp\)。
P7714 排列排序
注意事项
- 使用双指针,记录
ptr
表示上次 maxn == i
的位置
- 读入时记录前缀最大值
maxn
,如果 maxn == i
,那么对区间 \([ptr,i]\) 进行排序
犯の错误
T356495 扫地机器人
注意事项
- 使用二分答案 & 贪心检验答案
- 使用一个指针存储上一个扫地机器人能够扫到的最右边区域
犯の错误
P1158 导弹拦截
注意事项
- 按照每一个导弹到 A 系统的距离进行排序,然后枚举前几个导弹分给 A 系统,则后面 \(n-i+1\) 个导弹都给 B 系统
- 每一种情况都算出答案,取最小值即可
犯の错误