
信息学奥赛一本通
_C9
咸鱼也要有咸鱼的样子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【信息学奥赛一本通】1204:爬楼梯(递归)
解题思路:这道题目类似于斐波那契数列的变型,直接看问题,是一个规模很大的问题,我们需要将大规模问题进行分治,就可以用递归求解。我们用sol(n)代表有n级台阶的时候的方法数是多少。我们很容易的发现递归的边界条件是当n等于0或者n等于1的时候方法只有一种。我们接下来分析递归的主体求sol(n),因为一次可以走一级或者两级,所以到达第n级台阶有两种方式,一种是从第n-1级台阶再走一级台阶到达第n级台阶,另一种是从第n-2级台阶一次走2级台阶到达第n级台阶,所以sol(n)就可以分解成sol(n-1)和...原创 2021-10-08 11:14:34 · 1723 阅读 · 0 评论 -
【信息学奥赛一本通】1206:放苹果(递归)
解题思路:这道题如果直接去解就很难去想,那么我们就可以尝试使用递归的方式将问题规模减小,将复杂的问题交给计算机去解决。首先,我们很容易的可以发现递归的边界,当只有一个盘子的时候就只有一种解法。如果没有苹果放那么也就只有一种情况然后是递归的主体,首先如果n>m也就是如果盘子的数量大于苹果的数量的时候,其实多出的几个盘子对题目的放法数量并没有什么影响,也就可以把问题看成把m个苹果放入n个盘子如果n<=m,会出现存在空盘子和所有盘子都放满两种情况,如果存在空盘子,也就是至少存在一个空盘..原创 2021-10-01 22:01:24 · 1339 阅读 · 0 评论 -
【信息学奥赛一本通】1323:【例6.5】活动选择(贪心)
解题思路:就是很经典的贪心问题,其实我们发现可以选择的活动的个数主要取决于活动的截止时间而非开始时间,所以我们只需要按照截止时间对这些活动进行排序,然后如果下一个活动的开始时间大于等于前面的截止时间就可以活动数量加一,并且更新截止时间,这样最后得到的解一定是最优解。下面附上ac代码#include <bits/stdc++.h>using namespace std;int n;struct Node{ int begin; int end;}a[10...原创 2021-09-10 21:31:15 · 739 阅读 · 0 评论 -
【信息学奥赛一本通】1322:【例6.4】拦截导弹问题(Noip1999)(贪心)
解题思路:第一颗导弹不管怎样肯定是占用第一个系统,以后再来的第二个导弹如果小于第一个导弹的高度那么就不需要增加系统,假设大于第一颗导弹的高度,那么现在就需要增加一个导弹系统,这时再来第三颗导弹高度都小于前两个导弹系统所能拦截的最大高度,根据贪心原则,我们要比较前两个系统所能拦截的高度,选择高度较小的那个系统,这样才能做到不浪费,这时候更新前面选择的导弹系统的最小值,以此类推枚举所有导弹就可以了下面附上ac代码#include<bits/stdc++.h>using namespa..原创 2021-09-09 22:26:12 · 1692 阅读 · 0 评论 -
【信息学奥赛一本通】1321:【例6.3】删数问题(Noip1994)(贪心)
解题思路:删数问题也是经典的贪心问题。解题思路肯定不是哪个大删哪个,需要从左到右比对这个序列,如果左边的数大于右边的数则删除,因为左边代表的高位,只有高位越小这个数才越小。需要注意的是删除完这个数后可能会出现一堆前导的0下面附上ac代码#include <bits/stdc++.h>using namespace std;int main(){ char s[245]; cin>>s; int n; cin>>n; ...原创 2021-09-03 17:12:33 · 1749 阅读 · 1 评论 -
【信息学奥赛一本通】1320:【例6.2】均分纸牌(Noip2002)(贪心)
解题思路:这道题目其实并不简单,但是非常经典。是刚开始接触贪心算法最常见的一道题目。题目默认是有解的情况,要不然处理起来更加麻烦 。我们先预处理数据,算出每堆纸牌与平均值的差,然后从头到尾遍历,如果这个差不等于零,把这个差移交下一步处理,同时步数加一最后输出步数就可以了下面附上ac代码#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring&g...原创 2021-09-01 17:38:23 · 607 阅读 · 0 评论 -
【信息学奥赛一本通】1319:【例6.1】排队接水
解题思路:把接水时间短的人放在前面接水,需要记录下每个人的标号,也就是结构体排序,值得注意的是等待时间的计算问题,每个人的等待时间是这个人前面所有人的接水时间的和下面附上ac代码#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <cmath>#include ...原创 2021-09-01 16:41:17 · 1125 阅读 · 0 评论