棕了怎么办?。。。(请管理关帖)

LGR-213 作弊名单 - 洛谷

我没作弊啊QaQ,凭什么棕我?!我要申诉!!!

但是万一失败咋办啊!!!要崩溃了孩子们!!!给点建议

4 个赞

啊!!!【疯】
不要紧 @张乐凡 巨佬会帮我

3 个赞

不对,万一还是失败了咋办?。我码风和AI超像。。。而且我WA后会写注释调,更像AI了。

我写注释干嘛?!!

3 个赞

@俞天行 反馈是可以反馈的,但是一般看管理员心情(因为其实没有很好的证据证明一个人没有作弊,也没有很好的证据证明一个人作弊

2 个赞

@俞天行 反馈不成功,还可以用复活币

2 个赞

啥玩意?复活币?是money嘛?
你棕过吗?。。(有点不礼貌哈)

3 个赞

@俞天行 我没有棕过,你可以看一下文章,或者问一下别人

2 个赞

谢谢

3 个赞

你谢谢什么?我又帮你妈?(我没有棕过,但是上次有人把我的橙名看成棕名了。。。

2 个赞

emm……你认真的?

3 个赞

e打错字了对不起是:我有帮你吗

2 个赞

笑死了,好歹帮我平复了心情,谢谢

3 个赞

帮不了你啊,你这码风太像 AI 了,甚至还有注释,不好和管理解释。
14 天就行了,换个颜色而已,几乎没损失

2 个赞

@张乐凡 有损失,会掉估值!而且可能导致粉丝减少

2 个赞

6,但是我码风就这样啊! :sob:

你们看:

我写的线段树:

#include <bits/stdc++.h>
#define LL long long

using namespace std;

const LL N = 100005;

LL n, m, p;
LL a[N];

struct node {
	LL l, r;
	LL sum, add, mul;
} tree[N << 2];

void build(LL num, LL l, LL r);
void pushup(LL num);
void pushdown(LL num);
void mul(LL num, LL x, LL y, LL k);
void add(LL num, LL x, LL y, LL k);
LL modify(LL num, LL x, LL y);

int main(void)
{
	cin >> n >> m >> p;
	
	for (LL i = 1; i <= n; i++) {
		cin >> a[i];
	}
	
	build(1, 1, n);
	
	while (m--) {
		LL oi, x, y;
		cin >> oi >> x >> y;
		if (oi == 1) {
			LL k;
			cin >> k;
            k %= p;
			mul(1, x, y, k);
		}
		if (oi == 2) {
			LL k;
			cin >> k;
            k %= p;
			add(1, x, y, k);
		}
		if (oi == 3) {
			cout << modify(1, x, y) << '\n';
		}
	}
	
	return 0;
}

void build(LL num, LL l, LL r) {
	tree[num].l = l;
	tree[num].r = r;
	tree[num].mul = 1;
	
	if (l == r) {
		tree[num].sum = a[l] % p;
		return;
	}
	
	LL mid = (l + r) >> 1;
	build(num << 1, l, mid);
	build(num << 1 | 1, mid + 1, r);
	pushup(num);
	return ;
}

void pushup(LL num) {
	tree[num].sum = (tree[num << 1].sum + tree[num << 1 | 1].sum) % p;
	return ;
}

void pushdown(LL num) {
	tree[num << 1].sum = (tree[num << 1].sum * tree[num].mul + tree[num].add * (tree[num << 1].r - tree[num << 1].l + 1)) % p;
	tree[num << 1 | 1].sum = (tree[num << 1 | 1].sum * tree[num].mul + tree[num].add * (tree[num << 1 | 1].r - tree[num << 1 | 1].l + 1)) % p;
	
	tree[num << 1].mul = (tree[num << 1].mul * tree[num].mul) % p;
	tree[num << 1 | 1].mul = (tree[num << 1 | 1].mul * tree[num].mul) % p;
	
	tree[num << 1].add = (tree[num << 1].add * tree[num].mul + tree[num].add) % p;
	tree[num << 1 | 1].add = (tree[num << 1 | 1].add * tree[num].mul + tree[num].add) % p;
	
	tree[num].add = 0;
	tree[num].mul = 1;
	
	return ; 
}

void mul(LL num, LL x, LL y, LL k) {
	if (x <= tree[num].l && tree[num].r <= y) {
		tree[num].add = (tree[num].add * k) % p;
		tree[num].mul = (tree[num].mul * k) % p;
		tree[num].sum = (tree[num].sum * k) % p;
		return;
	}
	
	pushdown(num);
	
	LL mid = (tree[num].l + tree[num].r) >> 1;
	if (x <= mid) mul(num << 1, x, y, k);
	if (y > mid) mul(num << 1 | 1, x, y, k);
	pushup(num);
	
	return;
}

void add(LL num, LL x, LL y, LL k) {
	if (x <= tree[num].l && tree[num].r <= y) {
		tree[num].add = (tree[num].add + k) % p;
		tree[num].sum = (tree[num].sum + k * (tree[num].r - tree[num].l + 1)) % p;
		return ;
	}
	
	pushdown(num);
	
	LL mid = (tree[num].l + tree[num].r) >> 1;
	
	if (x <= mid) add(num << 1, x, y, k);
	if (y > mid) add(num << 1 | 1, x, y, k);
	pushup(num);
	
	return ;
}

LL modify(LL num, LL x, LL y) {
	if (x <= tree[num].l && tree[num].r <= y) {
		return tree[num].sum;
	}
	
	pushdown(num);
	LL ans = 0;
	LL mid = (tree[num].l + tree[num].r) >> 1;
	if (x <= mid) ans = (ans + modify(num << 1, x, y)) % p;
	if (y > mid) ans = (ans + modify(num << 1 | 1, x, y)) % p;
	return ans;
}
3 个赞

不要紧,我是蒟蒻没几个粉丝 :) 估值没事,现在205咕,橙名绰绰有余

3 个赞

@俞天行 确实太像AI了,不好整,我也许可以帮你,就说和你同机房,看过你的马蜂和习惯

2 个赞

试试?我给你我写的代码和提交记录,在那个比赛之前

4 个赞

@俞天行 不行这样骗人不太好,你有同机房的同学吗

2 个赞

有啊,一堆

3 个赞