当前位置: 首页 > news >正文

AtCoder Regular Contest 208 (Div. 2) 题解

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;
}
http://www.fuzeviewer.com/news/3483/

相关文章:

  • 做网站的公司名称厦门市同安区建设工程质量安全监督站网站
  • 设计师常用的图库网站网页制作步骤php
  • 揭阳商城网站建设做环卫车怎么做网站
  • 做搜狗pc网站优化点二人对战的微信小程序
  • 查询网站流量页面上影响网站排名的因素
  • 某男神去年年底来某网站做见面会_竟要求安保人数超过两位数吉林省吉林市地图
  • 庆阳市建设局海绵城市网站做网站容易还是做小程序容易
  • 怎么才能百度做网站网站设计方案要怎么写
  • 工业和信息部网站备案营销式网站制作
  • 德州网站建设维护成都优化官网推广
  • 做网站方面网站制作wordpress
  • 国外网站推广平台有哪些公司网站加上视频对seo影响
  • 网站建设与维护模拟一seo建站
  • 唐山市网站建设网页综合设计
  • 包头网站建设公司美容类 营销型网站
  • 营销单页模板网站用php内容做电商网站
  • 龙胜时代大厦 做网站企业官方网站怎么查
  • 外贸业务怎么利用网站开发客户网站设计遵循的原则
  • 成都市建设局权益卡网站网站建设页面设计
  • 网站开发技术人员高端app开发
  • 网站内容怎么选择嘉兴网站建设解决方案
  • 北京市住房和城乡建设厅官方网站做竞价推广大概多少钱
  • 电商网站有哪些浙江建筑证书查询系统
  • 鹰潭网站商城建设wordpress dreamwear
  • 德语网站建设注意事项学生静态网页模板
  • 营销网站的建设与管理包括哪些事项高密制作网站
  • 重庆网站seo设计怎么去掉一页wordpress
  • 百度网站建设费用怎么做账电信ip做的网站移动不能访问
  • 织梦素材网站模板免费下载烟台网站排名系统
  • 网站开发是前端开发吗做网站视频 上传到哪儿