
数据结构与算法
文章平均质量分 69
小新Kelvin
平实
展开
-
问题B出租车---《算法笔记》之贪心
问题 B: 出租车费[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公原创 2020-11-11 21:32:49 · 405 阅读 · 0 评论 -
问题A:看电视---《算法笔记》之贪心算法
问题 A: 看电视[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述暑假到了,小明终于可以开心的看电视了。但是小明喜欢的节目太多了,他希望尽量多的看到完整的节目。现在他把他喜欢的电视节目的转播时间表给你,你能帮他合理安排吗?输入输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示小明喜欢的节目的总数。接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个节目的开始和结束时间,为了简化问题,每个时间都原创 2020-11-11 20:52:30 · 1350 阅读 · 0 评论 -
哈夫曼树构造原理及方法
哈夫曼树(最优二叉树)百度百科:https://baike.baidu.com/item/%E5%93%88%E5%A4%AB%E6%9B%BC%E6%A0%91/2305769?fr=aladdin一. 目的:找出存放一串字符所需的最少的二进制编码二. 构造方法:首先统计出每种字符出现的频率!(也可以是概率)//权值 例如:频率表 A:60, B:45, C:13 D:69 E:14 F:5 G:3第一步:找出字符中最小的两个,小的在左边,大的在右边,转载 2020-11-02 10:46:45 · 2126 阅读 · 0 评论 -
问题 A: 找x--《算法笔记》
问题 A: 找x[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出对于每组输入,请输出结果。样例输入 Copy41 2 3 43样例输出 Copy2#include<iostream>int main(){原创 2020-10-29 11:04:54 · 227 阅读 · 0 评论 -
问题 C: 神奇的口袋--《算法笔记》
问题 C: 神奇的口袋[命题人 : 外部导入]时间限制 : 1.000 sec 内存限制 : 32 MB题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n &l原创 2020-10-21 16:21:17 · 998 阅读 · 1 评论 -
问题 B: 数列--《算法笔记》
题目描述编写一个求斐波那契数列的递归函数,输入n 值,使用该递归函数,输出如下图形(参见样例)。输入输入第一行为样例数m,接下来有m行每行一个整数n,n不超过10。输出对应每个样例输出要求的图形(参见样例格式)。这其实就是一个图形输出加斐波那契数列,只要搞明白双循环和递归的运用就可以了。#include<iostream>#include<cstring>int f(int a){ if(a==1){ return 0; }else if(a==2){原创 2020-10-21 15:19:13 · 164 阅读 · 0 评论 -
问题 A: 吃糖果--《算法笔记》
题目描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N=4,则名名可以第1原创 2020-10-21 10:27:32 · 662 阅读 · 0 评论 -
问题 D: String Subtraction (20)--《算法笔记》
题目描述Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1 - S2for any given strings. However, it might not be that simple to do it fast.输入Each in原创 2020-10-20 17:58:38 · 227 阅读 · 0 评论 -
问题 C: Be Unique (20)--《算法笔记》
题目描述Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1, 104]. The first one who bets on a unique number wins. For example, if there are 7 p原创 2020-10-20 17:13:11 · 290 阅读 · 0 评论 -
CodeUp100000582--问题 A: 谁是你的潜在朋友
题目描述“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会 并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。输入每个案例原创 2020-10-18 16:24:46 · 277 阅读 · 0 评论 -
Codeup100000581--问题 I: 排名
题目描述今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 < N < 1000 )、考题数M ( 0 < M < = 10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、原创 2020-10-18 15:53:16 · 553 阅读 · 0 评论 -
Codeup:100000581--问题 H: 整数奇偶排序
题目描述输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求:1.先输出其中的奇数,并按从大到小排列;2.然后输出其中的偶数,并按从小到大排列。输入任意排序的10个整数(0~100),彼此以空格分隔。输出可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔。样例输入 Copy0 56 19 81 59 48 35 90 83 7517 86 71 51 30 1 9 36 14 16样例输出 Copy83 81 75 59 35 19 0 48 56 9原创 2020-10-18 15:02:51 · 458 阅读 · 0 评论 -
Codeup:100000581--问题 G: 中位数
题目描述中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数).给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)输入该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1<=N<=10000.接着N行为N个数据的输入,N=0时结束输入输出输出中位数,每一组测试数据输出一行样例输入 Copy14681550117072547935996346570原创 2020-10-18 12:26:10 · 172 阅读 · 0 评论 -
问题 F: 小白鼠排队--Codeup100000581
题目描述N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。输入多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。注意:白原创 2020-10-18 11:56:01 · 323 阅读 · 0 评论 -
Codeup100000581--问题 E: Problem B
题目描述请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。输入共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。输出从大到小排列的一行整数,每个整数后跟一个空格,最后换行。样例输入 Copy415 8 -2 631 24 18 71-3 -9 27 1317 21 38 69样例输出 Copy159 145 144 135 81 60 44 32 28 27原创 2020-10-18 11:37:05 · 216 阅读 · 0 评论