02 2021 档案
题解 UVA1193 【Radar Installation】
摘要:传送门 题意 对于第 iii 组测试数据,在一条数轴上选一些点,用以这些点为圆心作的半径为 ddd 的圆覆盖所给点,若无法全部覆盖,则输出 Case i: -1;否则输出 Case i: +++ 最少需要的点数 ansansans。 分析 为了方便,我们把 xxx 和 yyy 都存在结构体 asdf
题解 UVA1616 【商队抢劫者 Caravan Robbers】
摘要:传送门 题意 在 nnn 个区间中各取一个子区间,每个子区间长度相等且互不相交,求子区间的最大长度(用分数表示)。 分析 我们设标准答案为 ansansans,可以发现,如果 ans1<ansans_1<ansans1<ans,那么子区间的长度为 ans1ans_1ans1一定是可行的,因为每个
题解 UVA1617 【笔记本 Laptop】
摘要:传送门 分析 首先,我们发现每个 rir_iri 和 did_idi 都是绑在一起的,于是就可以想到用 struct 结构体来存储每个区间的左右端点。 struct asdf { int r,d; }a[N]; 既然要让空隙尽可能少,那么就意味着我们要尽量连接每个线段,也就是贪心,我们可以从左到
题解 P7259 【[COCI2009-2010#3] SORT】
摘要:题意 给定一个原始序列,按题目要求排序: 1.1.1. 按在序列中出现的次数从大到小排序。 2.2.2. 若次数相同,则按在原始序列出现的位置从小到大排序。 3.3.3. 相同的元素排序后一定连在一起。(观察样例可得) 所以,题目怎么说我们就怎么做。 分析 因为涉及排序的变量有很多个,所以我们可以把
题解 P7370 【[COCI2018-2019#4] Wand】
摘要:想了解背景的同学可以去P7369 分析 利用初中的数形结合思想,因为魔杖只有可能从失败的女巫传给胜利的女巫,所以她们之间的关系就可以用一条有向边来表示,如 2 1 可以转化为 1->2,表示 111 到 222 有一条有向边,即魔杖可从 111 传到 222。 这样问题就清晰可见了。如果编号为 xx
题解 P7369 【[COCI2018-2019#4] Elder】
摘要:题意 一开始一个魔杖在一个巫师手中,接下来 NNN 轮战斗,每轮下来如果拿着魔杖的巫师被打败,就把魔杖传给下一个巫师。 求: 1.1.1. 最后拿着魔杖的巫师。 2.2.2. 拿过魔杖的巫师的个数。 分析 对于第一个问题:我们可以把被老魔杖效忠的巫师抽象成一个变量,一开始先赋值成老魔杖的原主人,接下
题解 P6183 【[USACO10MAR]The Rock Game S】
摘要:题意 求一个长度为 nnn 的 OX 串的全排列,并要求: 1.1.1. 第一个排列必须全是 O。 2.2.2. 除了最后一个排列外,每一个排列都不能重复。 3.3.3. 相邻的排列只能有一个位置不一样。 4.4.4. 遍历完所有排列后,还要能回到第一个排列。 分析 首先,看到数据范围 (1≤n≤1
题解 UVA839 【天平 Not so Mobile】
摘要:根据题意模拟即可,具体做法如下: 输入 444 个数。 如果有左子树,递归判断左子树,回到 111;如果有右子树,递归判断右子树,回到 111。 将此时的左右子树重量累加到上一层。 返回左右子树是否平衡&&本身是否平衡。 Code #include<bits/stdc++.h> using name
题解 P7337 【『MdOI R4』Fun】
摘要:题意 本质上就是个 little 模拟。 做法 统计满足 ti=1t_i=1ti=1 且 qi=1q_i=1qi=1 的 iii 个数,如果此时的 kkk 大于等于 mmm,就在原本需要的 nnn 瓶矿泉水中减去这 kkk 个人再加上这 kkk 个人所需的 mmm 瓶,即 ans=n-k+m,
题解 P2104 【二进制】
摘要:题意 模拟二进制加减乘数操作。 分析 先考虑数据存储: 我们可以用一个 int 数组 aaa 来存这个二进制数的每一位,用一个 string 字符串 sss 来存最后的加减乘除运算,但一定一定要注意:有一种极限情况,即 n、mn、mn、m 都是 5∗1065* 10^65∗106,且 sss 中每个
题解 SP4354 【TWINSNOW - Snowflakes】
摘要:分析 显然,对于两片形状相同的雪花,它们六个角的长度之和、长度之积都相等(注意:这并不意味着六个角的长度之和、长度之积都相等的雪花就是形状相同)。 定义 HashHashHash 函数: H(ai,1,ai,2,...,ai,6)=(∑j=16ai,j+∏j=16ai,j) mod PH(a_{i,
题解 CF614A 【Link/Cut Tree】
摘要:此题乃 水题+++坑题 水坑题! 题意 求所有的kik^iki使l≤ki≤rl≤k^i≤rl≤ki≤r。 看起来好像有亿点点难度,模拟就行了。 但…… 让我们看看这题的吭阬肮炕坑 题目中说1<=l<=r<=1018,2<=k<=1091<=l<=r<=10^{18},2<=k<=10^{9}1<=l
题解 P7199 【[COCI2019-2020#1] Trol】
摘要:这里你通常可以看到一个传送门 看见一道红题,第一直觉——打表 可以看出,每一个数被替换到最后是1−91-91−9的循环,而要求第lll项到第rrr项的和,我们可以利用前缀和推出是sumr−suml−1sum_r-sum_{l-1}sumr−suml−1(sumisum_isumi为前iii项替