死于算法,生于算法
死于算法,生于算法
全部文章
分类
基础算法(10)
未归档(1)
题解(20)
归档
标签
去牛客网
登录
/
注册
死于算法,生于算法的博客
全部文章
(共31篇)
简单的数据结构
这个题就是使用双端队列就ok了... 其实可以手写个双端队列,貌似有点困难 主要注意的就是题目只要输入两个数,而且前一个数压根没有用 #include<iostream> #include<queue> #include<algorithm> using name...
2021-11-11
0
421
重返小学
这个题比表达式求值既高级又低级.高级在需要算阶乘,低级在没有括号问题 在求阶乘的时候,如果我们直接自己写函数,那么就会诱发超时或者超空间.因此有位大佬运用预处理的方式成功AC了,向她致敬 #include<iostream> #include<cmath> using nam...
2021-11-11
9
1110
高精度除法
ABCDEFGHIJK➗S 我们在计算时会列竖式,我们会先从最高位开始算起,然后算之前余数*10+当前位之后,再除以s,之后一直都是这样 #include<iostream> #include<vector> #include<algorithm> using n...
2021-11-10
0
436
高精度乘法(高精度*低精度)
乘法和加法类似 我们就是把低精度看成一个整体,然后和高精度的每一位去相乘我们保留的只是相乘后的个位其余的都当成是进位了,因此与加法相比我们最后是要循环进位 #include<iostream> #include<algorithm> #include<vector>...
2021-11-10
0
348
高精度减法
题干 输入两个正整数,结果可能为负 就是模拟列竖式,在这里我们可以简化的就是小数减大数,如果是这样我们可以先加入负号然后再进行大数减小数 #include<iostream> #include<vector> using namespace std; string sa,**...
2021-11-10
0
395
高精度加法
高精度加减法就是模拟人类的列竖式 因为有进位所以为了方便我们倒序,这里就可以使用vector来进行存储了 #include<iostream> #include<vector> using namespace std; vector<int> a,b; strin...
2021-11-10
0
467
第k小
最开始我的想法是把所有数据都保存在优先队列里,然后每当弹出时就用其他容器接住,然后再放回优先队列中,结果果不其然超时了。 于是看了题解,觉得有道理,可以用大根堆(less)来保存,先将所有数据保存在堆中,如果堆的大小大于k,那么也就是说后面的数据压根不可能成为答案,所以就出队。然后接着进行选择,如果...
2021-11-08
1
511
优先队列
优先队列手动实现 int cnt,q[10010]; void push(int x) { q[++cnt]=x; int i=cnt,j=i/2; while(j!=0&&q[i]<q[j]) { swap(q[i],q[j]); ...
2021-11-07
0
402
look up
这个题一看类似于欢动窗口,只是滑动窗口是从左向右的,这个是从右向左的,就是使用双端队列时改个方向就好了.思路大致相同.从右向左遍历,如果当前队列里没有元素,则说明当前处理的牛是最高的,它就要为0.存储答案可以用stack来存储 #include<iostream> #include<...
滑动窗口
2021-11-07
2
506
滑动窗口
假设当前我们要找的是区间最大值,我们可以看到:当新进入的元素大于当前区间最大值,那么它就有可能成为这段区间的最大值也就是要把当前最大值杀死。如果后续进入的是小于当前最大值的那么在最大值出去之后,它就可能成为最大值.也就是说我们发现这个东西具有单调性,所以我们就可以运用单调队列的思维来思考,我们需要使...
C++
滑动窗口
2021-11-07
0
359
首页
上一页
1
2
3
4
下一页
末页