04 2017 档案
摘要:题目链接:UVA 10883 题意:给定n个数,每相邻两个数取平均数,重复这个过程直到只剩一个数。求最后的数的值。 思路:可以发现答案应该是∑n−1i=0Cin−1∗d[i]2n−1。难点在于n最大值为50000。 所以求解过程中要用l
阅读全文
摘要:题目链接:Gym - 101081K 题意:给n个箱子,每个箱子有一个重量W和一个承重R,表示它上面能放最多R-W的重量。问最多能把多少箱子堆到一堆。 思路:发现在一堆箱子里,两个箱子交换位置,对其他所有箱子没有影响。 所以我们先构造偏序关系,考虑两个箱子i和j,假设Ri<Rj。 那么我们发现假如R
阅读全文
摘要:题目链接:UVA-11038 题意为给定n和m,求n和m之间(包含)的所有数包含的0的个数。 思路是,用cal(x)表示小于等于x的数包含的0的个数。则答案为cal(n)-cal(m-1)。 再把求cal(x)转化为求∑i在第i位为0的小于x的数的个数。 要求在第i位为0的数的个
阅读全文
摘要:题目链接:HOJ-1108 题意为给定N和M,找出最小的K,使得K个N组成的数能被M整除。比如对于n=2,m=11,则k=2. 思路是抽屉原理,K个N组成的数modM的值最多只有M个。 具体看代码:
阅读全文
摘要:题意为给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1。 在一局游戏开始时,会确定一个节点作为根。 当一方操作时,他们需要先选择一个不为根的点,满足该点到其父亲的边权为1; 然后找出这个点到根节点的简单路径,将路径上所有边的权值翻转(即0变成1,1 变成0 )。 当一方无法操作
阅读全文
摘要:题意是黑板上有n个数Si。每次操作可以把其中一个数减1或者将两个数合并为一个数。一个数变为0时,则不能再对其操作。 思路是发现最大的可操作次数为∑Si+(n - 1)。∑Si是把所有数消除需要的操作数。(n-1)表示我们最多可以合并(n-1)次。 同
阅读全文
摘要:题目链接:UVALive - 3668 题目大意为给定n堆石子,每次的操作是选择三个数i<j<=k,从i中拿一枚石子,在j和k中分别放入一枚石子。不能操作者输。求先手是否能赢,若可以,则输出字典序最小的第一步操作。 思路是把在每个位置上的每颗石子当成一个游戏。 用SG[i]表示在第i堆中的一颗石子的
阅读全文
摘要:首先一些题目,我们要考虑,能否后手复制对手的操作。比如下面这道题: 不管先手如何操作,我们后手操作之后使得剩下的两个链完全相同。然后复制对手操作即可。 其次一个知识点是威佐夫博弈。 威佐夫博弈简单的说,就是有两堆石子,双方每次可以取一堆石子中的任意个,不能不取,或者取两堆石子中的相同个。先取完者赢。
阅读全文
摘要:Nim游戏 Nim游戏定义 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每
阅读全文
摘要:题目链接:UVA-33478 题意为给定n个数,求这n个数能组成的所有不同的排列组成的数字的和。 思路:发现对于任意一个数字,其在每一位出现的次数是相同的。换言之,所有数字的每一位相加的和是相同的。 所以我们只需求出这个“和”即可。 考虑任意一位i,假设我们在i位放置x,则对应\( (n-1)! /
阅读全文
摘要:题目链接:UVA-10892 题意为给定一个数n,问有多少组不同的数对<a,b>的lcm等于n。看了AC,∑ndless的题解,直接摘抄了。 代码:
阅读全文
摘要:题目链接:HDU-5961 用vector存直接暴力dfs也可AC。正解如下(看了icpc-camp的题解,感觉写的很好,直接引用了。原链接:2016 合肥解题报告): 代码(暴力)如下:
阅读全文