社区讨论
求问m=2,玄关
P14636[NOIP2025] 清仓甩卖参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimn55qz
- 此快照首次捕获于
- 2025/12/01 12:20 3 个月前
- 此快照最后确认于
- 2025/12/01 12:45 3 个月前
CPP
if (m == 2) {
unsigned long long ans = pow[n - 1];
std::sort(val + 1, val + 1 + n, cmp);
for (int i = 2; i <= n + 1; i++) {
if (val[i] + val[i] <= val[1]) {
ans += pow[n - i + 1];
ans %= MOD;
break;
}
for (int j = i + 1; j <= n; j++) {
if (val[i] + val[j] >= val[1]) {
ans += pow[n - j];
ans %= MOD;
}
}
}
cout << ans << '\n';
continue;
}
表示,val代表原价,已经从大到小排序,从大到小查找原价第i大的是否要除2,如果除2以后还能找到两个相加大于的最大值,就符合,否则不符合
回复
共 0 条回复,欢迎继续交流。
正在加载回复...