Turgen
Turgen
全部文章
分类
题解(13)
归档
标签
去牛客网
登录
/
注册
Turgen的博客
全部文章
(共30篇)
题解 | 清楚姐姐买竹鼠
用dp会爆时间和空间,考虑贪心先考虑3只3只的买,剩下的再单独买3只买的最便宜价格不一定就是b元,也可能是3*a元。这里决策一下,剩下的不够3只,要么考虑一只一只买,买完,要么直接买3只。极端情况就是:3只的价钱贵的离谱,但1只的价钱很便宜,乘3也抵不过直接买3只的b元,也可能出现1只价格贵的离谱,...
2026-03-14
1
21
题解 | #小红的数字查找#
前置知识 唯一分解定理:一个大于1的正整数可以被表示为多个质数的乘积,一般表示为 完全平方数:注意到完全平方数可以表示为,而根据唯一分解定理,k又是可以被表示为质因子乘积,因此我们有结论: 即,一个完全平方数,每个不同质因子的幂次一定是偶数。 另外:平方数×平方数还是平方数 思路 还是唯一分解定...
数学
2026-03-09
1
32
题解 | #倍数#
可以被5整除的充分必要条件是个位是0或5 由于排列可以随便排,所以只需要数字中有0或者有5就可以了 void solve(){ cin>>n; string s=to_string(n); if(s.find('5')!=-1 || s.find('0')!=-1...
2026-02-28
0
48
题解 | 一种不需要双指针的O(n+m)的简单做法,一样快速
代码: int L[10001], R[10001]; class Solution { public: int ans = 0, minh = 1e9, maxh = -1; int maxArea(vector<int>& height) { ...
2026-02-27
1
55
题解 | #小红统计区间(hard)只离散化S[i]
这题大部分题解都是 和 放进去,其实只离散化 也是可以的. 每次查询目标值在离散化数组的排名,然后查询排名数量即可。 这样做的时间复杂度是 ,常数应该是上面写法的2倍左右,不过实测速度挺快名列前茅 代码如下: #include <iostream> #include <algori...
树状数组
离散化
2026-02-24
0
39
题解 | 01序列
容易发现只有左右两边都是0的时候才能修改为1,否则必定和左右两边任意一个1相邻,然后贪心地修改为1,只需要判断可以被执行的位置数量超过m没有即可 #include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) us...
2026-02-21
0
45
题解 | qcjj寄快递
N个点,如果直接走,就是dist(a,b)*2秒,或者缩放后走,走的消耗会变低,但缩放后要放大到最大,这2个操作也有自己的耗时,求所有点的最短耗时总和。容易发现每次都是从最大缩放计算,所以每个点都是独立的。可以列得耗时函数,其中k是用在缩放屏幕的时间,e是不缩放时候的走路时间(对于单个点来说是个常数...
2026-02-19
5
62
题解 | 小d和超级泡泡堂
由于炸弹可以直接把在同一个连通块杂草全清除,那么剩余不能被清除的就是不在同一个连通块的杂草,也就是被石头或边界包围着的杂草,也就是求我们所在连通块,尽可能去扩展,得到的杂草数量。在实现上可以用BFS,然后由于每个点至多入队一次,至多出队一次,可以手写队列缩小一下常数。 #include <io...
2026-02-18
0
39
题解 | 中位数之和
思考点1:求中位数需要选取子序列后排序思考点2:子序列可以是非连续的序列思考点3:既然如此,我们只需要考虑将原数组排序,因为无论怎么选,最终排序后的结果与原序列一致。思考点4:那说明我们只需要关心0和1的个数现在问题变成,长度为n,且有a个1,n-a个0的数组,计算长度为k的子序列中位数之和。假设前...
2026-02-13
1
64
题解 | 坐标计数
观察样例发现就是矩阵面积,打个表,发现1e5以内的坐标都可以通过简单的几次变化到,猜结论就是矩阵面积,于是直接输出。注意输出要用LL就是 #include <bits/stdc++.h> using namespace std; typedef long long ll; void s...
2026-02-12
0
52
首页
上一页
1
2
3
下一页
末页