
优雅的暴力
文章平均质量分 50
QuantAsk
蒟蒻OIer
展开
-
AT1981-[AGC001C]Shorten Diameter
正题题目链接:https://www.luogu.com.cn/problem/AT1981题目大意给出nnn个点的一棵树,每次你可以删除一个叶子,求最少的操作数使得树的直径长度不超过kkk。1≤n,k≤20001\leq n,k\leq 20001≤n,k≤2000解题思路开始以为是dpdpdp啥的,发现想多了。可以考虑枚举树的直径中点(k是奇数就枚举边),此时肯定所有点距离中点距离不会超过k2\frac{k}{2}2k,然后把超过的删去就好了。时间复杂度:O(n2)O(n^2)O(原创 2021-10-25 08:19:38 · 162 阅读 · 0 评论 -
NOI.AC#2266-Bacteria【根号分治,倍增】
正题题目链接:http://noi.ac/problem/2266题目大意给出nnn个点的一棵树,有一些边上有中转站(边长度为222,中间有一个中转站),否则就是边长为111。mmm次询问一个东西从xxx出发走到yyy,每隔kkk步中转站会关闭一次(kkk的倍数步走完后不能在中转站上)。求在关闭多少次以内可以到达1≤n,m≤1051\leq n,m\leq 10^51≤n,m≤105解题思路发现最多只需要走2n2n2n步,然后每隔kkk步关闭一次,所以可以考虑根号分治。先处理好总的倍增数原创 2021-03-29 08:37:57 · 253 阅读 · 0 评论 -
P4306-[JSOI2010]连通数【bitset】
正题题目链接:https://www.luogu.com.cn/problem/P4306题目大意nnn个点的有向图,求图上可以相互到达点数。解题思路就是bitsetbitsetbitset这个黑科技的模板,首先是传递闭包fi,j=fi,k∣fk,jf_{i,j}=f_{i,k}|f_{k,j}fi,j=fi,k∣fk,j也就是如果fi,kf_{i,k}fi,k那么有fi,j∣=fk,jf_{i,j}|=f_{k,j}fi,j∣=fk,j二进制数字bib_ibi表示iii能够原创 2020-12-18 18:14:46 · 253 阅读 · 1 评论 -
P5355-[Ynoi2017]由乃的玉米田【莫队,bitset,根号分治】
正题题目链接:https://www.luogu.com.cn/problem/P5355顺带一提的是P3674 小清新人渣的本愿是这题的弱化版,提交就可以A题目大意nnn个数字,询问一个区间是否有两个数a,ba,ba,b使得a+b=xa+b=xa+b=x一个区间是否有两个数a,ba,ba,b使得a−b=xa-b=xa−b=x一个区间是否有两个数a,ba,ba,b使得a∗b=xa*b=xa∗b=x一个区间是否有两个数a,ba,ba,b使得a/b=xa/b=xa/b=xaaa和bbb可原创 2020-12-16 20:52:59 · 213 阅读 · 0 评论 -
P3247-[HNOI2016]最小公倍数【分块,并查集】
正题题目链接:https://www.luogu.com.cn/problem/P3247题目大意nnn个点mmm条边,每条边有(x,y,a,b)(x,y,a,b)(x,y,a,b)。qqq次询问(x′,y′,a′,b′)(x',y',a',b')(x′,y′,a′,b′)表示询问是否存在一条x′−>y′x'->y'x′−>y′的路径使得路径上amax=a′,bmax=b′a_{max}=a',b_{max}=b'amax=a′,bmax=b′解题思路考虑暴力的做法,我们原创 2020-11-30 18:37:32 · 311 阅读 · 0 评论 -
YbtOJ#20072-[NOIP2020模拟赛B组Day6]相似子串【根号分治】
正题题目链接:http://noip.ybtoj.com.cn/contest/105/problem/2题目大意一个010101串,qqq个询问,每次询问有多少个长度为mmm的子串010101个数与给出的010101串TTT相同解题思路因为询问串的总长与nnn同级,所以考虑根号分治将询问的TTT串长度分为两部分。对与大于n\sqrt nn的,我们直接暴力,因为这样的串的个数不会超过L\sqrt LL个,所以时间复杂度是O(nL)O(n\sqrt L)O(nL)的。对与小于n\sqrt原创 2020-10-26 15:55:13 · 181 阅读 · 0 评论 -
2020牛客NOIP赛前集训营提高组(第四场)B-色球【链表】
正题题目链接:https://ac.nowcoder.com/acm/contest/7611/B题目大意nnn个杯子,mmm个操作在第zzz个杯子中依次加入xxx个颜色为yyy的球在第yyy个杯子中取出xxx个球,并询问最后一个拿出的球将第xxx个杯子的球依次拿出放入第yyy个杯子中解题思路每次插入操作视为加入一个点,对于没个杯子记录一个顶部和底部的点,然后中间通过若干边连接构成一条链,然后拿出时就从第yyy个杯子的顶部开始搜索查找即可。然后第三个操作连接两个杯子的顶部然将杯子y原创 2020-10-25 15:16:56 · 329 阅读 · 1 评论 -
牛客-牛牛的猜球游戏
正题题目链接:https://ac.nowcoder.com/acm/contest/7605/B题目大意101010个数,nnn个操作交换两个位置的数。mmm次询问操作一段区间后的序列。解题思路处理出fi,jf_{i,j}fi,j表示处理了前iii个第jjj位的是哪个数。然后拿fl−1f_{l-1}fl−1和frf_rfr一一对应即可。时间复杂度O(10n)O(10n)O(10n)codecodecode#include<cstdio>#include<cs原创 2020-10-17 22:30:36 · 594 阅读 · 3 评论 -
jzoj6800-NOIP2020.9.19模拟spongebob【枚举】
正题题目链接:https://gmoj.net/senior/#contest/show/3222/0题目大意nnn个ai,bia_i,b_iai,bi,求一个xxx使得最小化∑i=1n∣aix+bi∣\sum_{i=1}^n|a_ix+b_i|i=1∑n∣aix+bi∣解题思路每个∣aix+bi∣|a_ix+b_i|∣aix+bi∣可以视为一个分两段的函数,那么把所有加起来就是一个分n+1n+1n+1段的函数,枚举分段点然后每个段取最大值即可。codecodecode#i原创 2020-10-16 17:25:37 · 197 阅读 · 0 评论 -
YbtOJ#20063-[NOIP2020模拟赛B组Day4]古老谜题【统计】
正题题目链接:http://noip.ybtoj.com.cn/contest/90/problem/1题目大意给出一个010101序列,求有多少对(l,p,r)(l,p,r)(l,p,r)使得l<p<rl<p<rl<p<r且sp=1s_p=1sp=1且s(l,p)=s(p,r)s(l,p)=s(p,r)s(l,p)=s(p,r)(s(l,r)s(l,r)s(l,r)表示l∼rl\sim rl∼r中111的数量)解题思路定义SiS_iSi表示1∼i1\s原创 2020-10-12 18:01:50 · 219 阅读 · 0 评论 -
nssl1458-HR 的疑惑【枚举】
正题题目大意给出nnn,求[1..n][1..n][1..n]中有多少个数可以被ab(b>1)a^b(b>1)ab(b>1)表示解题思路首先如果bbb等于222,那么可以被表示的数就是n\sqrt nn个bbb不是质数时,显然所以的数都可以被一个bbb是质数的情况表示。当bbb大于等于三时,aaa的个数级别不超过10610^6106,所以我们枚举后面的数。需要考虑重复如43=824^3=8^243=82,其实这个重复本质上就是(22)3=(23)2(2^2)^3=(2^原创 2020-08-11 13:30:03 · 173 阅读 · 0 评论 -
P2354,jzoj3757-[NOI2014]随机数生成器【贪心,暴力】
正题题目链接:https://www.luogu.com.cn/problem/P2354解题思路以1∼n∗m1\sim n*m1∼n∗m的数字组成的n∗mn*mn∗m的矩阵,求一条路径使得路径上的数排序后字典序最小。解题思路考虑从小到大依次枚举来判断是否可行。每次判断一个点是否可以经过然后加入一个必经点。考虑这个必经点的限制条件,一个(x,y)(x,y)(x,y)的必经点使得你...原创 2020-02-03 19:29:32 · 537 阅读 · 0 评论 -
P6015-[CSGRound3]游戏【树状数组】
正题题目链接:https://www.luogu.com.cn/problem/P6013?contestId=25945题目大意nnn张牌,玩家111从顶拿若干张,之后玩家222拿若干张。若牌的和大于KKK那么分数为0否则为牌的和。求KKK为多少时玩家111必胜。解题思路我们枚举玩家111拿多少张,然后用一个指针记录玩家222拿到哪里时比玩家111大。若玩家111的和为lll,...原创 2020-01-29 13:59:08 · 494 阅读 · 3 评论 -
jzoj3783-[NOIP2014模拟8.19]签到题【结论题】
正题题目链接:https://jzoj.net/senior/#main/show/3783题目大意nnn个数,求这个序列中一个非空子集的和是nnn的倍数。解题思路可以知道一定有一种解法是一段连续的序列。证明:设sxs_xsx表示(∑i=1xai)%n(\sum_{i=1}^xa_i)\%n(∑i=1xai)%n,那么我们要找到一个sl=srs_l=s_rsl=sr。...原创 2020-01-10 23:33:04 · 315 阅读 · 0 评论 -
jzoj3798-[NOIP2014模拟8.22]临洮巨人【前缀和】
正题题目链接:https://jzoj.net/senior/#main/show/3798题目大意长度为nnn的字符串,求有多少个子串中ABCABCABC数量相等。解题思路方法好像很巧妙,用Si,A/B/CS_{i,A/B/C}Si,A/B/C表示到第iii个时A/B/CA/B/CA/B/C的数量。然后Sr,A−Sl,A=Sr,B−Sl,B=Sr,C−Sl,CS_{r,A}-S...原创 2019-12-28 13:27:06 · 278 阅读 · 0 评论 -
jzoj3918-蛋糕【二分】
正题题目链接:https://jzoj.net/senior/#contest/show/2953/0题目大意n∗mn*mn∗m的矩阵,有数字,横着三刀竖着三刀分成16份使得最小那份最大。解题思路暴力枚举竖着的三刀,然后二分答案判定即可。codecodecode#include<cstdio>#include<cstring>#include<...原创 2019-12-07 13:04:42 · 258 阅读 · 1 评论 -
nssl1438-战略威慑【枚举,树的直径】
正题题目大意nnn个点的无根树,求两条不相交的路径使它们长度之积最大。解题思路我们暴力枚举第一条,然后求树的直径即可。codecodecode#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=210;struct no...原创 2019-11-12 14:34:36 · 305 阅读 · 0 评论 -
nssl1186-字串数量【前缀和】
正题题目大意长度为n的字符串,有q个询问,求[l∼r][l\sim r][l∼r]这个区间的最小子串出现次数。解题思路这个就是一道坑题我们可以发现如果有一个长度为2的子串,那么这个子串前面那一部分一定是更小的。所以最小子串一定是一个字母,我们可以用前缀和瞎搞搞就好了。code#include<cstdio>#define N 1000010using name...原创 2018-10-07 14:36:13 · 279 阅读 · 0 评论 -
jzoj3339-[NOI2013模拟]wyl8899和法法塔的游戏【博弈论,暴力】
正题题目大意有nnn堆石子,每次选择一个区间博弈,先手必须先取最右边的石子堆。每次询问(r,a,b)(r,a,b)(r,a,b)表示在a∼ba\sim ba∼b中选择一个数lll。要求使用l∼rl\sim rl∼r这个区间的石子进行博弈,然后若先手必胜输出最右边的石子需取的最大石子个数并让石子堆减去这个数。若先手必败输出−1-1−1解题思路首先这是一个NIMNIMNIM博弈,若al&...原创 2019-07-09 17:03:56 · 258 阅读 · 0 评论 -
jzoj3301-[集训队互测2013]家族【并查集,暴力】
正题题目大意一个图每个边有不同的频率,对于大小为xxx的联通可以共享价值wxw_xwx。现在要去保留一段频率内的边,使得剩下的联通分量价值之和至少为KKK。求最小的保留频率宽度。解题思路首先将频率进行排序,然后愉快的发现不满足二分性质。那么我们可以暴力枚举频段O(m2)O(m^2)O(m2)。然后每次加入一个频率的边时用并查集统计答案。codecodecode#include...原创 2019-07-05 16:18:00 · 211 阅读 · 0 评论 -
jzoj6288-旋转子段【优雅的暴力】
正题题目大意一个长度为nnn的序列。可以选择一段区间旋转,求使得∑i=1n[ai==i]\sum_{i=1}^n[a_i==i]∑i=1n[ai==i]最大。解题思路现在序列中每隔一个插入一个#\##号(伪插入)用gig_{i}gi表示以中点为iii的序列翻转后能够对应的数字。然后枚举中心点,然后从短到长枚举翻转可以对应的数组,然后统计答案。codecodecode#i...原创 2019-08-09 20:27:13 · 389 阅读 · 0 评论 -
jzoj3410-[GDOI2014模拟]Tree【最小生成树,贪心】
正题题目大意在一张图中选择一颗生成树使得边权的方差最小。解题思路我们很容易想到一种贪心,那就是在按照边权排好序后选择一段连续的区间然后使用这段区间构成最小生成树,这样时间复杂度是O(m3logm)O(m^3\log m)O(m3logm),时间复杂度难以接受。那我们可以考虑枚举一个数xxx(精度在0.10.10.1内即可),然后将边权按照∣w−x∣|w-x|∣w−x∣排序,然后优先...原创 2019-08-24 07:50:26 · 229 阅读 · 0 评论 -
NOI.AC-random【期望概率,统计】
正题题目链接:http://noi.ac/contest/235/problem/227题目大意两个nnn长度为AAA和BBB的序列,从两个序列中各随机取一个数出来,求期望哪个序列的数大。解题思路总共有n∗nn*nn∗n种情况,每种情况等概率,排序用指针统计一下那边的赢得情况多即可。codecodecode#include<cstdio>#include<c...原创 2019-09-21 15:30:06 · 319 阅读 · 0 评论 -
jzoj1758-过河【dp】
正题题目大意nnn个木板第iii个浮起来ai sa_i\ sai s后沉bisb_i sbis如此反复。每sss最多可以跨555格,最短时间到达右边。解题思路设fi,jf_{i,j}fi,j表示在第i si\ si s的时候是否可以到达第jjj格木板然后显而易见fi,j=fi,k(∣k−j∣≤5)f_{i,j}=f_{i,k}(|k-j...原创 2019-05-18 15:24:26 · 293 阅读 · 0 评论 -
jzoj1764-游戏【dp,dfs】
正题题目大意一个n∗nn*nn∗n的矩阵中fi,j=fi−1,j+fi−1,j+1f_{i,j}=f_{i-1,j}+f_{i-1,j+1}fi,j=fi−1,j+fi−1,j+1。但是有格子恒定为0给出fn,1f_{n,1}fn,1要求在第一列的数字不超过MaxMaxMax的情况下字典序最小。求这个字典序。解题思路若不考虑坏格子,我们发现a,b,c,da,b,c,da...原创 2019-05-18 15:20:25 · 315 阅读 · 0 评论 -
jzoj5223-B【矩阵乘法】
正题题目大意3∗33*33∗3的矩阵上每个格子都有机器人,每次可以向相邻格子移动或不动(一个格子上可以有多个机器人),求移动nnn次后每个格子上都有机器人的移动方案数。解题思路用矩阵乘法计算出每个格子的机器人移动到每个格子的方案总数。在枚举最终机器人状态。之后用矩阵乘法算出来的答案统计这个状态的方案数。codecodecode#include<cstdio>#i...原创 2018-12-08 13:42:06 · 282 阅读 · 0 评论 -
jzoj3518-进化序列(evolve)【位运算】
正题题目大意序列aaa求有多少个数(x,y)(x,y)(x,y)对满足:x&lt;yx&lt;yx<y和ax or ax+1 or ax+2...or ay&lt;ma_x\ or\ a_{x+1}\ or\ a_{x+2}...or\ a_y&lt;max or ax+1&n...原创 2018-12-08 13:36:56 · 326 阅读 · 0 评论 -
P4879-ycz的妹子【分块】
正题评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P4879题目大意有若干种操作C x y:ax−=yC\ x\ y:a_x-=yC x y:ax−=yI x y:I\ x\ y:I x y:加一个(原本有的话就改变)ax=ya...原创 2018-12-07 19:34:45 · 253 阅读 · 0 评论 -
NOIP2018普及组复赛解析
T1:标题统计题目大意输入一个字符串,求字符串除了空格的字符个数解题思路这种考你会不会编程的题不会?code#include&lt;cstdio&gt;#include&lt;string&gt;#include&lt;iostream&gt;using namespace std;int ans;string c;int main(){原创 2018-11-28 16:52:14 · 9569 阅读 · 2 评论 -
nssl1187-排列【dp,随机卡常,树状数组】
正题题目大意一个由1∼n1\sim n1∼n组成的序列求长度为k的上升序列的个数。数据保证随机解题思路用fi,jf_{i,j}fi,j表示长度为i,以j结尾的上升序列个数。然后fi,j=∑fi−1,k(aj&gt;ak,j&gt;k)f_{i,j}=\sum f_{i-1,k}(a_j&gt;a_k,j&gt;k)fi,j=∑fi−1,k(...原创 2018-10-07 15:46:53 · 238 阅读 · 0 评论 -
nssl1141,jzoj3470-最短路【SPFA,暴力】
正题纪中题目链接:https://jzoj.net/senior/#main/show/3470题目大意在从起点经过k个标记点然后到终点的最短路。解题思路用SPFA求出起点和所有标记点的最短路,然后暴力枚举标记点到达顺序。 时间负责度:O(K(N+M)+k!)O(K(N+M)+k!)O(K(N+M)+k!)code#include<cst...原创 2018-09-08 15:15:32 · 292 阅读 · 0 评论 -
P1072-Hankson的趣味题【数论,gcd】
正题评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1072题目大意a1=gcd(a0,x)a1=gcd(a0,x)a_1=gcd(a_0,x) b1=gcd(b0,x)b1=gcd(b0,x)b_1=gcd(b_0,x) 求xxx解题思路如果 a1=gcd(a0,x)a1=gcd(a...原创 2018-09-07 19:48:27 · 269 阅读 · 0 评论 -
vijos1197-费解的开关【递推,枚举,位运算】
正题题目链接:https://vijos.org/p/1197大意有5*5个开关,每次选择一个地方时它和它上下左右的开关都会取反,求将所有开关都变成1的最少次数。解题思路首先我们知道一个位置一定不会点击超过一次。这样我们就可以得出一条性质,当第一行都已经决定是否点击过后,第一行就只能由第二行点击,那么这时第二行只能点击第一行还没打开的灯的下面,这样以此类推的话第二条...原创 2018-08-13 09:01:55 · 429 阅读 · 0 评论 -
P2280-激光炸弹【二维前缀和】
正题评测链接:https://www.luogu.org/record/show?rid=9634929大意有nnn个东西,在5001∗50015001∗50015001*5001的棋盘上,炸弹一次可以炸r∗rr∗rr*r的地方,使炸到的东西的价值最大。解题思路这道题我们可以用一个二维前缀和快速计算r*r的范围的最大值,然后暴力枚举 正解扫描线 具体使用方法详见...原创 2018-08-12 21:36:27 · 293 阅读 · 0 评论 -
jzoj5123-diyiti【统计,容斥】
正题题目大意n个木棒,求用6个木棒组成正方形的方案总数。解题思路这个正方形边有的木棒数两种可能3,1,1,13,1,1,13,1,1,1和2,2,1,12,2,1,12,2,1,1。第一种可以枚举111,然后用fxf_xfx表示两根木棒和为x的方案数,用fxf_xfx加容斥可以计算出这个。第二种直接暴力枚举111的和考虑2+22+22+2的不同形式,维护两个指针就可以计算了。...原创 2018-12-08 16:11:19 · 427 阅读 · 0 评论 -
jzoj100046-收集卡片【暴力】
正题题目大意给一个字符串,求一个最短的子串包含所有在这个字符串里出现的字母。解题思路枚举右指针,左指针移动到刚好满足要求的位置。每次就一个最小值。code#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;iostream&gt;#define N 500010#define Z 60usin原创 2018-12-15 14:32:03 · 308 阅读 · 0 评论 -
jzoj3058-火炬手【高精度,暴力】
正题题目大意对于一个nnn,求一个mmm,使得n∗mn*mn∗m只有0或1解题思路暴力枚举n∗mn*mn∗m,然后高精度求答案。codecodecode#include<cstdio>#include<cmath>#define ll long longusing namespace std;ll n,xans;int a[151],ans[15...原创 2019-01-05 13:09:53 · 256 阅读 · 0 评论 -
P3112-[USACO14DEC]后卫马克Guard Mark【贪心】
正题题目链接:https://www.luogu.org/problemnew/show/P3112题目大意有nnn只牛,每只牛有hi,wi,sih_i,w_i,s_ihi,wi,si分别表示有多高,有多重,上面最多承载总共多重的牛。选择一些牛依次摆放要求高度超过TTT且上面还能增加最重的物品。解题思路首先我们考虑已经选定了牛了,然后如何摆放是最优的:resti=si−∑j...原创 2019-05-24 22:26:11 · 281 阅读 · 0 评论 -
P3514-[POI2011]LIZ-Lollipop【思路题】
正题题目链接:https://www.luogu.org/problemnew/show/P3514题目大意一个12序列,若干个询问求有没有一个子串之和为kkk解题思路首先感谢ZYCdalaoZYCdalaoZYCdalao的温馨提示。然后进入正题首先我们考虑一个串的和为kkk那么最边的数的情况(1,1),(1,2),(2,1),(2,2)(1,1),(1,2),(2,1),(...原创 2019-05-24 21:46:39 · 247 阅读 · 0 评论 -
nssl1321,jzoj(初中)2106-买门票【dfs,暴力,字符串】
正题题目大意给定一些字母,用字母组成一个单词要求满足从小到大有1个元音字母有2个辅音字母长度为LLL输出字典序最小的250002500025000个。解题思路暴力搜索时间复杂度O(CNL)O(C_{N}^L)O(CNL)codecodecode#include<cstdio>#include<iostream>#include<...原创 2019-05-11 13:58:45 · 248 阅读 · 0 评论