社区讨论

求问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;
		}
powipow_{i}表示2i2^{i},val代表原价,已经从大到小排序,从大到小查找原价第i大的是否要除2,如果除2以后还能找到两个相加大于valval的最大值,就符合,否则不符合

回复

0 条回复,欢迎继续交流。

正在加载回复...