找回密码
 立即注册
首页 业界区 业界 【CF比赛记录】Codeforces Round 1007 (Div. 2)

【CF比赛记录】Codeforces Round 1007 (Div. 2)

卓卞恻 2025-6-4 22:34:15
Codeforces Round 1007 (Div. 2) 比赛记录

比赛链接
很喜欢的一场比赛,题目质量很高,不是手速场,做出题超级有成就感,赛时切掉了 A - D1,上大分了。
B卡得有点久,其实是一个很常用的构造手法但一开始没想到。
过题记录:
1.png

A. The Play Never Ends

题意大概就是,每场两个人打,一个人观战。如果有一个人以及连续打了两场,则这场无论如何这个人都要下去,否则输的那个下去,问第 \(k\) 场的时候第一场观战的人能否观战。
假设第一场打的人分别是 A 和 B,A 获胜,观战者是 C,手玩一下小一点的样例发现,第二场 C 一定上场,此时 A 已经打了一场,那么 A 和 C 打完后,无论如何,下的都是 A,再打一场后,由于 C 已经打了两场了,所以无论如何,下的都是 C,如此进行下去可以发现,输赢无所谓,因为总有一方连续打了两场,必须下,因此实际上就是三个人轮换,所以 C 观战的时候就是 \(k \bmod 3 = 1\) 的时候
[code]void solve(){    int n;cin >> n;    if(n % 3 == 1)cout  n;    if(vis.count((n + 1) * n / 2)) {        cout  ed;    init(n);    for(int i = 1;i < n;i ++) {        int u, v;cin >> u >> v;        g.push_back(v);        g[v].push_back(u);    }    dfs(st, 0);    dfs1(st, 0);    ans.push_back(ed);    for(auto &i : ans) {        cout  l >> r;    for(int i = 1;i > a;    for(int i = 1;i
您需要登录后才可以回帖 登录 | 立即注册