![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暴力
文章平均质量分 73
YB Lin
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #507 (Div. 1) D. You Are Given a Tree 根号分治 + dp
传送门题意:有一颗nnn个节点的树,其中一个简单路径集合被称为kkk合法当且仅当:树的每个节点至多属于一条路径,且每条路径恰好包含kkk个点。对于k∈[1,n]k\in [1,n]k∈[1,n],求kkk合法路径集合最多路径个数,即设kkk合法路径集合为SSS,求最大的∣S∣|S|∣S∣。2≤n≤1e52\le n\le 1e52≤n≤1e5思路:考虑每次用dpdpdp来O(n)O(n)O(n)来求,记一个最大值和次大值,让后就是比较常规的dpdpdp了,这样的复杂度是O(n2)O(n^2)O原创 2021-10-11 23:17:15 · 132 阅读 · 0 评论 -
P3396 哈希冲突 根号分治
传送门文章目录题意:思路:题意:给你一个长度为nnn的数组aaa,每次操作有两种:(1)(1)(1) 给出x,yx,yx,y,问aaa中下表在模xxx的时候,模数等于yyy的位置aia_iai之和。(2)(2)(2) 给出x,yx,yx,y,代表令ax=ya_x=yax=y。思路:这个题的第一个询问就是从yyy下标开始,让后每次递增xxx,将经过的位置都算入答案,这样的复杂度显然不能接受。考虑每次递增的xxx,如果我们能保证x>nx>\sqrt nx>n,那么递增的次原创 2021-10-06 16:43:55 · 160 阅读 · 0 评论 -
Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力
传送门文章目录题意:思路:题意:给你一个有nnn个像素的图像,每个像素都有一个颜色aia_iai,保证每种颜色的图像不会超过202020个。你现在每次可以选择一个颜色,并选择一段连续的像素,要求连续的像素的颜色必须相同,让后将这段像素变成选择的颜色,问最少需要进行多少次操作,才能使得所有像素的颜色相同。1≤n≤3e3,1≤ai≤n1\le n\le 3e3,1\le a_i\le n1≤n≤3e3,1≤ai≤n思路:考虑[a,b,a][a,b,a][a,b,a]这种形式的,肯定是将bbb变成原创 2021-09-22 20:24:39 · 126 阅读 · 2 评论 -
Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门文章目录题意:思路:题意:你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2,...,b_n][b1,b2,...,bn]代表这个力量组合是不能选择的。问你每个槽选择一个力量之后最大的的力量总和是多少。保证有解。n≤10,1≤ci≤2e5n\le 10,1\le c_i\le 2e5n≤10,1≤ci≤2e5cic_ici总和不超过2e52e52e5思路:可以知道,总共的原创 2021-09-21 08:37:42 · 247 阅读 · 1 评论 -
Codeforces Round #588 (Div. 2) E. Kamil and Making a Stream 数学 + 暴力
传送门文章目录题意:思路:题意:给你一颗树,其中根是111,每个点有一个点权,求每个点到根的所有路径的gcdgcdgcd之和。n≤1e5n\le1e5n≤1e5思路:一看到以为是个点分治,让后发现不是任意点对所以显然不能用点分治来做。后来想了半天也只想到一个暴力,没想到还真是个暴力。考虑从根到点iii的路径上同的gcdgcdgcd个数,可以证明最多有log2(1012)log_2(10^{12})log2(1012)个,所以每个点都继承一下父节点的值即可,由于需要用mapmapmap维护,原创 2021-07-10 15:41:37 · 137 阅读 · 0 评论 -
Codeforces Round #593 (Div. 2) D. Alice and the Doll 暴力 + 二分
传送门文章目录题意:思路:题意:思路:还以为这个题有什么高深的算法,结果就是个暴力。由于n∗mn*mn∗m达到了1e101e101e10的级别,所以直接暴力肯定是不行的,考虑有很多空格,我们可以维护四个变量表示边界,让后在当前轴上二分最近的障碍点,让后判断即可。实现的时候可以加两个边界比较方便。要注意如果枚举的四个方向,如果有一个方向不能走的话不能直接退出,有如下样例:3 33\ \ 33 30 1原创 2021-07-01 09:52:40 · 128 阅读 · 0 评论 -
上海理工大学第二届“联想杯”全国程序设计邀请赛 Identical Day 思维 + 暴力
传送门文章目录题意:思路:题意:给你一个010101序列,假设有一段长为lll连续的全111子串,定义这段字串不高兴值为l∗(l+1)2\frac{l*(l+1)}{2}2l∗(l+1),整个串的所有不高兴值相加为总的不高兴值。现在你可以将某个111变成000,问最少多少次操作可以使得总不高兴值≤k\le k≤k。思路:由于比赛的时候被好几个题卡着,导致分析复杂度分析错了,错过接近正解的机会。首先一上来就写了个贪心,每次找最大的那个让后从中间断开。这个其实挺容易就hackhackhack掉了,原创 2021-06-13 21:58:12 · 271 阅读 · 0 评论 -
Codeforces Round #636 (Div. 3) F. Restore the Permutation by Sorted Segments 思维 + 暴力
传送门文章目录题意:思路:题意:n≤200n\le200n≤200思路:首先关注到rrr从[2,n][2,n][2,n]都出现一次,所以很明显最后一个位置只出现一次,但是这样倒着来不是很好做考虑正着来。我们可以枚举111位置填什么,让后再将所有qqq数组中的当前位置要填的数去掉,之后如果数组中元素只有一个的时候就说明他是下一位,依次这么加入即可,如果都能加入,再判断一下整个序列是否合法。每次添加的都是rrr位置的数,所以正确性是可以保证的。由于n≤200n\le200n≤200,所以随便乱原创 2021-06-11 22:59:26 · 78 阅读 · 0 评论 -
Codeforces Round #635 (Div. 2) D. Xenia and Colorful Gems 暴力 + 二分
传送门文章目录题意:思路:题意:给你三个数组a,b,ca,b,ca,b,c,让你从每个数组中选择一个数x,y,zx,y,zx,y,z,使得(x−y)2+(x−z)2+(y−z)2(x-y)^2+(x-z)^2+(y-z)^2(x−y)2+(x−z)2+(y−z)2最小,求这个最小值。思路:由于答案一定是x≤y≤zx\le y\le zx≤y≤z的形式(当然这里的x,y,zx,y,zx,y,z与题意的x,y,zx,y,zx,y,z不同),所以我们就可以跑一个3!3!3!排列,让他们分别为x,y,zx原创 2021-06-03 08:43:32 · 77 阅读 · 0 评论 -
Codeforces Round #723 (Div. 2) D. Kill Anton 线段树 + 暴力
传送门文章目录题意:思路:题意:给你一个只有ANTOANTOANTO四个字母的字符串,你每次可以交换相邻两个,花费为111,让后让你打乱字符串,使得将打乱的字符串还原为原来的字符串的花费最小。n≤1e5n\le1e5n≤1e5思路:打了这么长时间acmacmacm了,还能因为没开LLLLLL挂题,赛后又交了将近一页,真是越来越菜了。首先这个题通过打表以及第六感可以发现,将所有相同的字母放在一起是最优的,所以可以4!4!4!枚举所有位置,让后checkcheckcheck一下取最大的花费即可,现原创 2021-05-29 15:39:40 · 165 阅读 · 0 评论 -
Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历
传送门文章目录题意:思路:题意:n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5。思路:这是题是我上个题的一部分,算是个小知识点,暴力能过。直接维护一个setsetset,让后遍历所有点,如果当前这个点没有被遍历,那么就放入队列中,扩展出去,每个点最多入队一次,而且边数不会很多,复杂度大约是(n+m)logn(n+m)logn(n+m)logn// Problem: E. Connected Components?// Contest: Codeforces -原创 2021-05-24 20:15:22 · 115 阅读 · 0 评论 -
Codeforces Round #715 (Div. 1) C. Complete the MST 补图 + 思维 + 最小生成树
传送门文章目录题意:思路题意:给你一张nnn个点mmm个边的图,mmm条边是给定的,要求你给未给定的边赋值一个边权,使得所有边权异或和为000,求所有满足这种情况的图中最小生成树边权和最小的,输出最小生成树的边权和。思路我们先假设多余的边边权都为000,已经有的边的异或和为sumxorsum_{xor}sumxor,加上多余的边跑最小生成树后如果还有多余的边不在生成树中,那么答案显然为当前MSTMSTMST的权值,因为我们可以选一条不在MSTMSTMST中的边让他的权值为sumxorsum_{x原创 2021-05-24 19:57:17 · 188 阅读 · 0 评论 -
Codeforces Round #617 (Div. 3) F. Berland Beauty 思维
传送门文章目录题意:思路:题意:给定一棵树,再给定若干两点最短路之间边权的最小值,让你给树的边权赋值,使得满足给定的条件,如果不存在输出−1-1−1。思路:观察一个性质,加入经过这条边的路径的最小边权为w1,w2,..,wxw_1,w_2,..,w_xw1,w2,..,wx,那么当前这个边的边权wnow≥max(w1,w2,...,wx)w_{now}\ge max(w_1,w_2,...,w_x)wnow≥max(w1,w2,...,wx)。所以我们先按照边权从小到大排序,让后每次原创 2021-04-19 19:12:28 · 95 阅读 · 0 评论 -
Codeforces Round #614 (Div. 2) D. Aroma‘s Search 暴力 + 思维
传送门文章目录题意:思路:题意:给你x0,y0,ax,ay,bx,byx_0,y_0,a_x,a_y,b_x,b_yx0,y0,ax,ay,bx,by,让后根据[ax∗xi−1+bx,ay∗yi−1+by][a_x*x_{i-1}+b_x,a_y*y_{i-1}+b_y][ax∗xi−1+bx,ay∗yi−1+by]构造出一堆有价值的点,让后有个起点sx,sys_x,s_ysx,sy,以及时间ttt,每次可以往相邻位置移动一格,消耗111秒时间,问能获得最多的价值是多少。原创 2021-04-13 22:15:52 · 84 阅读 · 0 评论 -
CodeCraft-21 and Codeforces Round #711 (Div. 2) D. Bananas in a Microwave 优化暴力
传送门文章目录题意:思路:题意:有nnn个时间,每个时间给你两个操作,第一个是k=k+xk=k+xk=k+x,第二个是k=k∗xk=k*xk=k∗x,且可以执行[0,y][0,y][0,y]次,kkk初始状态为000,求[1,m][1,m][1,m]中kkk能到达的数的最短时间。思路:首先比较容易的能想到一个nm2nm^2nm2的暴力方法,就是遍历[1,n][1,n][1,n],让后对于每个已经出现过的数,尝试进行[0,y][0,y][0,y]次相应的操作,yyy的范围[0,m][0,m][0,m原创 2021-03-30 08:43:33 · 2937 阅读 · 9 评论