社区讨论

化圆为线

P2190小Z的车厢参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m2dgx1mv
此快照首次捕获于
2024/10/17 23:40
去年
此快照最后确认于
2025/11/04 16:57
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#define foo(i, a, b) for (int i = a; i <= b; i++)
#define joo(i, a, b) for (int i = a; i >= b; i--)
#define mabs(a) ((a) < 0 ? (-(a)) : (a))
#define mceil(a, b) ((a - 1) / (b) + 1)
#define QwQ 0

typedef long long ll;
typedef double dob;

const int MAXN = 3e6 + 17; // 这里应该开3n还是2n??
//const int MAXM = ;

using namespace std;
int n, m, f[MAXN], q[MAXN];
int main() {

	cin >> n >> m;	
	foo (i, 1, m) {
		int x, y, z, ty = 0;  cin >> x >> y >> z;
		if (x <= y) {
			f[x] += z; f[y] -= z; ty = y;
		}else {
			f[x] += z; f[y + n] -= z; ty = y + n;
		}
		f[x + n] += z; f[ty + n] -= z;
	}


	foo (i, 1, 3 * n) {
		q[i] = q[i - 1] + f[i];
	}
	int maxx = -1;
	foo (i, 1, 3 * n) {
		maxx = max(maxx, q[i]);
	}
	cout << mceil(maxx, 36);
	return QwQ;
}


画圆为线的下表最大值应该是 2n + p吧,开2n居然过了

回复

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

正在加载回复...