数论
文章平均质量分 52
介绍数论
DJL_DJL_DJL
程序是我的生命,但我相信爱她甚过爱我的生命。
展开
-
Acwing_894拆分【博弈论:sg函数】
题目描述:给定n堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆规模更小的石子(新堆规模可以为0,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个整数,其中第i个整数表示第i堆石子的数量ai。输出格式如果先手方必胜,则输出“Yes”。否则,输出“No”。数据范围1≤n,ai≤100输入样例:22 3输出样例:Yes思路分析:对本题而言,可以拿走原创 2021-09-02 10:34:09 · 98 阅读 · 0 评论 -
Acwing_892台阶-Nim游戏
题目描述:现在,有一个n级台阶的楼梯,每级台阶上都有若干个石子,其中第i级台阶上有ai个石子(i≥1)。两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。已经拿到地面上的石子不能再拿,最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个整数,其中第i个整数表示第i级台阶上的石子数ai。输出格式如果先手方必胜,则输出“Yes”。否则,输出“No”。数据范围1≤n≤10^51≤ai≤10^9输原创 2021-09-02 10:04:33 · 88 阅读 · 0 评论 -
Acwing_891集合-Nim游戏【博弈论:sg函数】
题目描述:给定n堆石子以及一个由k个不同正整数构成的数字集合S。现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合S,最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数k,表示数字集合S中数字的个数。第二行包含k个整数,其中第i个整数表示数字集合S中的第i个数si。第三行包含整数n。第四行包含n个整数,其中第i个整数表示第i堆石子的数量hi。输出格式如果先手方必胜,则输出“Yes”。否则,输出“No”。数原创 2021-09-02 09:24:37 · 172 阅读 · 0 评论 -
Acwing_891Nim游戏【博弈论】
题目描述:给定n堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个数字,其中第 i 个数字表示第 i堆石子的数量。输出格式如果先手方必胜,则输出“Yes”。否则,输出“No”。数据范围1≤n≤105,1≤每堆石子数≤109输入样例:22 3输出样例:Yes思路分析:先给出Nim游戏的一些概念和结论:给定N堆物品,第原创 2021-09-02 09:18:42 · 146 阅读 · 1 评论 -
杭电OJ1576-A/B(逆元)
题目链接:A/BAC代码:import java.util.Scanner;public class Main { static long x; static long y; static long ext_gcd(long a, long b) { if (b == 0) { x = 1; y = 0; return a; } long res = ext原创 2021-08-02 17:48:47 · 75 阅读 · 0 评论 -
POJ1061-青蛙约会(裴蜀公式)
题目链接:青蛙约会AC代码:import java.util.Scanner;public class Main { static long x; static long y; //返回值为最大公约数 static long ext_gcd(long a, long b) { if (b == 0) { x = 1; y = 0; return a; }原创 2021-08-02 17:01:11 · 75 阅读 · 0 评论