AGC010D Decrementing

告别概念混淆:一文搞懂Node-RED OPC UA节点中的命名空间、标识符与变量名 本文深入解析Node-RED OPC UA节点中的命名空间、标识符与变量名的核心概念,帮助开发者避免常见配置混淆。通过对比数字标识符(i)与描述性名称(s)的优缺点,结合实际应用场景和性能数据,提供高效的配置策略和服务器端规划建议,适用于工业物联网(IIoT)系统开发。 阅读详情

传送门

题意:
两人发现了一块黑板.现在黑板上有n个数,两人惊奇地发现它们的最大公约数为1.于是他们决定玩一个游戏,两个人轮流进行操作,Hellen先手.
从黑板上的数选择一个不小于2的数,把这个数减去1.然后对于这n个数,除以他们的最大公约数.
当一个人无法操作时便输了.他们都很聪明,每次都会进行最优的操作,问最后哪一个人能够获胜.

题解:
考试时没想到分类讨论,结果大暴力还写丑了…哭唧唧。
看了题解瞬间感觉自己好蠢系列
n=1时先手必败(原因:gcd为1,这个数只能为1)。
显然不可能全是偶数。
情形1:奇数个偶数,至少1个奇数。
情形2:偶数个偶数,至少2个奇数。
情形3:偶数个偶数,1个奇数。
显然,全1属于情形2,为必败态。
情形1选择某个偶数可以转移到情形2,情形2只能转移到情形1.所以(?)情形2为先手必败,情形1为先手必胜。
至于情形3,选择偶数后会转移到情形1导致必败,那么就只能选择奇数,然后递归。
最后我加了一个判断:如果其中有一个1,那么如果(a1-1)+…+(an-1)为奇数,就是先手胜,否则后手胜。

代码:

#include<cstdio>
#define maxn 100005
#define LL long long
using namespace std;
int n,a[maxn];
int gcd(int a,int b)
{
	if(!b) return a;
	return gcd(b,a%b);
}
bool dfs(int a[])
{
	if(n==1) return false;
	int cnte=0,cnto=0,poso=-1;
	for(int i=1;i<=n;i++)
		if(a[i]%2) cnto++,poso=i;
		else cnte++;
	if(cnte%2) return true;
	else if(cnto>1) return false;
	else
	{
		if(a[poso]==1)
		{
			LL tmp=0;
			for(int i=1;i<=n;i++) tmp+=1ll*(a[i]-1);
			return tmp%2;
		}
		a[poso]--;
		int g=a[1];
		for(int i=2;i<=n;i++) g=gcd(g,a[i]);
		for(int i=1;i<=n;i++) a[i]/=g;
		return dfs(a)^1;
	}
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	printf("%s\n",dfs(a)?"First":"Second");
}
QT5.14.2离线安装包保姆级教程:断网、选组件、避坑全记录 本文详细介绍了QT5.14.2离线安装包的完整流程,特别针对Windows平台开发者提供断网安装、组件选择及避坑指南。作为QT5系列中最后一个免费离线版本,5.14.2具有免注册、全组件离线安装等独特优势,是开源开发者的理想选择。文章涵盖从环境准备到安装后配置的全方位指导,帮助开发者高效完成安装并避免常见问题。 阅读详情

相关推荐

量化人必看|miniQMT踩坑记:回测太慢?一招教你把行情数据“搬回家”!

这篇文章主要聊的是。

奔跑的蜗牛 3476

OI数学 简单学习笔记

基本上只是整理了一下框架QAQ PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\gcd(x,y)\) 裴蜀定理 定理:对于方程\(ax+by=c\),其存在解的充要条件是\(gcd(a,b)|c\),可以拓展到n元的方程。 证明的话应该自己yy一下还是很容易(显然可得),不过要是想要严谨证明还是去百度吧qw...

weixin_30478757的博客 2991

数模笔记_多变量最优化计算之牛顿法

Date: 2_22 Name: Guo Yehao Theme: Calculation in Optimality with multiple variables Reference: 数学建模方法与分析(华章) 在上一节中,我们讨论多变量最优化计算中的随机搜索算法,它的精度并不是众多算法中最高的。在精度问题上,有的时候问题本身就带有明显的误差性,以至于我们不能将其忽略,比如上一节消防站部署的问题,我们在区域划分时就有了误差,因此我们并不需要对结果要求很高的精确度,所以用一些比较粗略的算法就可以.

weixin_45358177的博客 2415

[AGC010D]Decrementing

吾妹贤于吾,吾心甚慰。

七代目鸽影 480

DataWorks数据安全治理最佳实践

DataWorks基于数据安全治理的常见思路,针对资产梳理、技术体系建设和运营体系建设,提供了一系列数据安全产品能力,您可通过“基础防护建设、数据安全防护措施及策略增强建设、数据安全持续运营”三个阶段在DataWorks上落地数据安全治理项目。参考本文启动数据安全治理项目前,建议您先了解DataWorks数据安全产品相关能力了解DataWorks数据安全产品能力后,您可参考如下三个阶段在DataWorks上落地数据安全治理项目。

soso1968的博客 1438

cesium加载天地图、OSM、谷歌底图

以上示例是加载矢量底图,若要加载影像或者其他只需要更换相应的url,在WebMapTileServiceImageryProvider中还要更改layer参数。url中’‘vec_w’,一些其他风格,基于CRAT渲染,两种方法效果差别不大。有两种方法加载天地图分别是。对应投影样式,具体可看。还要谷歌的一些卫星底图。

qq_44897914的博客 3000

【agc010D】Decrementing

Portal --> agc010D Solution   “emmm冷静思考一波如果序列有一个\(1\)我就会做”   然后冷静思考了不知道多久一点进展都没有qwq非常果断地忽略掉了一个关键点      首先个人认为这题的一个突破口在于想到从奇偶性去分析(难得没有想错感天动地QwQ然后还是没有想出来),这个想法是怎么来的呢。。其实可能是因为考虑到如果说序列中有一个\(1\)的话,那么结果就...

weixin_30528371的博客 173

UI渲染顺序:合批为何被拆碎?

在 Hierarchy 中,避免出现:Image(列表1) → Text(列表1) → 特效 → Image(列表2) → Text(列表2)…若可行,在逻辑上把布局组织成“同类元素集中”:例如:列表行中,Image 集中、Text 集中;或者接受 Text 本身就拆出一批,关键是不要在 Text 中间再插入别的材质。现实中不一定能做到完美的“所有 Image 连在一起”,但你会有一个意识:同一 Canvas 内,如果你把不同材质的元素交错穿插,

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 85

[agc010d]Decrementing

题目大意 有一个序列a[],两个绝顶聪明的人在操作它,每次操作,选一个大于1的数,让它-1,然后再让整个序列每个元素除以所有数的GCD。不能操作的输。保证一开始GCD=1,问先手还是后手必胜。 n&lt;=1e5,a[i]&lt;=1e9 解题思路 看上去是一道结论博弈题。但是似乎有点复杂。 考虑一种简单的情况,要是有个1,那么无论怎样GCD都=1,那么这时候只需要统计sum{a[i]-...

ZLTJohn的博客 502

用AI科研绘图全新升级!借助谷歌新发布模型Nano Banana pro实测一键绘制机制图与技术路线图,直接告别文字乱码与低画质

之前有同仁反馈,用Nano Banana画科研插图的时候,要么文字部分容易乱码,要么抓不住关键内容,画出来的效果反复修改后,还是达不到理想的效果。终于在Gemini 3发布没几天,万众期待的大香蕉模型也成功升级到了Pro版本,官方名称叫“Gemini 3 Pro Image”,实际上也就是我们说的Nano Banana 2。这次的Nano Banana Pro模型,不仅可以直出4K高清图,还能自定义比例,推理能力和中文文字的稳定性也得到了提升。

智能AI让学术科研更容易 1887

SAP BOM批量反查代码分享

SAP BOM反查批量查询代码分享

我小时候很黑的博客 4972

AGC010 - D: Decrementing

原题链接 题意简述 给出一个n(n≤105)个数的序列a,足够聪明的AB两人轮流进行以下操作: 令一个大于1的数减1,然后所有数除以gcd{a}。 如果一个人不能操作了,那么他就输了。 输入保证所有数都是正整数并且gcd{a}=1。 分析 这是一道和奇偶性有关...

ayw1069的博客 224

【ARM CoreLink 系列 3 -- CCI-550 控制器介绍 】

Arm CoreLink CCI-550 Cache Coherent Interconnect 扩展了 CoreLink CCI-500。它在 big.LITTLE 处理器集群之间提供完整的缓存一致性,并为其他代理(如 Mali GPU、网络接口或加速器)提供 I/O 一致性。CoreLink CCI-550 提供可扩展和可配置的互连,使 SoC 设计人员能够以尽可能小的面积和功耗满足性能目标,并且还增加了可降低整体系统延迟的监听滤波器。

CodingCos的博客 2210

【AtCoder】【AGC010D】Decrementing

Description 给出一个长度为n的序列aaa,A、B两个人轮流操作: 1. 选择一个不为1的数,将其-1; 2. 把序列中的所有数/g,g为所有数的gcd; 操作不了的人输。 Solution 博弈题一堆结论… 输的人肯定是拿到111111的局面, 设sum为序列所有数的和, 要想赢,肯定要避免拿到sum=n的情况, 当n为偶数时:如果一直拿到sum为奇数的情况,那...

496

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【博弈】AGC010D Decrementing

分析: 首先,有两个很显然的结论: 1、不考虑除以GCD的情况,就原问题而言(即只是-1),那么胜负只跟偶数的个数有关:若有偶数个偶数,那么后手必胜,反之先手必胜。 证明很简单:很容易想到,奇数的位置其实是可以忽略的,因为当某个人从奇数位-1,另一个人一定可以再在那里-1,又变为了奇数。偶数不能忽略,因为不一定偶数-1后还能再-1(可能就到1了,不能再-1)。所以每个偶数只需1次操作,就能变为奇数...

氧化钠的博客 219

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【AGC010 D】Decrementing

Description 题目大意:给定n个最大公约数为1的整数,两个人轮流进行操作,每次操作可以选一个大于1的数使其减1,然后所有的数再除以当前的最大公约数(如3 6 10对10操作后得到1 2 3),当其中一个人无法操作时,输掉比赛,求获胜的是先手还是后手。先手输出First,后手输出Second。 N&lt;=10^5,Ai&lt;=10^9 Analysis 这种题很难用sg做的...

LYD729 268

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

AGC010 D Decrementing

题意 有 n 个整数,其中第 i 个数为 Ai。这些数字的 gcd 为 1。两人轮流操作,每次操作把一个大于 1 的数减 1,并把所有数除以所有数的最大公约数,最后无法操作者输,求是否先手必胜 题解 特判n=1 定义3个状态: 1.有奇数个偶数,至少一个奇数 2.有偶数个偶数,至少两个奇数 3.有偶数个偶数,有一个奇数 首先呢,由于初始值gcd为1,所以1.2.3.一定已经涵盖了所有开始和中途可能...

LazyCrazyCat的博客 249

Agc010_D Decrementing

今天本人因调了上篇博客的题而脑壳不适,不想颓题,因此有了这篇博客。 但是博客毕竟得讲点什么,想想有没有什么代码短的。 哦,好像有,就Agc010_DDecrementing好了。 Alice和Bob又在玩游戏了,这次他们有$N$个数。 每次操作为:1.在所有不小于$2$的数中挑一个减去$1$。2.所有数除$d$,$d$为所有数的最大公约数。不能操作者输,如果先手必胜则输入$Firs...

weixin_30662011的博客 122

【AGC010D】Decrementing

Solution      日常博弈论做不出来。      首先,数值全部为1的局面先手必败。      在接下来的过程中,我们只关注那些大于1的数值。      按照官方题解的思路,首先想一个简化版的问题:没有除的操作,其余相同。那么局面结果显然和所有值的和的奇偶性有关。      回到原问题。我们发现,当局面中有2个或更多奇数,其余为偶数时,我们对任意一个元素进行一次完整操作,仅仅会将一个元素...

weixin_30915951的博客 103

agc010 D - Decrementing

Problem Statement There are N integers written on a blackboard. The i-th integer is Ai, and the greatest common divisor of these integers is 1. Takahashi and Aoki will play a game using these intege...

lijf2001的博客 448

[agc010D]Decrementing-[。。。思考题]

Description 传送门 Solution 真是够神秘的啊。。。 Alice和Bob两个真的城会玩。 不过本题一个暗示挺明显的。就是黑板上所有数不论何时gcd为1。 考场上我以为会很复杂,结果。。是我想多了qaq,人家就是用来判断奇偶性的。 由于gcd为1,黑板上必定有一个数为奇数。 假如n个数中偶数的个数为奇数,则先手必胜。 先手可以将一个偶数变成奇数,然后后...

diancao3075的博客 122

【AGC010 D】Decrementing (博弈)

Description 有一个正整数数列,两人轮流操作,每次选择一个大于1的数,将其减1,然后将所有数除以所有数的gcdgcd\gcd,无法操作的一方负,问先手必胜还是后手必胜。 Solution 考虑对于1,1,…,1,2是必胜的,对于其它的k,k,...,k,k+1k,k,...,k,k+1k,k,...,k,k+1,对方都可以通过操作来避免。而1,1,…,1,2有奇数个偶数。 ...

დ♂Hany01's Blog Space♂ღ 305

AGC 010D.Decrementing(博弈)

题目链接 \(Description\) 给定\(n\)个数\(A_i\),且这\(n\)个数的\(GCD\)为\(1\)。两个人轮流进行如下操作: 选择一个\(>1\)的数使它\(-1\)。 第一步进行完后,所有数会变成它除以\(g\),其中\(g\)是\(n\)个数的\(GCD\)。 当轮到一个人操作,但所有数为\(1\)时,该人输。求先手是否必胜。 \(n\leq10^5,\ A_...

weixin_30339969的博客 98
上一篇: AGC003D Anticube
下一篇: AGC010F Tree Game
dogeding
博客等级 码龄10年 31粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值