死于算法,生于算法
死于算法,生于算法
全部文章
分类
基础算法(10)
未归档(1)
题解(20)
归档
标签
去牛客网
登录
/
注册
死于算法,生于算法的博客
全部文章
(共31篇)
合并果子
首先我们肯定知道,要想体力最小,那么一定要可重量小的先合并,因此我们肯定要对重量进行排序。那么我们是不是一直要保持这样一个有序的呢? 是的,但是我们合并出新的果子之后,是直接插入原序列中吗?显然太复杂,因此我们想到了用另外一个容器保存。现在我们解决的基本问题,接着是怎么存储。我们知道要使用最小的,所...
2021-11-05
0
588
吐泡泡
主要是要注意是多组输入,其次就是要小心越界 我这里是手写的栈 #include<iostream> #include<queue> using namespace std; const int N=110; string str; int main() { while...
2021-11-03
2
526
Rails
输入格式可能会有点复杂 这个翻译过来大概就是依次输入1~n,然后给你一组出栈方式,判断是否合法 #include<iostream> #include<stack> using namespace std; const int N=1e5+10; int n; int a[N...
2021-11-03
1
521
[CQOI2010]扑克牌
分析题干,又是在不确定中确定答案,所以又是二分查找+检验 这里涉及的一细节就是check函数用来检验当前的套数是否合理,所以需要满足2个条件 第一个就是使用到的joker牌不能超过m, 其次就是使用的joker牌在每套中不能出现两次,根据鸽巢原理(假设有10个鸽笼,飞来11只鸽子,那么一定至少有一...
2021-10-30
0
392
[NOIP2012]借教室
分析题干,要找出是否有订单无法满足,就又可以用二分查找来进行检验,就是假设你已经知道了答案,答案为x,现在就是要接近这个x.然后是先输入n和m,表示有n天,m个订单,接着输入n个数来表示那天可以借的教室的数量,然后输入m行表示对应订单的借dj个教室从sj到tj天. 对于订单来说我们可以设置结构体来存...
2021-10-28
0
414
二分查找
二分查找有两组写法(这里我就写一组了),每组有2个算法,最后所求的意义也不同 找出第一个>=x的第一个位置 #include<iostream> using namespace std; const int N=10010; int a[N]; int main() { int ...
2021-10-26
0
406
大吉大利,今晚吃鸡
本题题干有点狗,我也是看了题解才知道的,它说直至文件末尾,表明有多重测试数据,所以需要写循环语句直至没有输入 大体思路和汉诺塔一样,可能不一样的就是柱子的跳跃问题。我这里表示的是前i个盘子从a到b再从b到c,其次就是注意答案的数据大小 代码 #include<iostream> usin...
2021-10-18
0
473
FBI树
本题已经说明了从中间分开,看子串。遇到这种首先就想到树形结构,紧接着就想到要递归,然后怎么帝国呢?通过递归,返回当前串的子串的信息,如果左右两个子串是相同类型的,那么当前串的类型一定也是这个类型,反之如果不同,那么该串类型为F #include<iostream> using names...
2021-10-18
0
328
归并排序
归并排序的算法思想是分治法,与快速排序不同,快速排序讲究的是先把整体排个大概,再处理子区间,而归并排序讲究的是先将子区间排好,再进行合并,也就是说我们需要再创建一个新的数组来保存两边有序的子区间的结果,然后将这个数组赋值给原数组 代码 #include<iostream> using n...
双指针
2021-10-18
0
352
快速排序
快速排序的想法是分治算法,其思想核心是以某一个数为基准,然后进行排序,排序的结果就是使某一点的左边全部小于该基准,右边全部大于该基准,在进行交换时一定要注意那两个下标要更新 代码 #include<iostream> #include<algorithm> using nam...
C++
双指针
2021-10-17
0
487
首页
上一页
1
2
3
4
下一页
末页