算法题目
文章平均质量分 91
Taylor_29511
自由 拼搏 坚持
展开
-
220913_100620-华为全球校园AI算法赛事(推荐方向):广告-信息流跨域CTR预估
华为全球校园AI算法赛事(推荐方向):广告-信息流跨域CTR预估原创 2022-09-13 10:06:49 · 499 阅读 · 0 评论 -
2-最大乘积问题
题目要求:输入n个元素组成的序列s,你需要找出一个乘积最大的连续子序列,如果这个最大的乘积不是正数,英输出-1(无解)。1<=n<=18,-10<=Si<=10. 样例输入: 3 2 4 -3 5 2 5 -1 2 -1 样例输出: 820解决方法:暴力枚举法代码如下:#include<algorithm> //要用到sort函数(排序)#include<...原创 2018-01-24 15:33:52 · 323 阅读 · 0 评论 -
4-寻找比例三位数
/*问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。输入格式 无输入文件输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。答案:192 384 576219 438 657273 546 819327 654 981*/#inc...原创 2018-02-23 19:39:43 · 650 阅读 · 0 评论 -
5-大整数类
问题描述:A+B计算两个非负整数 A,B 的和。不过这一次有些特殊,A,B 可能会很大。输入格式第一行输入一个非负整数 A。第二行输入一个非负整数 B。A,B 的长度不大于 500。输出格式输出 A+B的值。不要有多余的前导零。样例输入1231234样例输出1357详细代码:[cpp] view plain copy#include <bits/stdc++.h> using na...转载 2018-02-24 11:08:56 · 272 阅读 · 0 评论 -
6-进制转换
问题描述:输入一个十进制数 N,将它转换成R 进制数输出。在 10≤R≤16的情况下,用'A'表示 10,用'B'表示11,用'C'表示12,用'D'表示13,用'E'表示14,用'F'表示15。输入格式输入包含两个整数 N(N≤10000)和 R(2≤R≤16)。注意,N有可能是负整数。输出格式输出一行,表示转换后的数。样例输入23 12样例输出1B代码详解:#include<bits/s...原创 2018-02-24 11:39:31 · 497 阅读 · 0 评论 -
7-新的回文数
问题描述:一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如121,2332都是回文数,13,456713,456713,4567 不是回文数。任意一个正整数,如果其不是回文数,将该数交换高低位以后和原数相加得到一个新的数,如果新数不是回文数,重复这个变换,直到得到一个回文数为止。例如,57变换后得到132(57+75),132得到363(132+231),363是一个回文数。曾...原创 2018-02-24 11:53:16 · 448 阅读 · 0 评论 -
8-重排数列
小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]..., A[N]}。牛博士给小易出了一个难题:对数列A进行重新排列,使数列A满足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍数。小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。 输入描述:输入的第一行为数列的个数t(1 ≤ t ≤ 10),接下来每两行描述一个数列A,第一行为数列长...原创 2018-02-24 13:50:51 · 329 阅读 · 0 评论 -
9-机器人的坐标
问题描述:蒜头君收到了一份礼物,是一个最新版的机器人。这个机器人有 44 种指令:forward x,前进 xx 米。back x,先向后转,然后前进 xx 米。left x,先向左转,然后前进 xx 米。right x,先向右转,然后前进 xx米。现在把机器人放在坐标轴原点,起始朝向为 xx轴正方向。经过一系列指令以后,你能告诉蒜头君机器人的坐标位置吗。坐标轴上一个单位长度表示 11米。输入格式...原创 2018-02-25 11:11:38 · 728 阅读 · 1 评论 -
11-欢乐斗牛
问题描述:hzf 最近迷上 QQ 游戏欢乐斗牛。斗牛的规则如下,游戏开始的时候,每位玩家发 5张扑克牌,每张牌都是 A-K 中的一张牌(1 表示 A,2−10表示对应的牌,11-J,12-Q,13-K)。每张牌都有一个点数,1−10分别对应其点数,11−13对应点数 10。牌型分为以下 5 种情况,牌型的优先级按照给定从上到下。四炸——5张牌中有 4张牌相同 ,优先级最高。五小牛——即五张牌点数都...原创 2018-02-27 14:46:09 · 898 阅读 · 0 评论 -
10-求表达式值得后四位
问题描述:给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值的最后四位。输入格式输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符'+'和乘法运算符'*',且没有括号,所有参与运算的数字均为0到2^{31}-1之间的整数。输入数据保证这一行只有 0~9、'+'、'*'这 12 种字符。(输入字符串长度不超过 600000)输出格式输出只有一行,包含一个整数,表示这个表达式...原创 2018-02-25 12:11:30 · 298 阅读 · 0 评论 -
12-四叶玫瑰数
问题描述:如果一个四位数,它的每个位上的4次幂之和等于它本身,那么我们称这个数字为一个四叶玫瑰数,现在,我们要求出所有的四叶玫瑰数。答案:1634 8208 9474代码解析:#include <iostream>#include <cmath>using namespace std;int main(){ int gewei,shiwei,baiwei,qia...原创 2018-02-27 14:56:31 · 3939 阅读 · 0 评论 -
1-最基本题目
//a+b的问题/*#include<stdio.h>int main(){int a, b;scanf("%d%d", &a, &b);printf("%d\n", a + b);return 0;}*///圆柱体的表面积/*#include<stdio.h>int main(){const double pi = 3.14;double r=0.0, h...原创 2017-10-16 12:15:26 · 231 阅读 · 0 评论 -
大牛给的ACM进阶建议
一位高手的建议:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程能力提高之后,主要时间是花在思考算法上,不是花在写程序与debug上。下面给个计划你练练:第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程...转载 2017-09-24 23:39:14 · 381 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第十题:乘积最大】
题目:给定N个整数A1, A2, … AN。请你从中选出K个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。即:0-((0-x) % 1000000009)【输入格式】第一行包含两个整数N和K。 以下N行每行一个整数Ai。...原创 2018-04-17 16:20:12 · 632 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第九题:全球变暖】
题目:你有一张某海域NxN像素的照片,”.”表示海洋、”#”表示陆地,如下所示:……. .##…. .##…. ….##. ..####. …###. …….其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被...原创 2018-04-17 16:17:02 · 1788 阅读 · 2 评论 -
第九届蓝桥杯【C/C++省赛B组】【第七题:螺旋折线】
题目:如图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y 对于40%的数据,-1000 <= X, Y <= 1000 对于70%的数据,-10...原创 2018-04-17 16:06:13 · 452 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第六题:递增三元组】
题目:给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 <= i, j, k <= N 2. Ai < Bj < Ck 【输入格式】 第一行包含一个整数N。第二行包含N个整数A1, A2, ... AN。第三行包含N个整数B1,...原创 2018-04-17 16:02:15 · 350 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第五题:快速排序】
题目:以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。注意:只填写划线部分缺少的代码,不要抄写已经存在的代码或符号。#include <stdio.h>int quick_select(int a[], int l, int r, int k) { int p = rand() %...原创 2018-04-16 23:33:03 · 250 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第四题:测试次数】
题目:x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔...原创 2018-04-16 23:27:24 · 435 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第三题:乘积尾零】
题目:如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 5722 3135 ...原创 2018-04-16 23:20:37 · 384 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第二题:明码】
题目:汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节这...原创 2018-04-16 23:08:26 · 174 阅读 · 0 评论 -
第九届蓝桥杯【C/C++省赛B组】【第一题:第几天】
题目:2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?答案:125解题思路: Windows下的日历打开,数一数。原创 2018-04-16 22:46:21 · 248 阅读 · 0 评论 -
13-不含四的数
问题描述:有些人很迷信数字,比如认为带4的数不吉利。某抽奖活动的奖券是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张?你提交的应该是一个整数。答案:52488代码解析:#include<iostream>using namespace std;int main(){ int gewei,sh...原创 2018-02-27 15:16:48 · 824 阅读 · 0 评论 -
30-控制输出(精度)
代码解析:C语言#include<stdio.h>#include<math.h>int main(){ int T; int a,b,c; scanf("%d",&T); while(T--) { scanf("%d%d%d",&a,&b,&c); printf("%原创 2018-03-18 12:40:39 · 213 阅读 · 0 评论 -
31-输出格式(精度)
代码解析:C语言#include <cstdio>#include <cmath>int main(){ const double e = exp(1); int a, b, c, n; scanf("%d", &n); while (n--) { scanf("%d %d %d", &a, &b, &...原创 2018-03-18 12:54:52 · 236 阅读 · 0 评论 -
常用算法(Algorithm)的用法介绍
算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。²<algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。²<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的...转载 2018-02-24 21:41:15 · 798 阅读 · 0 评论 -
14-生日蜡烛的数目
问题描述:某君从某年开始每年都要举办一次生日party,并且每次都要吹灭与年龄相同根数的蜡烛。现在算起来,他一共吹灭了236根蜡烛。那么,他几岁开始过生日party的。从常识来讲一个人的年龄不可能超过200岁。注意:你提交的应该是一个整数。答案:26代码解析:#include<iostream>using namespace std;int main(){ int begin...原创 2018-03-11 14:20:26 · 605 阅读 · 0 评论 -
29-餐桌上的7(队列)
问题描述:有一种酒桌游戏叫做“敲7”,规则是从一个人开始,说出任意数字,其他人会顺序往后报,如果一个数字包含 7,或者是 7 的倍数,那么需要敲打杯子或盘子,不能说出。现在 n 个人围坐在一个圆桌周围,他们编号从 1 到 n 顺时针排列。从某一人开始报出一个数字,其他人会按照顺时针方向顺序往后报(加1),如果某个人的数字包含7,或者是7的倍数,那么他将退出游戏,下一个人继续接着报,直到剩一个人为止...原创 2018-03-14 23:04:00 · 683 阅读 · 0 评论 -
28-报数(队列)
问题描述:有 n 个小朋友做游戏,他们的编号分别是1。他们按照编号从小到大依次顺时针围成一个圆圈,从第一个小朋友开始从 1 报数,依次按照顺时针方向报数,报 m 的人会离开队伍,然后下一个小朋友会继续从 1 开始报数,直到只剩一个小朋友为止。输入格式第一行输入两个整数 n,m输出格式输出最后一个小朋友的编号,占一行。样例输入10 5样例输出3代码解析:#include <iostream&g...原创 2018-03-14 22:54:54 · 1692 阅读 · 0 评论 -
27-网页跳转(栈)
问题描述:蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下:打开页面:在地址栏中输入网址,并跳转到网址对应的页面;回退:返回到上一次访问的页面;前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后所在页面的网址。输入格式第一行输入一个整数 (,表示蒜头...原创 2018-03-14 22:48:39 · 633 阅读 · 0 评论 -
26-水果售卖统计(set和map)
问题描述:蒜头君经营着一个不大的水果店。他认为生存之道就是经营最受顾客欢迎的水果。现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了。蒜头君告诉你每一笔销售记录的水果名称,产地和销售的数量,请你帮他生成明细表。输入格式第一行是一个整数 (,表示蒜头君有 N 次成功的交易。其后有 N 行数据,每行表示一次交易,由水果名称(小写字母组成,长度不超过 1),水果产地(小写字母组...原创 2018-03-14 22:40:35 · 724 阅读 · 0 评论 -
25-重复出现的数字(map)
问题描述:给定 nn 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。输入格式第一行输入一个整数 n(1 \le n \le 100000)n(1≤n≤100000),接下来一行输入 nn 个 int 范围内的整数。输出格式输出出现次数最多的数和出现的次数,中间用一个空格隔开,如果有多个重复出现的数,输出值最大的那个。样例输入151 1 2 3 4样例输出11 2样例输...原创 2018-03-14 22:31:39 · 391 阅读 · 0 评论 -
24-英语单词(set)
问题描述:蒜头君快要考托福了,这几天,蒜头君每天早上都起来记英语单词。花椰妹时不时地来考一考蒜头君:花椰妹会询问蒜头君一个单词,如果蒜头君背过这个单词,蒜头君会告诉花椰妹这个单词的意思,不然蒜头君会跟花椰妹说还没有背过。单词是由连续的大写或者小写字母组成。注意单词中字母大小写是等价的。比如You和you是一个单词。输入格式首先输入一个 ( 表示事件数。接下来 n 行,每行表示一个事件。每个事件输入...原创 2018-03-14 22:23:04 · 418 阅读 · 0 评论 -
23-计算集合的并集(set)
问题描述:给你两个集合,计算其并集,即 {A}+{B}注:{A}+{B} 中不允许出现重复元素,但是 {A} 与 {B} 之间可能存在相同元素。输入格式输入数据分为三行,第一行有两个数字 n,m(0<n,m≤10000),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间用一个空格隔开。输出格式输出一行数据,表示合...原创 2018-03-14 21:53:35 · 783 阅读 · 0 评论 -
22-嵌套表达式
问题描述:蒜头君正在学习使用 sin 函数。蒜头君突发奇想,在草稿纸上写了一个函数:f(n)=sin(1+sin(2+sin(3+...sin(n)...))g(n)=(...(((f(1)+n)f(2)+n−1)f(3)+n−2)...)f(n)+1有时候 n 太大了,蒜头君写不出来,你能帮蒜头君写出完整的表达式吗?输入格式输入一个正整数(。输出格式输入完整的 ( 的 sin 表达式。样例输入1...原创 2018-03-14 21:35:38 · 319 阅读 · 0 评论 -
【C++ STL】算法 <algorithm>中各种算法解析
一,巡防算法 for_each(容器起始地址,容器结束地址,要执行的方法)[html] view plain copy#include <iostream> #include <algorithm> #include <vector> using namespace std; template<class T> str...转载 2018-02-24 21:42:26 · 600 阅读 · 0 评论 -
C++编程必备神器STL——常用算法
C++标准函数库中,为我们提供了一个algorithm库,里面包含了十分多的常用算法,下面我来做一个小小的总结非修改序列操作adjacent_find 查找两个相邻(Adjacent)的等价(Identical)元素all_of (C++11) 检测在给定范围中是否所有元素都满足给定的条件any_of (C++11) 检测在给定范围中是否存在元素满足给定条件count 返回值等价...转载 2018-02-24 21:44:18 · 160 阅读 · 0 评论 -
32-多项式系数
代码解析:#include<bits/stdc++.h>using namespace std;const int N = 1e5+3;const int inf = 0x3f3f3f;int a[N],b[N],c[N];int main(){ int m,n;//最高次数 cin>>n>>m; for(int i = 0; i &l...原创 2018-03-18 13:11:18 · 405 阅读 · 0 评论 -
程序员算法时间空间复杂度速查表
声明:文章内容非本人原创,原文链接 程序员所有的算法速查表。回到顶部数据结构操作 回到顶部数组排序算法 回到顶部图操作 回到顶部堆操作 ...原创 2018-03-25 13:14:24 · 325 阅读 · 0 评论 -
21-解码
问题描述:蒜头君自己发明了一种字符串的编码方式,对于只含有大小写字母的字符串,可以用数字来表示括号里面的串连续出现的次数(数字有可能超过一位数)。比如A(abcd)2等价于Aabcdabcd。特别地,如果数字前面没有括号,表示紧贴数字的前面的 一个字母 出现的次数。比如abc2表示abcc。为了降低解码的难度,蒜头君保证括号 不会嵌套。蒜头君把这个编码方式告诉了花椰妹,然后蒜头君在纸条上写下了要对...原创 2018-03-11 21:55:51 · 182 阅读 · 0 评论