
牛客代码补全
文章平均质量分 69
鄙人不擅长dp
cf800
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025牛客寒假算法基础集训营6 个人补题 ACIJKL
我们举一个例子说明该做法的思路,例如输入的数组 ppp 为 [1,3,2,4,5],查询分别为 [1,5,2]和 [2,5,4],我们发现 [1,5,2][1,5,2][1,5,2] 查询相当于在问: [1,5] 区间里有多少个小于等于 p2 的数字?这样询问 [1,5,2]其实是在对状态2的数组求 [1,5] 区间的和,使用树状数组可以做到;状态1:[1,0,0,0,0] 状态2:[1,0,1,0,0] 状态3:[1,1,1,0,0]状态4:[1,1,1,1,0]状态5:[1,1,1,1,1]原创 2025-02-22 02:46:49 · 483 阅读 · 0 评论 -
2025牛客寒假算法基础集训营5个人补题ABCEIJ
首先能够发现每次换位可以修改两个数,而反置只能修改一个数,所以很明显,如果2 * value_1 <= value_2,那么反置的收益大于互换,反之反置小于互换。我们注意到1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0,所以反置任意一位就可以改变c的答案。思路:高中的时候学过,路程是时间和速度围成的关于x轴的面积,每一秒更新一下速度然后模拟即可,要注意速度 < 0 的情况。具体的模拟方式,可以记录一下几个1 和 0 的分配,然后和操作次数做比较,然后模拟即可。原创 2025-02-22 01:40:55 · 309 阅读 · 0 评论 -
2025牛客寒假算法基础集训营4个人补题BCDEIK
最终的目标是最小化替换次数,所以我们可以通过统计字符出现的次数,发现在拼接的时候,哪些位置的字符串不匹配,然后得出要替换的字符个数。根据回文字符串的定义,我们有s[i] = s[n - i -1] i>= 0 && i <= n / 2。思路:二位平面过对角线的最大值和,容斥原理记录方向前缀和即可。BC的区别在于n的范围,B的范围<10可以使用dfs解决。表示字符串中不包括第一个和最后一个字符的部分。思路:本题流程分三步,排列,替换,拼接。如果第一个字符与最后一个字符不相同,思路:对于字符串中的每个。原创 2025-02-21 05:20:58 · 357 阅读 · 0 评论 -
2025牛客寒假算法基础集训营3个人补题ACEFLM
思路:观察到题目所给的含义,由于此题限制m = 1,查询区间为全体区间,很容易想到字典树来存储,然后跑一遍搜索。思路:如果是奇数,取 n - 2个,然后1 - 1必赢,如果是偶数,取n - 3个,然后2 - 1必输。思路:一道物理题,观察到要求最大的最小值,二分即可,主要是中间的check有点复杂。思路:手动模拟一下发现都有解,左下->右下->然后向上走一层,一层一层轮回正好可以。思路:根据题意设不等式,借出来答案 >= n <= 2n存在。三个单词的前缀部分共享,因此无需多次输入now,只需要。原创 2025-02-21 04:50:17 · 257 阅读 · 0 评论 -
2025牛客寒假算法基础集训营2 个人补题ABCDFGJK
题意:牛可乐从古籍中得知,铸剑的温度越接近 n 度,剑的品质越好。此后,牛可乐每次添柴可以使得铸剑炉的温度提高到原来的m 倍,即温度变为 m^2,m^3,牛可乐想要知道,他最少需要添多少次柴(包括启动炉子时添的那一次),才能使得铸剑炉的温度最接近 n 度,这样他就能铸出一把品质最好的剑。1:m < n,即能构造出来第二个子序列,若n = m,若选取整个字符串作为连续子串,那么对应的“不连续子序列”只能选整个字符串,变成了一个连续块,不满足题目要求(不连续子序列必须由至少两段不相邻的非空子串构成)。原创 2025-02-20 02:08:32 · 748 阅读 · 0 评论 -
2025牛客寒假算法基础集训营1 个人补题(DABGMJH)
思路:根据树的性质,有N个点的树含有N-1条边,要形成题目要求的形状很明显是一个链表形式的,头尾节点度数为1,开一个map判断即可。因此,如果我们要依次“吸收”较小值进入操作区间,这个区间在原数组中的位置总是一个连续的区间,且会随着“吸收”更多数而不断扩张。题意:给你一个序列,每次可以选两个数使得一个+1一个-1,判断在经过任意次操作以后能不能使序列成为一个1~N的排列。但由于操作必须是连续的,一旦决定提升第 k 个较小值,操作区间就会从最小值所在的位置扩展到这个数的位置。对于还未操作的数,值保持不变;原创 2025-02-17 04:24:24 · 362 阅读 · 0 评论