- 博客(16)
- 收藏
- 关注
原创 非标准题目解法:导弹拦截
拦截导弹2某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹。输入第一行是一个整数N(不超过15),表示导弹数。第二行包含N个整数,为导弹依次飞来的高度(雷达给出的高度数据是
2021-12-04 18:24:55 307
原创 队列——笔记理解
数据结构,就是一种数据存储、组织的方式之前,我们应该是知道了两种不同的数据结构链表和数组链表支持快速插入和删除,不支持随机访问数组不支持快速插入和删除,但支持随机访问这一次,又会接触到一个新的数据结构——队列队列操作受限,只能从前端进行删除,末端进行插入类似于……去食堂排队打饭主要操作一共有 5种push 入队pop 出队empty 判断队列是否为空size 统计队列元素个数front ...
2021-11-21 06:33:24 212
原创 动态数组——笔记理解
之前,我们已经学过了数组与链表。但是,有没有一种数据结构,它的长度是可以根据我的元素数量进行相对应的变化的?欸,你别说,还真有我们其实之前就学习过有着类似性质的类型叫做 string很熟悉吧?我们说 string是一个变量类型,但其实它本质上就是一个字符数组string只允许访问下标 0 ~ size() - 1,而这个 size()是动态变化的有时候想开一个数组,但是不知道开多大的大小合适,因为数组的大小可能会视情况而变动那么这时候,便会需要用到动态数组C++中,有...
2021-11-15 22:58:32 997
原创 链表——笔记理解
众所周知,在一个数组中插入或是删除一个元素,都会需要移动后面所有的元素,导致代码的运行效率极低但是!链表就可以很好的解决这一问题就这么想吧,链表是一辆火车,链表的表头就是火车头,链表的每一个元素就是火车的一节节车厢,车厢里装的东西就是元素的数据域,每个车厢之间的卡子就是元素的指针不会吧?不会有人没有见过火车吧?不会吧不会吧?总之,链表就是元素之间前后依赖,串联而成的啊,对。链表的元素是不能随机访问的,就像你要从一个车厢到远处的另一个车厢,当然不是跨越一道任意门走过去,你没有这东西,所以,
2021-11-14 05:48:49 1236
原创 迷宫走法——非标准答案
一个 m * n的迷宫,求从左上角到右下角有几种走法每次只能向右或是向下#include <iostream>using namespace stdint main(){ int m,n; cin >> m >> n; long long g[m][n]; for(int i = 0;i < m;i++){ for(int j = 0;j < n;j++){ g[i][j] = 0;//初始化为0 } } for(i
2021-10-31 11:07:26 213
原创 程序设计:完数
如果一个数恰好等于它的因子之和,这个数就称为完数例如 6的因子为 1 2 3,而1 + 2 + 3 = 6,因此 6 是完数编程序找出 N之内(包括 N )的所有完数输入格式输入一个 N ,N小于1000输出格式输出小于 N的所有完数,每个完数占一行样例输入28样例输出628输入只有一个而输出却有多个,所以我们使用数组来进行存储同时声明变量来当存储下标当然,框架还是得有,顺手把 n也给输入了吧#include <iostr...
2021-10-24 21:50:34 536
原创 程序设计:猴子打架
有 n只猴子,每只猴子都有一个战斗力,其他的猴子要看它们打架,买其中一队胜利,为了使得比赛更加有悬念,主办方决定让两队的猴子战斗力总值相差最小输入格式整数 nn个整数代表猴子的战斗力输出格式两队猴子战斗力最小的差单纯的分析:为了节省时间,使用动态规划解决此问题把它和背包问题结合起来,猴子的战斗力与宝石的价值一致,同时还代表着宝石的重量其余的与背包问题几乎一致,总共有两个背包,每个背包的容量就设为所有猴子战斗力总和 / 2结合之前的 0 1背包问题解法宝石...
2021-10-24 21:11:32 206
原创 NOIP2015金币——解题思路
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天,点击安装到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。请计算在前K天里,骑士—共获得了多少金币。输入格式输入只有1行,包含一个正整数K,表示发放金币的天数。输出格式输出只有1行,包含一个正整数,即骑士收到的金币数。数据
2021-10-20 22:08:41 452
原创 关于宝石价值:空间压缩
详细的题目以及解题思路……详情请见之前的那一篇之前所用的的空间复杂度开得太大了,需要进行优化比如那个二维数组,就可以压缩成一维数组像这样:int w[1001],c[1001],f[1001];其他的具体思路不变,输入也是照旧最关键的循环嵌套部分只需要进行轻微的修改for(i = 1;i <= n;i++){ for(j = m;j >= 0;j--){ }}这一次从从前往后变为从后往前,进行判断。if(j >= ...
2021-10-17 10:04:17 112
原创 程序设计:电梯升降
题目:某城市最高的建筑只有—部电梯。一份电梯升降任务表由N个正整数组成,这些数字表示电梯按照给定的顺序停留的楼层号。电梯升—层花费6秒钟,降—层花费4秒钟,并且每次停留花费5秒钟。对于每一份任务表,你要计算出完成全部升降任务所花费的总时间。一开始,电梯在第0层,并且最终完成任务时电梯不必一定返回到0层。输入格式有多组测试样例。每组测试样例包含—个正整娄N,接下来是N个正整数在输入中,所有的数字都小于100当N=0时,表示输入结束。输出格式对于每—组测试样例,在—行中输出总时间
2021-10-16 21:30:07 1263
原创 程序设计:电话消费
题目:猿小弟的手机每天消费一元,每消费 K元就可以获赠 1 元,一开始猿小弟有 M元,问最多可以用几天?输入格式输入包括多个测试实例。每个测试实例包括 2个整数M , K( 2 < K< M < 1000)。M = 0,K = 0表示输入结束。输出格式对于每个测试实例输出一个整数,表示 M元可用的天数。样例输入2 24 30 0样例输出35还是打框架,不可或缺的步骤,顺便申明一下变量#include ...
2021-10-15 21:53:40 373
原创 关于C++——随机数
说起随机数,不知道各位最先想起的是不是 Python 的 random ?Python的随机数效果达成方式非常简单且简洁,因为自带函数库一、调用二、使用结束了!实际演示:import randoma = random.randint(0,114514)print(a)可能不用懂 Python ,只要懂一点英文就可以读懂加上学以致用还不快打开 IDLE试一下?——咳,忘记标题了那么!在C++中,该怎么生成随机数呢和 Python相同的一点是:都需...
2021-10-12 22:19:49 171
原创 宝石价值:题目解析
题目简述:输入:m,nm代表背包的容量n代表宝石的总数接下来 m 组数据,每组数据有两个值,分别为宝石的重量和大小求:最多能拿的宝石价值为多少样例输入8 32 35 45 5样例输出8宝石的价值与大小均用数组来存储,方便后面的计算,总价值也使用数组来存打框架加上申明数组#include <iostream>using namespace std; int w[200],c[200],f[200][200]; int main(){..
2021-10-11 22:35:33 356 1
原创 程序设计:互质数
题目:给出n个正整数,任取两个数,有多少种选法使得选出的两个数互质。输入格式第—行是—个正整数n (n ≤ 600)。第二行是n个整数,相邻两个整数之间用单个空格隔开,整数在 [1 , 1000] 范围内。输出格式—个整数,即互质数组合的个数。样例输入73 5 7 9 11 13 15样例输出17国际惯例,打框架:#include <iostream>using namespace std;int main(){ retur
2021-10-07 22:26:32 2664 1
原创 数字游戏:解题思路
题目:科小维拿到了一个不超过p的非负整数n,他对这个数进行了m次操作,每一次操作可能是以下3种之—:+ k,表示对目前的数加上k 然后再对p取模- k,表示对目前的数减去k然后再对p 取模,如果结果为负数,转换成同余的非负数* k ,表示对目前的数乘上k然后再对p取模输入格式输入第一行,包含三个整数n , m , p(O≤n<p≤10^9,1≤m≤10 ^5)。接下来 m 行,每行是一个运算符和一个正整数k(1<k≤10^9),表示这—次的操作,两者之间以—个空格分隔。
2021-10-05 17:13:04 727 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人