专栏文章

九月月赛 T3 题解

B4404题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@minspfrw
此快照首次捕获于
2025/12/02 07:43
3 个月前
此快照最后确认于
2025/12/02 07:43
3 个月前
查看原文
题目要求维护每一天的愉悦值,同时模拟赛对愉悦值的影响与奇偶性有关。因此我们维护变量 hvalhval 表示当前愉悦值,cntcnt 表示当前模拟赛场次数。
对于每一天:
  • op=0op=0hvalhval 增加 100100。没有模拟赛,因此 cntcnt 不变。
  • op=1op=1,表示有模拟赛,则 cntcnt 增加 11。接下来判断 cntcnt 的奇偶性,若为奇数则 hvalhval 增加 5050,否则减少 3030
  • op=2op=2,则 hvalhvalcntcnt 均维持不变。
CPP
#include <bits/stdc++.h>
using namespace std;
int d, hval, cnt;

int main() {
	cin >> d;
	while (d--) {
		int op;
		cin >> op;
		if (op == 0) hval += 100;
		else if (op == 1) {
			++cnt;
			if (cnt % 2 == 1) hval += 50;
			else hval -= 30;
		}
		cout << hval << endl;
	}
	return 0;
}
fun fact:由于每次 hvalhval 减少 3030 之前,一定发生了一次 hvalhval 增加 5050 的事件,所以小 S 的愉悦值总是非负的。

评论

0 条评论,欢迎与作者交流。

正在加载评论...