题解
文章平均质量分 58
四毛拽根
点击查看
展开
-
CF1478C Nezzar and Symmetric Array
题目链接题目大意:定义一个长2∗n2*n2∗n且每个元素都不同的数组aaa,对于每个i都可以找到一个jjj,使得ai=−aja_{i}=-a_{j}ai=−aj。又定义d[i]=∑j=12n∣ai−aj∣d[i]=\sum_{j=1}^{2n}\left | a_{i}-a_{j} \right |d[i]=∑j=12n∣ai−aj∣,现在给出ddd数组,问可否构造出aaa数组。题目分析:容易看出,d数组必须有两个相同的元素,因为ddd的定义中有绝对值,所以aia_{i}ai和−ai-原创 2021-08-04 17:36:14 · 134 阅读 · 0 评论 -
CF1498C Planar Reflections
题目链接明明没那么难,也不知道为什么做了这么长时间,吐了题目大意:如上图所示:一个能量为kkk的粒子,射入有nnn个反射板的空间,粒子每经过一个反射板,会有一个k−1k-1k−1能量的粒子被反射,当然k=1k=1k=1的时候,就不会反射出粒子。问最后可以有多少个粒子,答案对1e9+71e9+71e9+7取模。题目分析:这个是不能在多组输入前预处理出来的,因为nnn和kkk都相互牵制。题目给出的范围正好是可以让我们进行O(n∗k)O(n*k)O(n∗k)的dpdpdp的。用dp[k][n]dp[原创 2021-08-04 10:22:41 · 165 阅读 · 0 评论 -
CF1513C Add One
题目链接题目大意:称“将一个数上每一位的值+1”为一次操作,例如对于9393进行一次操作后的结果为104104。输入n,m,输出对n进行m次操作的结果。题目分析:很容易发现数字的每个位置上互不影响,所以可以分开单独考虑。转移方程为dp[j][i]=dp[j+1][i−1]dp[j][i] = dp[j + 1][i - 1]dp[j][i]=dp[j+1][i−1],dp[j][i]dp[j][i]dp[j][i]表示数字j:0 8j:0~8j:0 8进行了iii次后的位数。特原创 2021-08-03 21:03:24 · 164 阅读 · 0 评论 -
Parsa‘s Humongous Tree
题目链接题目大意:给出一个树,每个节点都会有一个权值范围,让你找到一中赋值权值的方案,使 ∑(u,v)∈E∣au−av∣\sum_{\left ( u,v \right )\in E}^{}\left | a_{u} - a_{v} \right |∑(u,v)∈E∣au−av∣最大。输出最大值。题目分析:假设根节点的孩子都赋值了合适的权值,要使根节点距离每个子节点最大,那么需要使根节点距离子节点的中位数最远,那么不是在l上取,就是在r上取。所以我们就可以用dp[i][1/0],1表示在r上原创 2021-08-03 10:12:36 · 5449 阅读 · 0 评论 -
2021年ACM创新实践班&SDUTACM暑假集训选拔 7-5题解
递归思维题我们先除去第一条和第二条光线(因为由等边三角形可以得到光线1+光线2等于ab),剩下的很明显看出是递归。我们由图看到这需要递归的两条边都是在不断地缩小,而且满足x和y,递归后是y,x % y的关系。 新增加的边数等于2乘以(x - x % y) 的关系。(因为不能整除,所以要先减去多出来的部分。再乘以2)。还要注意:最后一步时,即x % y == 0时,我们观察一下,由等边三角形的规律,我们发现,增加的边数等于2 * x - y(因为y前面已经算入)。结合参考代码更好理解。参考代码:原创 2021-06-26 20:54:31 · 391 阅读 · 6 评论 -
K. Lonely Numbers
题目链接1600的题,不难,稍微一推就可以。题目大意:gcd(a,b),agcd(a,b),bgcd(a,b)gcd(a,b),\frac{a}{gcd(a,b)},\frac{b}{gcd(a,b)}gcd(a,b),gcd(a,b)a,gcd(a,b)b,如果这样的三个数可以作为三角形的边长(能看到这题,不可能有人不知道三个数可以组成三角形边长的条件是什么吧),那么a,b就是不孤独的数字,让你找出1—n中,孤独的数字的个数。分析:t组数据,t和n的范围都是1e6,所以需要预处理出来,然后原创 2021-05-31 21:15:25 · 192 阅读 · 0 评论 -
D. Genius‘s Gambit
题目链接标签是1900的数学构造题,感觉这个题不是很值这个分数。题目大意:给出a,b,k,问是否可以构造出两个满足以下条件的数x,y:x,y的二进制数都有a个0,b个1.x - y的二进制恰好有k个1可以的话输出,不可以就输出No。可以构造出11∗∗∗∗0∗∗\mathbf{11****0**}11∗∗∗∗0∗∗10∗∗∗∗1∗∗\mathbf{10****1**}10∗∗∗∗1∗∗*表示该位置的数相同。这样构造出x - y的二进制数最多可以有a + b - 2个1。这样也判断出原创 2021-05-26 21:27:25 · 127 阅读 · 0 评论 -
E. Arranging The Sheep
题目链接1400的 div 3 E题,难度不大。题目大意:给出一个字符串,“ * ” 表示羊," . "是空地。让你用最小的操作数把所有的羊排成一排。每次操作可以让一只羊左移或者右移(当然前提是移动到的地方是空地)。分析:题目题意好理解,思路也不难,稍微一推就出来了。可以设排好序的第一个位置是x,第二个位置就是x + 1… 并且每只羊不能越过另一只样。所以有了初始位置和末尾位置就可以列出来式子:(以sample1为例:**.*…)...原创 2021-05-26 19:58:35 · 125 阅读 · 0 评论 -
D. Maximum Sum of Products(dp)
最近在cf上刷math的题,这道题感觉挺好,1600的题。题目链接题目大意:给出n的长度的a,b两数组,你可以至多一次的反转a的子数组,使得∑i=1nai∗bi\displaystyle\sum_{i=1}^{n} a_i*b_ii=1∑nai∗bi最大化。分析:n的范围是5000,可以开个二维dp,第一维表示反转的子数组的初始下标,第二维表示子数组的长度(也可以直接表示子数组的末尾下标,目前先按照我当时敲的代码来讲,两者的效果是一样的),dp的值表示子串反转后,在这个子串对应的区间内的a原创 2021-05-25 17:55:21 · 202 阅读 · 0 评论 -
SDUT 2021 Spring Team Contest--- 18 F
题目链接题意:一个月有30天,要求办音乐会必须有k个音乐家。每个音乐家空闲的天数用二进制表示(第i位为1代表第i天空闲)。要求怎样选择这k个音乐家使得办音乐会的天数对应二进制和最大。(在某一天,这k个音乐家都有空闲时间,音乐会才可以举办)分析:题面翻译+理解还是不容易的,理解好题意以后,思路应该也是比较好出的。贪心做法:枚举这30天,也就是二进制的位置,如果有一个高位的天数会使至少k个音乐家有时间参加。那么答案中k个音乐家必然会在这中间选择。因为后面的天数就算都有时间,所得的二进制和还是没有当天原创 2021-05-22 20:24:39 · 162 阅读 · 0 评论 -
520 PTA钻石争霸赛 2021(部分题解)
这个题还是挺有意思的,当时看见题意后,第一反应是求前缀,然后暴力,但是n的范围是1e4,所以是会爆long long的(这样应该是少1分)。然后我就推了一下公式。以下是我的推导过程:(好久没在纸上写过程了,字不好,请见谅)接下来就是暴力了code:#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>..原创 2021-05-22 13:00:24 · 712 阅读 · 0 评论 -
CF166E Tetrahedron
题目链接小dp:fi 表示走了i步,位置在原点的方案数,gi 表示走了i步,位置不在原点的方案数。所以fi = 3 * gi-1,gi = fi-1 + 2 * gi-1。code:#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include &原创 2021-05-22 12:42:58 · 186 阅读 · 0 评论 -
CF25D Roads not only in Berland
题目链接样例输入1:21 2输出1:0样例输入2:71 22 33 14 55 66 7输出2:13 1 3 7分析:并查集code:#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <de原创 2021-05-21 20:43:34 · 100 阅读 · 0 评论 -
CF2B The least round way
题目链接sample:input:31 2 34 5 67 8 9output:0DDRR分析:题目没有说是输入范围在1 — n * n 的数,数的范围是到0 —109 。所以,就算找到一条合适的路径,直接把路径上的数相乘,判断末尾0的个数,这种方法是绝对行不通的。我们知道,只有是2的倍数和5的倍数相乘,才可以出现末尾0,所以我们计算答案的末尾0的个数,就是看这个数中有多少对<2,5>,并让其最小。众所周知,当其中一个数的数量最小的时候,另外一个数的数量不管多大都不原创 2021-05-17 21:42:40 · 124 阅读 · 0 评论 -
Codeforces Round #707 (Div. 2)C.Going Home (鸽巢原理)
题目链接样例:Sample1:62 1 5 2 7 4YES2 3 1 6Sample2:51 3 1 9 20NO题目大意:给出n个数字,求满足ax + ay = az + aw,(x,y,z,w不相同) 的一组数的下标。找不到就输出NO。思路:因为ai 的范围是[1,2.5 * 106],所以ax + ay = az + aw 的范围是[2,5 * 106] ,而某个数(这里表示的是每个1~n 的ai与1~n 的aj 的加和,i != j)在此范围内出现四次则必原创 2021-05-10 21:52:28 · 138 阅读 · 0 评论 -
SDUT 2021 Spring Individual Contest - A
A - All about that base题目链接题目大意:简单来说就是问一个等式在1-36进制中,哪个进制可以成立,一个都没有的话就输出 ”invalid“。然后10-35进制是用a-z表示,36进制是用0表示。分析:题目给出的范围描述是所以数在10进制下都是不超过long long级别的。所以我们就可以直接暴力判断1-36进制,可以先把当前的进制数用10进制表示,再看等式是否成立。注意题目说:在1进制的时候,只能有数字0,并且用数字1代表数字0。这个会wa在第4个样例。算是个大模拟,过原创 2021-03-03 20:17:10 · 131 阅读 · 1 评论 -
North American Southeast Regional 2019
题目链接H–Levenshtein Distance题意:给出一个字母表,和一个字符串,你可以对字符串进行三种操作:添加一个字母,删除一个字母,替换一个字母(添加和替换的字母都必须是在第一行给出的字母表内),只能进行一次操作,求可以得到的新字符串,按照字典序从小到大输出。分析:题目给出的字符串范围是2<=|s|<=100,所以我们直接暴力就可。在字符串每两个字符之间添加字母表中一个字母(当然包括字符串第一个字符前,和最后一个字符后的位置),依次删除一个字符,同样用字母表内的字母替换字原创 2021-01-22 18:04:58 · 211 阅读 · 0 评论 -
Codeforces Round #694 (Div. 2)
A. Strange Partition题目链接题意:给定含 n 个元素的数组 a 和一个整数 x ,你可以将数组中任意相邻数组合并,试让你求出 ∑ki=1[a[i]/x] (向上取整) 的最大值与最小值。解析:因为求和为向上取整求和,我们知道,当一个数不被一个数整数的时候,所得的值会比应得的值大。比如5/2=2,但是向上取整后答案为3,。所以我们想要求其和最大,我们就要让数组中不能整除x的数最多,反之,值最小,就是让数组中能整除x的数最多。我们知道:能被整除的数 + 能被整除的数 = 能被原创 2021-01-19 10:46:06 · 112 阅读 · 0 评论 -
PTA“词频统计”
题目:请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符。而合法的“单词字符”为大小写字母、数字和下划线,其它字符均认为是单词分隔符。输入格式:输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词。输出格式:在第一行中输出文本中所有不同单词的个数。注意“单词”不区分英文大小写,例如“PAT”和“pat”被认为是同一个单词。随后按原创 2020-12-25 16:28:47 · 682 阅读 · 0 评论 -
SDUT 2020 Summer Individual Contest - 5(for 19) Div.1
这几天家里接二连三的下雨导致我有点感冒,比赛前有点头晕,但是这对比赛好像没有很大的影响。因为比赛开始后,所有不舒服的感觉都忘记了,可能这就是竞赛的魅力所在吧。比赛前一半时间,就a了一道水题(还WA了一次),其他的题目不是阅读量就很大,就是没有思路。所以最后也是勉勉强强的做出来3道题,原本自我感觉还良好,可是比赛结束后,看见了所有比赛的总榜,才知道被吊锤了...其实也好,知道了和大佬的差距。话不多说,先看我a的题目吧J - Time Limit 题目链接题目大意:在CCPC竞...原创 2020-08-08 15:18:05 · 256 阅读 · 0 评论