算法
毛毛爱掉毛
今天也要加油鸭~
展开
-
贪心算法——背包问题
背包问题与0-1背包问题类似,不同在于选择物品i装入的时候,可以选择装入一部分。贪心策略: 计算物品的单位价值,按照单位价值从大到小排序,优先装入单位价值大的。计蒜客——Home Work临近开学了,大家都忙着收拾行李准备返校,但 I_Love_C 却不为此担心! 因为他的心思全在暑假作业上:目前为止还未开动。暑假作业是很多张试卷,我们这些从试卷里爬出来的人都...原创 2017-12-05 20:28:08 · 1037 阅读 · 0 评论 -
计蒜客-求出现次数最多的字符
一个字符串中可能包含a~z中多个字符串,并且可能会有重复,如 String data ="abcdaaa",这道字符串出现次数醉倒的字母就是a,出现了4次。现在用户输入一个字符串,我们需要求出出现次数最多的字母,并且求出次数,如果存在字母中出现最多的次数不唯一,但所有出现次数最多的字母及次数都要打印出来。输入 输入是一行字符串,就是我们所需统计的字符串,例如我们输入 “abcabd”...原创 2017-09-16 12:31:59 · 805 阅读 · 0 评论 -
计蒜客-汽水瓶
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入格式...原创 2017-09-16 13:48:31 · 439 阅读 · 0 评论 -
计蒜客-局部求和
输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。输入格式 输入20个整数,输出格式 按输入顺序输出符合要求的数字,每行输出一个整数。样例输入 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21样例输出 4 6 8 9 10 12 14 ...原创 2017-09-16 14:22:06 · 1386 阅读 · 0 评论 -
计蒜客-英文金曲大赛
我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有 MM。 这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再...原创 2017-09-16 13:41:42 · 2299 阅读 · 0 评论 -
计蒜客-进制转换
输入一个十进制正整数,然后输出它所对应的八进制数。输入格式 输入一个十进制正整数n(1≤n≤106)。输出格式 输出n对应的八进制数,输出在一行。样例输入 10样例输出 12解题思路 这道题最重要的是明白十进制和八进制直接转换的规则。十进制转二进制方法是除二倒取余,十进制转八进制也类似,即除八倒取余。知道怎么转换之后代码就很...原创 2017-09-16 13:59:04 · 980 阅读 · 0 评论 -
计蒜客-判断字符串是否是手机号码
手机号码是一串数字,长度为11为,并且第一位必须是1,现在给出一个字符串,我们需要判断这个字符串是否符合手机格式输入 输入是一个字符串输出 若该字符串符合手机格式,输出1,否则输出0样例输入 12345612345样例输出 1代码如下#include <iostream>#include <string>usi...原创 2017-09-16 12:30:23 · 2489 阅读 · 1 评论 -
计蒜客-判断日期是否符合格式
我们知道一年有12个月,每个月最多有31天,年有平年和闰年之分,本题目要求如果输入一个日期,程序需要判断用户输入的日期是否正确。输入 用户输入是三个数字,分别表示年,月和日。 例如 2007 10 21 ,表示2007年10月21日,这个输入经过判断是正确的。又例如输入 1993 11 38 ,这个输入经过判断是错误的,因为日期不能超过31天。输出 程序的输出分为两种,1或...原创 2017-09-16 12:21:01 · 1798 阅读 · 3 评论 -
CCF-201312-1-出现次数最多的数
出现次数最多的数问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式 输出这n个次数中出现次数最多的数...原创 2017-09-16 11:46:49 · 427 阅读 · 0 评论 -
CCF-201403-1-相反数
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。样例输入 5 1 ...原创 2017-09-10 21:41:38 · 218 阅读 · 0 评论 -
CCF-201409-1-相邻数对
问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式 输出一个整数,表示值正好相差1的数对的个数。样例输入 6 10 2 6 3 7 8样例输出 3样例说明 值正好相差1的数对包括(2, 3), (6, 7), ...原创 2017-09-10 21:28:59 · 240 阅读 · 0 评论 -
CCF-201503-1-图像旋转
图像旋转问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输入的第一行包含两个整数n,m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋...原创 2017-09-10 21:03:34 · 205 阅读 · 0 评论 -
CCF-201412-1-门禁系统
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编...原创 2017-09-10 21:20:55 · 237 阅读 · 0 评论 -
CCF- 201509-1-数列分段
数列分段问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入 8 8 8 8 0 12 12 8 0样例...原创 2017-09-10 10:58:50 · 182 阅读 · 0 评论 -
CCF-201512-1-数位之和
数位之和问题描述 给定一个十进制整数n,输出n的各位数字之和。输入格式 输入一个整数n。输出格式 输出一个整数,表示答案。样例输入 20151220样例输出 13样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定 所有评测用例满足:0 ≤ n ≤ 1000000000。代...原创 2017-09-10 10:56:56 · 234 阅读 · 0 评论 -
CCF-201703-1-分蛋糕
分蛋糕问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1,a2, …,an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问...原创 2017-09-10 10:29:55 · 350 阅读 · 0 评论 -
CCF-201609-1-最大波动
最大波动问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天...原创 2017-09-10 10:06:58 · 272 阅读 · 1 评论 -
贪心算法——最优装载问题
有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为wi。最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。贪心策略: 重量最轻者优先装载。代码:#include <iostream>#include <algorithm>#include <vector>using namespace std;...原创 2017-12-05 19:36:03 · 2618 阅读 · 0 评论 -
贪心算法——活动安排问题
贪心策略: 最早结束的活动,优先安排。 把n个活动按照结束时间非减序排列。一.输入的活动按照结束时间的非减序#include <iostream>using namespace std;int a[100][100];int main(){ int n,i,j; cout<<"请输入活动的数目:" ; cin>&g...原创 2017-12-05 17:53:07 · 2150 阅读 · 0 评论 -
Java入门
最近在跟着慕课学java,很多东西看着很简单一看也都会,但是毕竟知识点比较多吧,比较零散一点,所以还是做了笔记。刚学完java入门一,整理了一下笔记,暂时先挂出来一点。1. Java中关键字有很多,关键字是区分大小写的。2. 主函数:public static void main(String[]args){}3. 标识符就是用于给java程序中变量、类等命名的符号...原创 2017-10-18 21:23:08 · 207 阅读 · 0 评论 -
计蒜客-内部收益率
在金融中,我们有时会用内部收益率IRR来评价项目的投资财务效益,它等于使得投资净现值 NPVNPVNPV 等于 000 的贴现率。换句话说,给定项目的期数 TTT、初始现金流 CF0CF_0CF0 和项目各期的现金流 CF1,CF2,⋯,CFT,IRRCF_1, CF_2,\cdots ,CF_T ,IRRCF1,CF2,⋯,CFT,IRR 是下面方程的解:N...原创 2017-10-07 14:51:52 · 703 阅读 · 0 评论 -
计蒜客-求第k小
给定n(1≤n≤1000000)个元素,求第k小数(1≤k≤n)。输入格式: 一组样例。第一行输入两个整数n和k。第二行输入n个不同的int范围内的数。输出格式: 输出一行,输出第k小数。样例输入5 21 5 3 2 4样例输出2 这是一个典型的线性时间选择问题,代码如下:#include <iostream>...原创 2017-10-07 14:45:15 · 2105 阅读 · 0 评论 -
计蒜客-快排算法
快速排序是一种经典的分治算法,其实也很简单,题目给出的算法有一点小错误而已,修正之后的代码如下,自行理解。#include <iostream>#define N 10 //定义常量N=10 using namespace std;int qsort(int p[], int start, int end){ int temp; int i =...原创 2017-10-07 14:33:09 · 483 阅读 · 0 评论 -
计蒜客-字符全排列
输入一个可能含有重复字符的字符串,打印出该字符串中所有字符的全排列,输出时以字典序顺序输出,用空格分隔。 输入数据是一个长度不超过10个字符的字符串,以逗号结尾。提示: 大量输出,请用printf代替cout,否则会超时。样例输入 abc,样例输出 abc acb bac bca cab cba解题思路: 这道题和有重复元素的全排列...原创 2017-10-07 14:23:06 · 1324 阅读 · 0 评论 -
计蒜客-有重复元素的排列问题
给定一串字典序不递减的字符串,可能含有相同元素。请借助递归设计算法求出该字符串的所有不同排列。请不要借助STL。输入格式: 第一行输入一个整数T(小于等于10),代表有T组测试样例。 接下来T行,每行给定一串字符串(长度小于等于9,且至少有3个字符相同)。输出格式: 每行输出一个字符串。按照字典序递增的顺序输出,每个排列占一行。 最后一行输出不同排列的个数...原创 2017-10-07 14:08:08 · 629 阅读 · 0 评论 -
计蒜客-棋盘覆盖
在一个(2^k)×(2^k)个放个组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一特殊棋盘。 在棋盘覆盖问题中,要用如下四种不同形态的L型骨牌覆盖一个给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。易知,在任何一个2^k * 2^k的批判覆盖中,用到的L型骨牌个数恰好为((4^k) -1) / 3。输出格式: 多组测...原创 2017-10-05 12:28:15 · 899 阅读 · 0 评论 -
递归实现全排列问题
最近在上算法课,学到递归和分治策略总觉得有些难以理解……怎么说呢我总觉得递归的代码很简单,但是真正在看代码想象递归过程的时候想着想着就想不通了,准确来说自己确实不知道递归到哪个环节了并且这一层递归结束后到底该返回到哪里去……哇真的感觉要笨死==算法作业做到第二题就被卡住了,不知道该怎么写……舍友告诉我说这是一个全排列问题,我看了看代码想象着这个递归过程却一次又一次的懵逼:(老师知道也...原创 2017-09-23 13:20:00 · 1197 阅读 · 0 评论 -
计蒜客-扫雷游戏
扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左...原创 2017-09-17 21:09:52 · 926 阅读 · 0 评论 -
计蒜客-单词排序
小红学会了很多英文单词,妈妈为了帮小红加强记忆,拿出纸、笔,把N个单词写在纸上的一行里,小红看了几秒钟后,将这张纸扣在桌子上。妈妈问小红:“你能否将这N个单词按照字典排列的顺序,从小到大写出来?”小红按照妈妈的要求写出了答案。现在请你编写程序帮助妈妈检查小红的答案是否正确。注意:所有单词都由小写字母组成,开头字母全都不相同,单词两两之间用一个空格分隔。输入格式 输入包含两行。第一行仅...原创 2017-09-16 14:56:36 · 2034 阅读 · 3 评论 -
计蒜客-易彰彪的一张表
易彰彪最近有点奇怪,一向爱打游戏他最近居然盯着一张全是大小写字母的表在看,好像在找什么东西。他说,这是他女神给他的一张表,他需要回答女神的问题——在忽略大小写(即大写字母和小写字母视为同一字母)的情况下,是否能在表中找到某一连续的字符串(第i行的尾部和第i+1行的头部视为相连)。但是英语不好的易彰彪一看到字母就头晕,聪明的你能帮他解决这个问题吗?输入格式 输入有多组测试数据。每组第...原创 2017-09-16 14:38:54 · 498 阅读 · 0 评论 -
CCF-201612-1-中间数
中间数问题描述 在一个整数序列a1,a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, a...原创 2017-09-10 09:32:46 · 378 阅读 · 0 评论 -
CCF-201604-1-折点计数
折点计数问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售...原创 2017-09-10 10:40:55 · 362 阅读 · 0 评论