牛客937992666号
牛客937992666号
全部文章
分类
题解(86)
归档
标签
去牛客网
登录
/
注册
牛客937992666号的博客
全部文章
(共87篇)
题解 | # Trie #
模板题目一:https://www.luogu.com.cn/problem/P8306 是字符串的最大可能长度,数组记录字符串的个数,是下标 const int N = 3000000 + 100; int ...
2026-04-02
0
10
题解 | # 贤断术 #
羊开茗,快来学习贤断术 题目一:https://www.luogu.com.cn/problem/P10589 使用权值线段树(因为我一开始用普通线段树超时了) 对每一个位置,求区间和中有多少个比大的数和比小的数 总代码: #include<...
2026-04-01
0
10
题解 | # 冰茶鸡 #
题目一:https://www.luogu.com.cn/problem/P1955 模板 注意离散化,下面给出两种离散化: map<int, int> ma; int idx = 0; for(int i ...
2026-03-30
1
15
题解 | # P2827 [NOIP 2016 提高组] 蚯蚓 #
每次将最大值拆成两个数和,然后将除这两个数的其他所有数都加上,这里有是一个问题:一些数字需要加上,一些数字又不需要加上,然后多次操作下,一些数字加上的次数还不一样!不妨认为拆分成了和,这样相当于所有数字都需要加上,所以用一个变量记录所有数字一共需要加上的数。 所以可以用优先队列得...
2026-03-19
0
27
题解 | # B. Mike and Feet #
这道题目可以当作结论来记住了 相当于用的时间复杂度求:可以求出所有长度为的连续子数组里最小值的最大值 首先如果所有长度为的最小值中的最大值为,那么一定满足 我们可以求如果以当前为最小值的最大区间,那么需要找到向左第一个小于的值的位置,向右第一个小...
2026-03-19
0
23
题解 | # D. Removal of a Sequence #
结论:设之前的位置为,然后删除位置坐标为的倍数的数,那么原来第个数的位置变为: 的意思是有多少个的倍数,所以直接减去 变形可以得到,意思是之前的位置等于现在的位置加上删除数字的个数 删除数字的个数等于,为什么是,因为如果,则算...
2026-03-18
0
27
题解 | # C. Classy Numbers #
定义表示当前已经填了个数字,并且非数字为时的总方案数。显然的大小不会超过,最多个非零数字,所以不会超过 求区间的上等数字,等价于求区间的个数减去的个数 核心代码: 表示现在已经遍历到第几个位置了,因为数组将给一个个拆分了,此时从小到大对应的是的个位,十位,百位.....,然后遍历时...
2026-03-18
0
19
题解 | # P2862 [USACO06JAN] Corral the Cows G #
很好的一道离散化题目 坐标范围在,那么二维数组肯定存不下,况且用二维前缀和枚举横纵坐标也是,超时 但是坐标个数最多只有个,也就是说不同的数最多也只有个,离散化后最关键的一个问题是如何枚举:正常的做法就是枚举横纵坐标,但是会超时,这里使用类似于双指针的方法来模拟: 总代码: ...
2026-03-16
0
23
题解 | # P1862 输油管道问题 #
求的最小值,当等于的中位数时,取得最小值。即将升序排列后, 题目一:https://www.luogu.com.cn/problem/P1862 显然只与总坐标有关,即求,将升序排列后,当时值最小 总代码: #include&...
2026-03-16
0
26
题解 | # F. Knapsack #
看似背包,实则一点也不背包,物品的数量为,每一个物品的体积是,所以体积一样的物品可以累加 然后一共有m个背包,求背包的最小体积,但可惜,也不是二分 正确的思路是从二进制和贪心的方向去想: 二进制上,考虑每一位的贡献,而不是将打开 二进制从大到小去想,...
2026-03-16
0
30
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页