尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

AtCoder Regular Contest 208 (Div. 2) 题解

AtCoder Regular Contest 208 (Div. 2) 题解
📅 发布时间:2026/6/19 18:24:20
ARC 208 题解

Link

A

我以为是一个贪心题。套路地,统计 \(f_i\) 表示第 \(i\) 位上 \(1\) 的个数,由于要求我们 \(\rm or\) 的值不能改变,也就是不能出现二进制下的退位和进位,以及当前位上 \(1\) 的个数必须 \(\geq 1\)。从这里出发思考对于 Alice 或者 Bob 当前的最优解?将偶数位尽可能消耗完,把奇数位留给对面,然后依次操作消耗到对方面临全部都为 \(1\) 的情况。这样讲比较抽象,具体地,可以从 \(111 \dots 111\) 的终止情况向前考虑。得到一个不严谨的结论但是感觉很对:如果 \(f_i \gt 0\) 且 \(f_{1 \leq i \leq n}\) 全为奇数,先手必败,反之先手必胜。但是看了一下 Editorial 发现这其实是 一种 Nim 博弈的变形,可以写的很快很干净。不会,记得补一下博弈论。

#include <bits/stdc++.h>using i64 = long long;constexpr int N = 30;void solve() {int n;std::cin >> n;std::vector<int> f(N);for (int i = 1, x; i <= n; i++) {std::cin >> x;for (int j = 0; j < N; j++) {if (x >> j & 1)f[j]++;}}for (int j = 0; j < 30; j++) {if (f[j] && !(f[j] & 1)) {std::cout << "Alice\n";return;}}std::cout << "Bob\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t;std::cin >> t;while (t--) {solve();}return 0;
}

相关新闻

  • 第三十篇
  • 第2次软件基础作业
  • KeyShot许可管理故障排除步骤

最新新闻

  • 常州多年黄金回收攻略,三十年实体经营,收的顶本地口碑有保障 - 奢侈品回收测评
  • 01_系统架构设计
  • 如何免费实现专业级直播抠像:obs-backgroundremoval插件完全指南
  • 新手必看!抖音保存视频到相册的详细步骤技巧 - 工具软件使用方法推荐
  • LaTeX长表格排版进阶:如何用longtable宏包实现跨页表格的精细控制?
  • 2026亲测:专业降AIGC软件选它准没错 - 降AI小能手

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号