divisor专题

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】

1025 除数游戏 小艾 和 小鲍 轮流玩游戏,小艾首先开始。 最初,黑板上有一个数字 n 。在每个玩家的回合中,该玩家做出的动作包括: 选择任意 x,使 0 < x < n 和 n % x == 0 。将黑板上的数字 n 替换为 n - x 。 此外,如果玩家无法采取行动,他们就会输掉比赛。 当且仅当 小艾赢得游戏时返回 true ,假设两个玩家都发挥最佳。 例子 在大学某个自习的

CodeForces - 338C Divisor Tree 【贪心】

CodeForces - 338C 题意: 构造一颗树,使得包含给定的n个数,并且所有叶子节点为素数,每个节点等于所有子节点的积,求最少需要的节点数。 贪心思路: 每个数等于它子树上所有叶子节点的积,因此,使节点数最少就要使每个数公用尽可能多的叶子节点。将n个数从大到小排序,对每个数,每次选素因子最多的数作为子节点,直到不能选任何数为子节点为止。 实现代码:   #inc

1071. Greatest Common Divisor of Strings(Leetcode每日一题-2020.03.12)

Problem For strings S and T, we say “T divides S” if and only if S = T + … + T (T concatenated with itself 1 or more times) Return the largest string X such that X divides str1 and X divides str2.

ZOJ 2095 Divisor Summation

刚开始做的时候不懂啊,怎么做怎么Time Limit Exceeded,那个心凉啊。   Time limit: 5 Seconds   Memory limit: 32768K    Total Submit: 4504   Accepted Submit: 862    Give a natural number n (1 <= n <= 500000), please tell the s

leetcode 1025: Divisor Game

leetcode 1025: Divisor Game 题意:Alice和Bob轮流玩游戏,Alice先玩。 给一个数N,对于这个数,都做下面两个操作: 第一步:选择一个数X,0<X<N,并且N%X==0; 第二步:N=N-X。 如果不能操作,就是输了。 思路:简单博弈吧。dp[i]表示当数是i的时候,当前选择的人会不会赢。 那么,dp[1]是输。 当i%j==0,dp[i]可以有

CCPC2018 桂林 G Greatest Common Divisor(数学)

UPC备战省赛组队训练赛第十七场             with zyd,mxl G: Greatest Common Divisor 题目描述There is an array of length n, containing only positive numbers.Now you can add all numbers by 1 many times. Please find o