![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客
文章平均质量分 50
想出成果的acmer
当你越来越漂亮的时候,自然有人关注你,当你越来越有能力时,自然会有人看得起你,改变自己,你才有自信,梦想会慢慢的实现,要做好你自己,懒惰可以毁掉一个人,勤奋可以激发一个人,不要等到夕阳西下的时候才对自己说如果当初…如果…我就会怎么样,之类的话,都已经晚了,我只想告诉你一句话:要做一个连自己都羡慕的人!
展开
-
牛客手速月赛63 E(推式子)
看1和n之间的距离是1、2、3,然后找规律。当距离是k时,稳定有(n-k)的贡献,之后看起点1的位置,左边有i-1个数,右边有n-(i+k)个数,可以两两组合,直接相乘。所以就能推出求和公式了。计算长度为 n 的所有排列中所有最大值为 n 且最小值为 1 的子区间个数,对 998244353 取模。这里只考虑了1和n的关系,还可以倒过来,乘2,然后其他数是可以任意排列的,还有(n-2)!题解说能化简成O(1),上述式子可以再拆开,然后套立方和、平方和公式啥的。原创 2022-12-17 10:59:02 · 326 阅读 · 0 评论 -
牛客练习赛106 E(二分图捏)
首先要知道二分图是没有奇数环的图,所以这个题本质是判断是否存在二分图,如果不存在二分图,说明存在长度为奇数的环。而二分图的话,dfs染色即可判断是否存在。这个题过的时候600多ms,属于卡过的,因为直接染色的话理论复杂度是O(n+m),m是n。给定n个点的无向完全图,现在删去m条边,判断图中是否存在长度为奇数的环。n,但是其实枚举不完这么多边就会提前结束了,可以推式子证明。原创 2022-12-02 22:58:23 · 560 阅读 · 0 评论 -
牛客练习赛106 G
给定一个长度为 nn的 01 序列 S,求最少需要多少次操作能使得最终得到的 01 序列不存在两个相邻位置值都为 1。如果放1,消耗就是dfs(idx+1,cur+2),当前位置放了必须隔一个位置才能继续放。如果cur大于n,idx还没有放完,说明当前方案无解,返回INF。dfs(idx,cur): 当前枚举到第idx个1,位置在cur,需要的总花费是多少.如果不放1,消耗就是dfs(idx,cur+1),直接看下一个位置。第二维只需要枚举到j-2,就能保证第i个1与前边的1是不冲突的。原创 2022-12-02 22:50:19 · 463 阅读 · 0 评论 -
【无标题】
4、op\ xop x (这里 op = 4op=4 )代表牛牛将根节点到编号 xx 结点的路径上的结点之外的所有结点权重 +1。3、op\ xop x (这里 op = 3op=3 )代表牛牛将根结点到编号 xx 结点的路径上的所有结点权重 +1。1、op\ xop x (这里 op = 1op=1 )代表牛牛将以编号 xx 为根结点的子树中所有结点的权重 +1。2、op\ xop x (这里 op = 2op=2 )代表牛牛将以编号 xx 为根结点的子树外的所有结点权重 +1。1、以结点 1 为根。原创 2022-11-27 20:00:21 · 410 阅读 · 0 评论 -
牛客手速月赛62 B(不会猜结论,输)
如果和是x的倍数,直接0个,否则1个。假设和是sum,sum % x = t,t!= 0.因为题干里x原创 2022-11-27 19:53:33 · 65 阅读 · 0 评论 -
牛客手速月赛61 F(又是被20级打爆的一天)
考虑到[l,r+1]不会比[l,r]更差,只会不变或者更优。所以我们对于每个l,都可以找到对应的最小的r,长度为r-l+1到n-l+1的方案数+1,这个用差分维护即可。最后求和完记得乘以x的阶乘,因为他们内部可以任意组合。放映厅中有n张椅子,f(x)表示有x位观影者的方案数,要求观影者是连续坐的。并且有m条限制,必须同时满足才行。第i条的限制是,ai或bi或ci中至少有一个被观影者坐了。原创 2022-11-19 21:46:45 · 182 阅读 · 0 评论 -
牛客手速月赛61 C(题意没仔细读,输麻了)
输麻了,P那个点bfs预处理的时候是不能到达距离>r1的点的,根据题意,而我没有注意到,直接输麻。原创 2022-11-19 20:37:24 · 59 阅读 · 0 评论 -
牛客手速月赛60 F(鼠鼠输)
这样的话,就是枚举所有区间[i,j] (1原创 2022-11-12 16:55:09 · 81 阅读 · 0 评论 -
牛客手速月赛59 E(鼠鼠输)
碰撞其实只有停滞一秒,互换方向没有什么用处,因为互换了之后还是有一个球沿着原来的方向走,而且他滚出线段的时间和对撞的球滚出线段的时间是一样的。所以对于每个珠子,只看他会发生多少次碰撞就能得出滚出线段的时间。在一条长度为m的线段上有n个珠子匀速滚,有的向左有的向右,如果碰撞到一起就停滞一秒钟,之后双方互换滚动方向。求最后一个珠子滚出线段的时间。原创 2022-11-01 14:27:49 · 60 阅读 · 0 评论 -
牛客手速月赛 F(鼠鼠不行了)
观察到求和至多是1e7,所以数的种类也就根号(2e7)。那么按两个数组数的种类来枚举,最多2e7的时间复杂度。原创 2022-10-30 20:59:12 · 65 阅读 · 0 评论 -
牛客手速月赛59 D(蚌埠住了,好久没做题连模拟都搞不明白)
注意左右看的时候左右一起计数,而不是分开计数。原创 2022-10-30 18:51:20 · 58 阅读 · 0 评论 -
牛客手速月赛 D(入门dp)
因为题目限制了空间,所以要用滚动数组压缩一下。原创 2022-10-11 16:15:52 · 83 阅读 · 0 评论 -
牛客手速月赛50 D
题目题意: 略。思路: 考虑复杂了,其实只需要考虑一下除了那三个数其他都是各自独立2种选择即可。另外需要特判一下,如果某个节点没有右儿子,是除了那两个数之外。时间复杂度: O(nloga[i])代码:#include<iostream>#include<cstdio>#include<algorithm>#include<complex>#include<cstring>#include<cmath>#includ原创 2022-05-21 22:08:14 · 82 阅读 · 0 评论 -
生活在树上 牛客手速月赛46 D
题目题意:ZHR 住在一有根棵树上(1号节点为根),树上的每条边都有一个距离。由于他特别懒,所以他一天移动的距离不能超过 2,对于每个节点,问他在一天中可以通过这个节点到达多少个不同的节点。思路: 只有父节点、子节点、子节点的子节点、父节点的父节点、父节点的子节点有可能满足条件,每个点向儿子处找找,再判断一下父节点、父节点的父节点等。可以在输入时预处理每个点距离为1的儿子的数量。时间复杂度: O(n)代码:#include<iostream>#include<cstdio&g原创 2022-05-01 18:25:36 · 208 阅读 · 0 评论 -
牛客练习赛85考古 B (双指针预处理dp)
题目题意: 给定长度为n的小写字母组成的字符串,要求找出三个彼此不相交的区间,使得三个区间的大小求和尽可能地大。要求每个区间中每种字母的数量不超过m.思路: 如果是单个区间,直接双指针维护即可。但是现在是三个,其实有点套路了这个题。可以dp预处理1-i以及j-m的区间最大值,之后枚举中间的区间。时间复杂度: O(n)代码:#include<bits/stdc++.h>using namespace std;#define mem(a,x) memset(a,x,sizeof(a))原创 2022-04-24 18:40:49 · 174 阅读 · 0 评论 -
牛客手速月赛 48 C(差分都玩不明白了属于是)
不想玩辣! 好久没打牛客了,第二题连wa5发,心态有点炸。天天做天梯赛的题都有点不知道罚时,就硬莽夫,是个坏习惯。罢了,收拾收拾退役了。题目题意: 给定n个编号从1到n的区间,给定len,求有多少个区间满足长度为len且与区间相交的数量最多且权重最大。权重: 所有相交区间的编号和。思路: 稍微想想就知道,每次只移动一个格子,把信息预处理出来即可。傻了,非得用vector处理。这里和差分非常像的,但是不能在消失的地方–,因为可能区间左端点还在区间中。只需要多开一个数组记录所有给定区间的右端点,在枚原创 2022-04-22 21:51:07 · 149 阅读 · 0 评论 -
牛客手速月赛47 F(树学的不是很到位)
题目题意: 给定n个点的有向树,给定m个点和起点k。至多以k为起点向其他顶点连一条边,使得k到这m个点的最短距离之和最小。思路: 赛时思路求LCA,然后如果k的深度>=LCA的深度,必须往LCA连,否则不能到达所有点;反之,k本身就可以到达所有点,我是写的连接直接儿子的重儿子,但是不对,因为有可能有长长的链,总之欠考虑了。看了题解的思路。如果k本身可以到达所有点,需要枚举向哪个点连边,贡献的改变类似换根dp的写法。这样,k本身不能到达所有点的情况也可以用此方法实现,都是枚举。更普遍地,可以发现要原创 2022-04-11 15:09:38 · 114 阅读 · 0 评论 -
牛客练习赛97 D(经典树形dp不会)
题目题意: 给定一棵n个点的树,有x种普通颜色,y种特殊颜色。现在要进行染色,普通颜色染色没有限制,特殊颜色染色时要求相邻两个节点不能染相同的特殊颜色。思路: 树形dp.f[cur][0] = Π (xf[son][0] + yf[son][1])f[cur][1] = Π (x*f[son][0] + (y-1)*f[son][1])时间复杂度: O(n)代码:// Problem: 月之暗面// Contest: NowCoder// URL: https://ac.nowcoder.原创 2022-03-13 21:05:11 · 506 阅读 · 0 评论 -
牛客手速月赛45 E(还就内个遇到dp就不会,都怪开会,难蚌)
题目题意: 打着打着比赛被喊出去开会,组织生活会确实很重要,但是我还没见过哪个学院天天开这么多会的,计算机开会学院是吧?班长团支书一个专业前5都没有,什么成分,不多说了。麻了,还是自己太菜,不能怪外部因素,人家法学院学姐一手rank1/234+团支书+中共党员+六级631,我与人家的唯一共同点是均为团支书,难蚌。窥镜而自视,又弗如远甚。不能动气,动气又牙疼了。封校没法去医院拔智齿,难蚌。 回到题目,给定n个点的树,每个点有对应的点权。边权可能为负。找到一个最大贡献的非空连通块。 贡献: 连通块种的原创 2022-03-04 22:07:01 · 76 阅读 · 0 评论 -
牛客手速月赛45 D(合法括号序列模板不会有人不会敲叭,指自己)
题目题意: 给定括号序列,可以切任意刀,求有多少个方案可以使得切完以后剩余每个部分都是合法的括号序列。思路: 假设有n个间隙隔开了合法的括号序列,有n-1个可选择的位置用来切割。2^n种方案。实时维护一下括号序列是否合法即可。若有0个间隙,说明寄,无解。考察合法括号序列模板.时间复杂度: O(n)代码:// Problem: 切糕// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/11222/D// Memory L原创 2022-03-04 21:57:29 · 108 阅读 · 0 评论 -
牛客手速月赛45 C(签到)
题目题意: 给定8个等级的珠子,每3个或4个i等级的可以合成一个i+1等级的珠子,并且获得xi的贡献,x为合成数量。求最大贡献。思路: 贪心。打表发现除了1、2、5都可以变成3x+4y的形式,也就是全部合成成下一等级。而且数量最多的合成方法肯定是尽可能3个合一个,于是可以算一下。若当前数量不是3的倍数,就-4,直到是3的倍数,即可求出可以合成出多少下一等级的珠子。因为最多减两次就够用了,因为3x+4*y,y % 3 <= 2,减两次即可变成3的倍数。时间复杂度: O(1)代码:// Prob原创 2022-03-04 21:50:05 · 162 阅读 · 0 评论 -
牛客练习赛96 B
题目题意: 求一颗n层的满k叉树,求任意两点之间距离和等于多少.思路: 可以暴力也可以推公式,不会推。暴力做法为,对于同一层的每条边,贡献相同。而该边的贡献为cnt左边的点 * cnt右边的点.时间复杂度: O(n)代码:// Problem: 小y的树// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/11186/B// Memory Limit: 524288 MB// Time Limit: 2000 ms原创 2022-02-24 22:35:20 · 301 阅读 · 0 评论 -
牛客寒训营6 B (雀氏没有绿名的水平)
题目题意: 给定长度为n的数组a,求有多少子序列的价值与整个数组的价值相同。(均为正整数) 价值: Sigma 1到n-1 |a[i] - a[i+1]|. 长度为1的子序列的价值规定为0。思路: 样例给了很多暗示。对于一段相同的数的区间,删一删不打紧。但是要注意,能不能全删呢?假设他不是波峰或者波谷,不能全删。Cn0 + Cn1 + … Cnn - 1 = 2^n - 1.否则全删也无妨.如果是波峰或者波谷,与b无关。时间复杂度: O(n)代码:// Problem: 价值序列原创 2022-02-12 21:27:58 · 220 阅读 · 0 评论 -
牛客寒训营5 D(不会有人连数位dp模板都不会叭?指自己)
题目题意: 求[l,r]中满足下列条件的数的个数相邻两位和为素数至少一位数为1不包含前导零Especially,1算符合条件.思路: 数位dp就完事了,写了半天,太菜辣。时间复杂度: O(状态数转移数), O(111122*2 * 9),不会证明QWQ.代码:// Problem: 数位小孩// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/23480/D// Memory Limit: 524288原创 2022-02-11 17:04:49 · 148 阅读 · 0 评论 -
牛客寒训营5 C(经典贪心选手)
题目题意: 炉石传说,真尼玛好玩。给定n场游戏,k个礼遇,每次游戏后可以获得x点分数,如果用礼遇,可以获得y点分数(y >= x,x、y可能小于0)。每场游戏后都有分数评估sc[i],当前分数高于sc[i]熊孩子开心值会++,你现在可以对n场游戏任意排序,求最大的开心值。思路: n = 20.状态压缩表示当前的选择,全0表示一个礼遇不用,全1表示全用礼遇。1的个数<=k,则礼遇够用。将每场的得分按照降序排列,之后对比分数评估,求出最大的开心值。 如果先对游戏排序是不行的,我就先排的序。原创 2022-02-11 11:40:23 · 2256 阅读 · 0 评论 -
牛客寒训营5 G(dfs都不会了,建议/remake)
题目题意: 给定1-13,每个数至多用4次。从中选出6个数,求有多少种不同的方案。思路: dfs即可.搜索出一个序列后sort之后扔到set里查重。但是我一手sort,改变了原来的数组,导致回溯的时候出现错误,调了一小时,老废物了。只需要用一个临时数组sort即可。今日首蚌。也可以按照题解的方法进行枚举,比dfs强多了。时间复杂度: 至少是(6^13 * log(6^13)),不太会算。代码:// Problem: 163小孩// Contest: NowCoder// URL: https:原创 2022-02-11 10:08:24 · 176 阅读 · 0 评论 -
牛客寒训营4 G(梅开二度,欧拉降幂又一次不会)
题目题意: 给定长度为n的数组,求出该数组所有非空子序列的权值的乘积。权值: 该数组的最大值最小值思路: 首先,观察到每个数都会在非空子序列中出现2^(n-1)次。 之后,发现对于第i小的数,他有2^ (i-1)作为最大值出现,2^(n-i)次作为最小值出现。 sort之后,枚举每个数统计贡献即可。但是发现幂次是2^n,即使用快速幂也要n * logn * n,寄。 根据费马小定理, a^(p-1) % p == 1(a和p互质)。尽管幂次很大,但我们可以去%(p-1),使得从而将幂次原创 2022-02-09 11:01:09 · 325 阅读 · 0 评论 -
牛客寒训营4 D(y=k*x + b是吧)
题目题意: 给定(x1,y1),(x0,y0).(x1,y1)在接下来的n秒,(x1,y1)会按照给出的向量(xi,yi)移动。第i秒移动(xi,yi)。在此期间,求(x1,y1)与(x0,y0)的最短距离。思路: 要么是顶点与(x0,y0)求距离,要么是(x0,y0)到AB所在直线的距离。(要保证直线与(x0,y0)的交点在AB两点之间)。就呼呼的求个直线表达式,再算个交点坐标,再算个点到直线的距离,呼呼算。简单做麻烦了。 按std的做法,可以先判断三个点组成的三角形中,线段两端是否为钝角,如果原创 2022-02-09 10:52:26 · 432 阅读 · 0 评论 -
牛客寒训营4 A(经典双指针不会,用Binary Search)
题目题意: 求字符串中不含’P’且至少有k个’R’的子串个数。思路: Binary Search找合法和不合法位置,我写了半小时,各种特判。一看std,自己又写复杂了。可以用双指针O(n)解决战斗。我们可以根据’P’来分割字符串,对于剩余的被分割的字符串,采用双指针统计贡献。枚举右端点,当有k个’R’时,右移左端点到第一个不合法位置,统计贡献。时间复杂度: O(n)代码:#include<iostream>#include<cstdio>#include<algo原创 2022-02-09 09:40:17 · 300 阅读 · 0 评论 -
牛客寒训营3 C(倒着dp?)
题目题意: 和B题反过来,给定dp数组,反推输入。思路: 莫得思路。看了题解,说对原dp数组求个逆。f[i][j] = f[i-1][j] + f[i-1][j - a[i]/2] + f[i-1][j - a[i]]f[i+1][j] = f[i][j] + f[i][j - a[i]/2] + f[i][j - a[i]]由题意,西瓜都是偶数。f[1]即重量为2的瓜的数量.当dp[i] != f[cnt][i]时,向数组中添加i * 2的西瓜,相等时则i++,探索下一个体积是否满足。可以类比原创 2022-02-03 09:30:51 · 259 阅读 · 0 评论 -
牛客寒训营3 I(尺取或二分,做麻烦了)
题目题意: 给定一个字符串,求所有长度在[L,R]之间满足条件的字符串。条件为:四个类别的字符中至少有三个。①小写字母②大写字母③数字④特殊字符思路: 我总结对于每个位置去二分最右边的合法位置,统计满足长度的贡献。因为维护了四个类型的前缀和,这样是O(nlogn)的。 但是看了一手题解,发现可以O(n)。不需要维护四个类型的前缀和,直接开长度为4的数组就能维护每个类型字母最右边的位置。然后sort一下就可以找到最右边的合法位置。O(n * 4 log(4)),O(n).时间复杂度: O(n)代码:原创 2022-02-02 20:27:51 · 163 阅读 · 0 评论 -
牛客寒训营3 G(还就内个乱猜,父子互换)
题目题意: AVL树大伙都学过,本题给定两个二叉树。一个是二叉树旋转前,另一个是二叉树旋转后。本题为简单版,保证有旋转0-1次的解。找到哪个点发生了旋转,测评器会自动判断是左旋还是右旋。思路: 原来是爹的现在变成儿子,光速下班。拿个数组记录一下第一棵树的fa,然后在第二棵树里找爹在第一个图里的fa是现在的儿子。(困难版是splay,没学过QAQ)时间复杂度: O(n)代码:// Problem: 智乃的树旋转(easy version)// Contest: NowCoder// URL: h原创 2022-02-02 19:49:35 · 545 阅读 · 0 评论 -
牛客寒训营2 G(复习LCA了)
题目题意: 给定n个点,每个点高度为ai。用n-1条边连接这n个点构成一棵树,规定如果从高度高的点跳向高度低的点,花费为0;从高度低的点跳向高度高的点,花费为高度的差值。现在有m次询问,从地面(地面高度为0)跳向点u,再从u跳向点v,求最小花费。思路: 求LCA,发现光求个dist不够用,因为从下往上跳和从上往下跳不一样。分别预处理从两个方向跳到根的距离。 这样,我们就可以先让u向上跳到LCA处,之后再从LCA跳到v,距离用dist[] - dist[LCA]得到.时间复杂度: O((n+m)logn原创 2022-02-02 10:44:05 · 258 阅读 · 0 评论 -
牛客寒训营2 I(考察基本功的构造,构的并不是很造)
题目题意: 给定35个字符,有5对括号。构造一个长度为n,含有m种字符的回文串。该回文串要求对称位置可以为左右括号,也可以为剩余25个字符中的一种。(n<=1e4,m<=36)思路: 若m > n或者m==36,无解。我感觉可以贪心,呼呼的先用括号,之后再用剩余字符。如果用括号用到m为0,且字符串还没有凑完,那就回退一下,删掉一个括号改用剩余字符。这里注意的是,用完括号以后,判断一下是否有解,如果剩余长度(len+1)/2,即上取整,仍不足以凑够剩余的需要数量,寄,无解。没想到这点,呼原创 2022-02-01 18:45:03 · 175 阅读 · 0 评论 -
牛客寒训营2 F(写的乱七八糟过的,赛后发现是并查集)
题目题意: 给定n个数,由n-1个+或连接。有m次查询,永久修改a[x] = y,求整个式子的值。思路: 用并查集把所有先处理完,然后+上。若修改的数两边都是+,直接求差值;否则,修改它父亲的累乘值,求差值。 我先求出了*对应的影响区间,然后用map映射了每个点的对应区间,这波太lao了。时间复杂度: O(n * α(n) + m)代码:// Problem: 小沙的算数// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/cont原创 2022-02-01 16:47:34 · 55 阅读 · 0 评论 -
牛客寒训营2 E(离散数学学的不行,lao的一)
题目题意: 给定n个点的无向图,你现在可以给每条边规定对应的方向,求最长路径的最小值和最大值.思路: 最小值就n-1,n个点。最大值要构造对应的欧拉通路,因为欧拉通路可以走遍图中所有点。 若n为奇数,每个点都是偶度顶点,可以构造出,而且有欧拉回路。 若n为偶数,每个点都是奇度顶点,需要删一定的边构造。只要留两个奇度顶点即可,每条边影响两个点,删去(n/2-1)条边即可。时间复杂度: O(1)代码:// Problem: 小沙的长路// Contest: NowCoder// URL:原创 2022-02-01 16:16:08 · 97 阅读 · 0 评论 -
牛客寒训营2 H(签到)
题目以为是第二类斯特林数,太逆天了。虽然确实是,但是没必要这么做。而且这么做了还没做对更lao了。题意: 给定长度为n的非负整数数组a,和为m,要使得数组的异或最大,有多少种方案。思路: 把m二进制拆解,每有一个数就乘n。因为这一位可以放到数组的任意一个位置,而且互相之间莫得冲突。就可以下班了。 当时想的很复杂,想着是把m对应的二进制位放入一个数、两个数。然后寄了。也可以用第二类斯特林数解决,相当于把m对应的cnt个二进制位放入n个相同的盒子里。然后枚举把cnt个二进制位放到1、2…min(cnt,原创 2022-02-01 11:12:02 · 81 阅读 · 0 评论 -
牛客寒训营2 A(炉石的题都做不出来,只能说明炉石玩的不行)
题目题意: 起始有一点蓝,有n张攻击牌,消耗一点蓝造成一点伤害;m张回蓝牌,回复一点蓝。每次使用完一张牌,就会使得剩余所有攻击牌的伤害永久提升一点。比如先回了一点蓝,接下来连续攻击两次,造成伤害2 + 3 = 5.k次询问,判断能否恰好造成x点伤害。思路: Binary Search.首先可用的攻击牌是n = min(n,m+1),否则蓝不够。伤害最少是nn,平A接回蓝接平A接回蓝;伤害最多是 n * m+n(n+1)/2回蓝全用完接平A接平A。在此区间内的都能达到,在最少序列交换两个相邻平A和回蓝就原创 2022-02-01 10:32:36 · 289 阅读 · 0 评论 -
牛客除夕AK失败场 E
题目本场唯一非签到题,乱猜性质失败。题意: 小红和紫准备玩一个游戏。她们拿到了一个只包含小写字母的字符串 s。两人轮流将一个小写字母添加到一个新串t的结尾,必须保证t时刻都是s的一个子序列。谁先无法操作则输掉游戏。t初始是一个空串。小红先手添加,假设两人都足够聪明,请问谁最终能获得胜利?思路: 容易想到最后一个字母是必胜态,假设有序列babcdefb。最后一个b是必胜态,而对于倒数第二个b与最后一个b之间的字母拿到就寄,因为对手拿b可以绝杀。所以倒数第二个b到最后一个b之间都是必败态。倒数第二个b之原创 2022-02-01 09:03:53 · 181 阅读 · 0 评论 -
牛客寒假训练营1 F(终于听视频讲解听懂了,今日首蚌)
题目**题意:**给定一个长为n的数组a和一个整数m,你需要将其切成连续的若干段,使得每一段的中位数都大于等于m,求最多可以划分成多少段。思路: cnt1 - cnt2.(cnt1为>=m数的个数,cnt2为<m数的个数). 我直接震惊,我寻思看了半天题不都是不能改变原数组,咋还能这么玩呢。但是可以证明。 令f(l,r) = cnt1 - cnt2. ①若f(l,r) <= 0,那寄了,中位数不能凑出>=m. ②若f(l,r) > 1(=1则表示它自成一段) 如原创 2022-01-30 11:57:54 · 1843 阅读 · 0 评论