
蓝桥杯
han_hhh
这个作者很懒,什么都没留下…
展开
-
算法训练 数组逆序排列
将数组元素个数分奇数个和偶数个两种情况讨论#include<iostream>using namespace std;void swap(int &x1,int &x2){ int temp=x1; x1=x2; x2=temp;}int main(){ int a[22]; int i=0; while(1){ int value;...原创 2020-03-23 13:56:02 · 558 阅读 · 0 评论 -
算法训练 石子游戏
贪心法:将所有石子堆中石子个数最多的两个堆一起,然后再重排序,再堆一起,直到只有一堆为止为了逆序排序和两堆堆一起后删掉一堆,用了vector#include<iostream>#include<algorithm>using namespace std;int main(){ int n; long long sum=0; cin>&...原创 2020-03-23 13:08:27 · 516 阅读 · 0 评论 -
算法训练 最大获利
注意数据类型思路:输入a,b,c三个数组,然后再来一个数组d,d[i][j]=min(a[i][j],b[i][j])*c[i][j]这个式子的原因是1个服务员对1个顾客,没有服务员或者没有客户这笔钱都挣不到,所以取二者的最小值,再乘平均值又因为每个餐厅一天只选择一个盈利最大的时间段营业,再找出每一行中的最大值,加起来#include<iostream>u...原创 2020-03-23 12:07:14 · 333 阅读 · 0 评论 -
算法训练 乘法次数
这个题其实我对奇数的处理还有点迷糊,不知道为啥奇数就是+2#include<iostream>using namespace std;int main(){ int m,n; cin>>m; for(int i=0;i<m;i++){ cin>>n; int count=0; while(n!=1){ if(n%2==...原创 2020-03-22 23:37:46 · 425 阅读 · 0 评论 -
算法训练 数字游戏
这是我第一次见algorithm中的全排列函数:next_permutation(a,a+n) 才疏学浅·这个题目中n较小,用暴力法 ,用next_permutation(a,a+n)函数列出所有的1~n全排列,对于每一个全排列,按照问题描述中给的过程来进行模拟计算,最后判断是否等于sum#include<iostream>#include<algorithm>...原创 2020-03-22 22:10:42 · 2184 阅读 · 1 评论 -
算法训练 多阶乘计算
理解了题意以后直接写m=2时计算并输出n(1)!+n(2)!+......+n(k)!的各个位上的数字之和。:这句话的意思是对很多个n的阶乘加起来的结果 的各个位 求和得到的和例:5 1 25的一阶乘=5*4*3*2*1=120,1+2=3,输出3碰到阶乘一定要考虑数据范围用不用longlong#include<iostream>#include<cs...原创 2020-03-22 16:35:47 · 750 阅读 · 0 评论 -
算法训练 找零钱
贪心法 先统计一下每种面额的有多少张。然后开始找钱,50的只能找25的,找一张少一张25的,如果50的比25的多,必然找钱失败再找100的,有两种找法:一张50一张25 或三张25的,如果这两种不够,则找钱失败#include<iostream>#include<cstring>using namespace std;int main()...原创 2020-03-22 16:01:07 · 753 阅读 · 0 评论 -
算法训练 第五次作业:字符串排序
冒泡排序#include<iostream>using namespace std;int main(){ string s; cin>>s; for(int i=0;i<s.length();i++){ for(int j=i;j<s.length();j++){ if(s[i]>s[j]){ char c=s[i]...原创 2020-03-22 15:01:06 · 295 阅读 · 0 评论 -
算法训练 K好数
这道题,我先看到它是动态规划,然后就去复习了一下动态规划,再回来看这道题依然不清楚,懒得思考我又去搜题解了。然后我看到一个博主题解前边写的话……我自己做!自己做还不行嘛然后就想出来了……我以后也要认认真真做题!!真是太浮躁了dp[i][j]表示第i为j的个数状态转换方程#include<iostream>#include<cmath>u...原创 2020-02-24 17:57:41 · 252 阅读 · 0 评论 -
算法训练 区间k大数查询【priority_queue】
试题 算法训练 区间k大数查询提交此题资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个...原创 2020-02-22 13:24:49 · 258 阅读 · 0 评论 -
基础练习 十六进制转十进制
刚开始用的暴力一步一步转换,int型,可能超范围了,输入输出如下FFFFFFF0 -16FFFFFFF1 -15FFFFFFF2 -14……FFFFFFFF -1刚开始还想着他怎么自己给我算出来了FFFFFFFF的补码表示-1,后来想应该是超范围了好久不做进制转换竟然就不会了#include<iostream>#include...原创 2020-02-16 20:08:16 · 276 阅读 · 0 评论 -
基础练习 01字串
即输出0~31的二进制,不足五位的补前导零#include<iostream>#include<stack>using namespace std;int main(){ for(int i=0;i<=31;i++){ if(i==0){ printf("00000"); } else{ stack<int> a;...原创 2020-02-16 19:19:30 · 139 阅读 · 0 评论 -
基础练习 字母图形
把每一行的输出分成了两半,一半是ZYX……B,另一半是A……Z,第一次做的时候只考虑了后一半的个数,前一般没有控制输出的个数,造成了下图错误#include<iostream>using namespace std;int main(){ int n,m; string s="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; cin>>...原创 2020-02-16 19:08:40 · 118 阅读 · 0 评论 -
基础练习 杨辉三角形
我可能是在做一波水题练手感。。。。#include<iostream>#include<cstring> using namespace std;int main(){ int n; scanf("%d",&n); printf("1\n"); int up[35]; int down[35]; memset(up,0,sizeof(up...原创 2020-02-16 12:15:40 · 128 阅读 · 0 评论 -
基础练习 特殊回文数
哎这道题真是。。。我刚开始把题里边的输入一个正整数n误看成了这个要输出的五位数或者六位数每一位都是正整数,然后就大费周折的把有位数是0的给排除掉了最后还给错了!!!!认真看题我的思路,把结果分成六位数和五位数,五位数一定比六位数小,所以先输出五位数。判断的时候,只看三位,如果第一位加第二位加第三位加第二位加第三位结果为n,则可以组成一个五位数;如果第一位加第二位加第三位加第一位加第...原创 2020-02-16 11:50:46 · 181 阅读 · 0 评论 -
2018-03:乘积尾零
标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 9899148...原创 2019-03-22 08:08:30 · 179 阅读 · 0 评论 -
2016-03:方格填数
方格填数如下的10个格子(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?1580先用dfs填上所有的空,再判断这种情况是否符合。递归的程序如果自己看不懂,就用手算模拟一下。#include<iostream>#include<cmath>...原创 2019-03-21 22:30:55 · 121 阅读 · 0 评论 -
2016.02:生日蜡烛
生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include<iostream>using namespace std;i...原创 2019-03-20 20:05:26 · 98 阅读 · 0 评论 -
2016-01:网友年龄
网友年龄某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”请你计算:网友的年龄一共有多少种可能情况?提示:30岁就是其中一种可能哦.请填写表示可能情况的种数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include<iostream>us...原创 2019-03-20 19:47:51 · 140 阅读 · 0 评论 -
算法训练 审美课【map】
算法训练 审美课 时间限制:1.0s 内存限制:256.0MB问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术...原创 2019-03-11 21:15:00 · 337 阅读 · 3 评论 -
基础练习 阶乘计算
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了...原创 2018-09-18 20:38:10 · 300 阅读 · 0 评论 -
基础练习 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进...原创 2018-10-03 17:31:29 · 724 阅读 · 5 评论 -
基础练习 Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩...原创 2018-10-03 18:09:06 · 160 阅读 · 0 评论 -
基础练习 报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero,...原创 2018-10-04 19:16:22 · 349 阅读 · 0 评论 -
基础练习 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 31 2 3...原创 2018-10-04 21:49:36 · 387 阅读 · 0 评论 -
基础练习 龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数...原创 2018-10-04 22:26:19 · 124 阅读 · 0 评论 -
基础练习 芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为...原创 2018-10-05 23:07:13 · 1337 阅读 · 0 评论 -
基础练习 FJ的字符串
问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入...原创 2018-10-05 23:24:44 · 994 阅读 · 0 评论 -
基础练习 数的读法
问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉...原创 2018-10-13 23:08:51 · 250 阅读 · 0 评论 -
基础练习 Sine之舞
观察输出An的输出:先输出sin(,后边的数字从1到n,再输出加减号,注意n的后边没有加减号。最后输出n个)Sn的输出:先输出n-1个(,再输出An+,后边的数字从n到1,再输出),细节问题再注意注意#include <iostream>#include<cstdlib>#include<cstring>using namespace...原创 2018-10-08 17:55:40 · 227 阅读 · 0 评论 -
基础练习 字符串对比
用合适的字符串函数会简化过程与思路#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int main(void){ char s1[11],s2[11]; scanf("%s%s",s1,s...原创 2018-10-08 22:48:46 · 680 阅读 · 0 评论 -
基础练习 矩形面积交
基础练习 矩形面积交 时间限制:1.0s 内存限制:512.0MB 锦囊2公共部分为两个矩形左边界较大值到右边界较小值,从下边界较大值到上边界较小值。问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 ...原创 2018-11-01 21:22:49 · 682 阅读 · 0 评论 -
基础练习 矩阵乘法
基础练习 矩阵乘法 时间限制:1.0s 内存限制:512.0MB 锦囊1二维数组,循环。锦囊2使用二维数组保存矩阵,乘法使用新的数组保存中间结果。问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(...原创 2018-11-06 20:24:07 · 390 阅读 · 0 评论 -
基础练习 时间转换
基础练习 时间转换 时间限制:1.0s 内存限制:512.0MB 锦囊1取余。锦囊2将原数按除法和取余运算分离出每个值,然后再输出。问题描述 给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它...原创 2018-11-06 20:37:42 · 201 阅读 · 0 评论 -
算法训练 素因子去重
素因子:先令x为最小质数2,①:如果x=n,则分解完成,②:若n!=x,且n能被x整除,n=n/x,③:若不能除尽,x++,再从头循环 去重:是他的素因数就置为1,否则为0最后将为1的乘起来 #include <iostream>#include<cstring>using namespace std;int main()...原创 2019-02-08 21:13:49 · 727 阅读 · 0 评论 -
算法训练 P0505
一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!=1*2*3*4*5=120,因此5!最右边的那个非0的数...原创 2019-02-08 21:43:28 · 380 阅读 · 0 评论 -
算法训练 最大最小公倍数
算法训练 最大最小公倍数 时间限制:1.0s 内存限制:256.0MB问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 <= N <= 106。http...原创 2019-03-14 12:40:34 · 279 阅读 · 0 评论 -
蓝桥杯 入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再...原创 2018-09-12 17:33:24 · 104 阅读 · 0 评论