牛客WR255030
牛客WR255030
全部文章
分类
题解(9)
归档
标签
去牛客网
登录
/
注册
牛客WR255030的博客
全部文章
(共9篇)
题解 | #A题 小L的三角尺#
本题就是要用最优的w分配,使得每一次减小y时,是最大效率,这样才能使得最终斜边和最短。为了知道最大的减小效率,其实就是每一个y[i]/x[i]的值。我们可以用优先队列加上pair函数的方式存储y[i]/x[i]和每一个i,之所以要存i,是为了以后方便提取每一个y[i]的精确值。 代码核心是这样的: ...
C++
2026-02-14
1
15
题解 | #F题 智乃是算法竞赛群友#
本题就是要构造出在限定的长度n内,使得qcjjkkt和td以及qcjjkktd三种组合起来让快乐值最大化。我们可以直接用dp的方式。qcjjkkt的长度是7,td的长度是2,qcjjkktd的长度是8,n的长度要么是2、7、8三个数的最小公倍数56的倍数,要么就是余下1~~55,所以就以112为dp...
C++
2026-02-13
1
12
题解 | #F题-爱音的01串构造#
本题就是让所写的01串中所有的子序列的mex和最大。令0的数量a,1的数量是b,其实有三种情况:0的数量和1相等,0的数量大于1,0的数量小于1.当0的数量小于1时,就是要设法将零填补在1中间,达到一的连续串尽量短,最终达到将一分成(a+1)份。当1数量小于0时,同理将1填在0中,最终将0分成(b+...
C++
2026-02-10
1
12
题解 | #C题Inverted World #
该题就是让最后的序列变成010101....或是像1010101.....这样。所以分俩种情况讨论。如果按第一种0101010....,把所有位置错误放置的拿出来变成一个序列,设两个变量count1和count2,分别计数以零为结尾和以一为结尾的该序列的子序列个数。就是从前往后遍历每一个拿出来的序列...
C++
2026-02-08
1
22
题解 | #F题 Energy Synergy Matrix#
本题中,小小红需要从第一列走到第n列,那么横向一定是走(n-1)步,要使小小红走的最少路径,那么纵向必须最小路程。小红希望最终最短步数尽量小,小紫希望最终最短步数尽量大。又有“强制换行结构”,他至少需要五列。每五列至少逼出一次换行。小红和小霞结束的标志是:最终只有一条简单路径从(1,1)到第n列。那...
C++
2026-02-08
1
18
题解 | #H 权值计算#
本题要求算所有子串的权值和。我们发现:所谓的权值是由子串中数字种类多少决定的。我们可以将一种数字对所在子串的权值影响称为“贡献”。一种数字如果在一个子串出现多次,只有第一次出现的有贡献。子串中的数字对子串贡献只有对从其往后有贡献,其实就是一个等差数列求和。我们可以总结:只要一一算出每个数的贡献就可以...
C++
2026-02-06
1
15
题解 | #x?y?n!#
本题是要求出x与y满足所给的gcd(x,y)==n并且x^y要最小。我们从样题发现x^y=gcd(x,y)=n,有异或运算公式x^y=n推导出x^n=y。易知x、y是n的倍数,令y=x+n,又有公式x+n=x^n+2*(x&n),那么只有在(x&n)为0时才成立。n是在int范围里面...
C++
2026-02-06
1
20
题解 | #Digital Folding#
本题意思是:给定左右区间L、R,找出L<=x<=R的x的逆序最大值。有多种情况需要讨论。 1、L和R是相同位数时,例如124368和124897两个数,我发现,我们只要找到两个数从左往右开始不同时的数,将其变成小于R的这位数减一,也就是所举例中的124897中的8变成7,然后后面都变成9...
C++
2026-02-04
1
18
题解 | #Card Game#
小红的牌是固定的序列,小苯的牌可排序。现在的问题是怎么样才可以算出小苯赢最多的种类。有题目意思可知:比较是如果是小牌则保留,如果是大牌则会删除。我仔细思考了一会儿,发现比小红最小值小或是等于的都不可以赢,比小红最小值大的都可以赢。那么我们可以用sort降序排序小苯的,然后找出比最小值大的和比最小值小...
C++
2026-02-04
2
20