ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

atcoder

2022-08-25 13:30:31  阅读:179  来源: 互联网

标签:atcoder 一堆 石子 个数 times 给定 2N


  • \(ARC143\)

A
给定三个整数,一次可以将两个数或三个数减一,问最少几步能减完。

设一开始三个数为 \(A,B,C(A\leq B\leq C)\),如果 \(A+B<C\),那么说明一定是无法满足条件的,因为 \(C\) 至多被减掉 \((A+B)\),此时 \(C-A-B>0\)。

如果 \(A+B=C\),那么很显然答案就是 \(C\)。

如果 \(A+B>C\),其实也可以满足条件。我们发现要令其变为 \(A+B=C\) 的形式,那么我们在 \(A+B=C\) 中构造的是 \((A,C)\),\((B,C)\) 分别分组减,那么 \(C\) 会被减两次。

我们可以通过一次将三个数一起减,使 \(C\) 每次被减的次数少 \(1\)。我们一共需要 \(C\) 被减的次数少 \(A+B-C\)。

所以我们先进行 \(A+B-C\) 次减三个数的操作,数据变为 \(C-B,C-A,2C-A-B\),发现此时就能满足条件了。一共用 \(A+B-C+2C-A-B=C\) 次操作。

B
给定一个整数 \(N\),问能构造出多少个 \(N\times N\) 的矩阵,其中填入 \(1\) 到 \(N^2\) 的所有数,使得每一行中最大的数不为该数所在列中最小的数。

正难则反,我们考虑用总方案数减掉不合法的方案数。

总方案数显然就是 \((N\times N)!\)

不合法的方案数考虑在 \((a,b)\) 位置,那么与其相关需要考虑的数共 \(2N-1\) 个。

其中列的 \(N-1\) 个数与行的 \(N-1\) 个数可以乱排,所以答案乘上 \((N-1)!^2\)

其中不与其相关的共 \(N^2-2N+1\) 个数可以乱排,所以答案乘上 \((N^2-2N+1)!\)

考虑 \((a,b)\) 位置可以随意,共 \(N^2\) 中选择,所以答案乘上 \(N^2\)

考虑 \(2N-1\) 个数的选择,从 \(N^2\) 个数中选出 \(2N-1\) 个数,每一种选择都能选择最中间的数使得满足条件,所以共 \({N^2\choose 2N-1}\) 种选择。

答案就是 \({N^2\choose 2N-1}\times (N-1)!^2 \times (N^2-2N+1)! \times N^2\)

C
给定整数 \(n\), 给定 \(n\) 堆石子的个数 \(A_i\),两个人一人先手,一次可以拿任意堆石子,每一堆拿不超过 \(X\) 个,另一个人后手,一次可以拿任意堆石子,每一堆拿不超过 \(Y\) 个,问谁能赢。

我们考虑一种局面,此时有石子的个数 \(B_i=A_i\bmod{(X+Y)}\),且每一堆石子至多可以有一人取一次。

如果存在一堆石子使得 \(X>B_i\geq Y\),那么说明该堆石子 \(X\) 无法取得,而 \(Y\) 能取得,且所有 \(X\) 能取得的石子堆 \(Y\) 都能取得,\(Y\) 必胜。

否则,现在场上的局面一定是每一堆石子,要不都拿不了,要不都能拿,那么此时只需要有一堆石子 \(X\) 能拿,那么 \(X\) 可以把所有能拿的石子都拿走, \(Y\) 无法再拿, \(X\) 必胜。

否则就是 \(Y\) 必胜。

标签:atcoder,一堆,石子,个数,times,给定,2N
来源: https://www.cnblogs.com/tidongCrazy/p/16623908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有