计蒜客
文章平均质量分 54
Lilyan_blog
这个作者很懒,什么都没留下…
展开
-
计蒜客——函数规律
下面我将描述一个简单的函数:f(8)=2f(16)=1f(32)=0f(2048)=3读入一个x(1≤x≤101000),请你找出f(x)的值。输入包括一行,仅一个数字x。输出包括一行,仅一个数字f(x)。提示:f(0)=1, f(1)=0, f(2)=0, f(3)=0, f(4)=0, f(5)=0, f(6)=1, f(7)=0, f(8)=2, f(9)...原创 2018-07-23 18:20:27 · 257 阅读 · 0 评论 -
数据结构——图基础练习题
主要记录在学习图的基础所在练习题目的题集:1.关系查询:a.题目描述:b.分析:其实这一道题目是让我们查询一个无向图的两个顶点是否有边存在,因为a把b当做朋友,b也要把a当做朋友,所以我们可以把a,b看做图中的顶点,在无向图中a如果和b构成边则他们互相就是朋友了,这是必然的。接下来我们要处理的是输入的数据是字符串,那么我们可以想到用hash或者map将字符串转成唯一的int整型来对应...原创 2019-04-17 22:11:07 · 2179 阅读 · 0 评论 -
DP经典问题LIS——最长上升子序列
1.问题描述:2.算法分析:因为是初学,只学习了O(N^2)的算法复杂度。最后,我们将dp数组的最大值是最长上升子序列的长度。推荐一篇文章包含了O(nlogn)的LIS算法。LIS推荐3.源代码:#include <iostream>#include <cstring>using namespace std;int dp[101], a[101],...原创 2019-02-20 20:06:01 · 318 阅读 · 0 评论 -
杨辉三角——DP入门找规律
1.问题描述:2.找规律:我们可以发现如果用一个二维数组表示杨辉三角,如下11 11 2 11 3 3 11 4 6 4 1我们可以发现每一行都有对应的n个数,而除了第一行外,每一行的第一个数和最后一个数都为一,其中间的数可以为上一个数 + 左斜上方的数字。比如f[1][1] = 1,f[2][1] = 1,f[2][2] = 1.f[3][1] = 1,f[3][2] ...原创 2019-02-12 20:17:31 · 878 阅读 · 0 评论 -
搜索进阶——数独问题
1.问题描述:2.问题分析:这道题目是比较经典的搜索问题,当你学会怎么解八皇后问题的时候,就慢慢的进入了搜索之道,这一道题目比较难的点就是33的格子内填充的数不能重复。行和列不重复很简单,怎么判定重复与否,我们将数独棋盘分为9个33的棋盘并且将其编号:可以发现规律每一个编号的33的格子为当前的x,yx / 3 * 3 + y / 3我们可以在主函数里通过设置判断行,列,33格子是...原创 2019-02-03 16:43:31 · 1583 阅读 · 1 评论 -
汉诺塔递归问题进阶
1.问题描述2.算法分析相信大家对汉诺塔经典的递归问题都有所了解,给你ABC三个柱子,n个盘子放在起始柱子A上,盘子的排列从上至下依次有小到大排列。小的盘子必须放在大的盘子上面。我们每次递归前都将n-1个盘子借助C柱子移动至B柱子,然后我们再将最大的盘子移动至C柱子即可。可以定义一个汉诺塔函数:void hanoi(int A, int B, int C, int n){ if ...原创 2018-12-22 09:10:18 · 553 阅读 · 2 评论 -
计蒜客——机器人
1.题目描述:2.算法分析:首先我们知道机器人初始状态是在坐标原点,方向是朝右边的。我们也知道在坐标轴上,在排除斜线移动一共就上下左右四种方向移动。我们看题目可以发现一共有四个指令,forward前进指的是在当前方向前进多少单位长度back调头再前进是指当前方向相反方向前进多少个单位长度。left向左是指当前方向逆时针旋转90度后的方向前进 多少个单位长度right...原创 2018-11-28 14:51:29 · 797 阅读 · 0 评论 -
计蒜客题库中的矩阵翻转(C++)
晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。输入格式输入第一行包括由空格分开的整数 M,N,T(0 < N,M < 200)M,N,T(0<N,M<200),TT 的值为 00 或 11。其中 MM 和 NN 分别表示待处理矩阵的行数与列数,TT 为 00 时表示左右翻转...原创 2018-06-24 14:38:52 · 767 阅读 · 1 评论 -
计蒜客——节假日
1.问题描述日历有阳历(公历)和阴历(农历)之分。每年都有法定节假日,这些分成三类——双休、阳历节假日、阴历节假日。1.双休1)周六和周日2天2.阳历节假日1)元旦:阳历每年1月1日,放假1天2)劳动节:阳历每年5月1日,放假1天3)国庆节:阳历每年10月1日,放假3天4)圣诞节:阳历每年 12 月 25 日,放假1天3.阴历节假日1)春节:阴历每年1月1日,放假3天2)清...原创 2018-11-23 18:13:27 · 1185 阅读 · 2 评论 -
计蒜客——浮点数排序
1.题目描述:2.算法分析:首先肯定是定义一个double类型数组存放数据,然后的一个问题是怎么判断浮点数最近的整数的差,使用round函数即可floor : 不大于自变量的最大整数ceil :不小于自变量的最大整数round:四舍五入到最邻近的整数floor(),ceil() 需包含头文件math函数库具体可以查C++帮助文档然后我们使用C++的sort函数进行排序,...原创 2018-11-27 15:06:28 · 2482 阅读 · 0 评论 -
蓝桥杯——四平方和
1.问题描述:2.算法分析:这道题目简单粗暴,枚举暴力算法,但是你不能死死的写四个for循环去判断,适当的剪枝会使得你的程序跑起来更快,并且需要注意不要你输出全部的组合,只要输出按照字典序排序输出。什么是字典序?这么说吧在这里比较的就是你的ASCALL值把,0的比1小,字母a比A大,所以你枚举只需要输出最小的能满足条件的a,b,c,d就要跳出所有循环了。如果不是只求出字典序最小的组合,...原创 2018-11-29 20:59:10 · 591 阅读 · 0 评论 -
最大子阵
1.题目描述:2.算法分析:其实这道题目最好用的是DP(动态规划)+ 前缀和 组合起来的算法,时间复杂度为O(103),单独用DP为O(104),使用枚举发现还行在这个数据范围内的时间复杂度为O(10^6),但是能效率高还是用效率高的算法。a.使用枚举算法其实就是枚举矩阵的上界下界左界右届,在每个不同的边界围成的矩阵来计算元素和,即可。b.DP…待更新c.Dp+前缀和3.源...原创 2018-11-28 21:15:37 · 167 阅读 · 0 评论 -
堆积木(动态数组vector)
1.问题描述:2.算法分析:这道题目开始看了好久都没看明白,其实题目大概意思是这样。就是有一排容器,编号为 1,2,3\cdots n1,2,3⋯n,初始时编号为 i的容器有 编号为i的积木。然后有m次操作,每次操作会把容器 aa 的积木都移动到 容器 bb。比如,你输入2 2,说明初始时有两个容器,每个容器中有两个元素。理解样例输入:样例1:第一次12,把第二堆的积木放在...原创 2018-11-03 10:31:33 · 1893 阅读 · 0 评论 -
高级数据结构——优先队列求n个最小和
1.优先队列的简介:想必我们之前了解过了队列这个数据结构。利用队列的先进先出的性质,可以解决很多实际问题,但对于一些特殊的情况,队列是无法解决的。例如,我们在医院里,重症急诊患者肯定不能像普通患者那样依次排队就诊。这时候我们还是使用队列的先进先出的原则,那重症患者不就凉凉了,所以我们要使用一种更高级的数据结构——优先队列,先访问优先级高的元素。优先队列的操作与普通队列差不多。但是相比于队列...原创 2019-04-23 21:54:24 · 466 阅读 · 0 评论