mns Day 8

A home

首先写出一个 BFS 暴力。

找了找规律,发现最大值在“选取所有和为 \(\lfloor \frac{3n}{2} \rfloor\) 的三元组“时取到。模拟即可。

点击查看代码
#include <bits/stdc++.h>
using namespace std;

int n, ans;

int main() {
    freopen("home.in", "r", stdin);
    freopen("home.out", "w", stdout);
	cin >> n;
	for(int i = 0; i <= n; i++) {
		for(int j = 0; j <= n; j++) {
			for(int k = 0; k <= n; k++) {
				if(i + j + k == n + n / 2) ans++;
			}
		}
	}
	cout << ans << '\n';
	for(int i = 0; i <= n; i++) {
		for(int j = 0; j <= n; j++) {
			for(int k = 0; k <= n; k++) {
				if(i + j + k == n + n / 2) cout << i << ' ' << j << ' ' << k << '\n';
			}
		}
	}
	return 0;
}

B connect

大粪。

首先发现是分数规划,光速二分,然后以为可以在两个“中间”截取。

然而:

这 SB 玩意可以平移过去导致答案不减

这 SB 玩意可以平移过去导致答案不减,那就好办了,我们直接枚举每一个分界点,看看以这个分界点为右端点时答案可不可以取到 mid 即可。

啥?你说以分界点为左端点?直接反着再做一遍不就完了?

posted @ 2025-10-13 15:48  hhc0001  阅读(4)  评论(0)    收藏  举报