牛客网模拟笔试
xiaxzhou
这个作者很懒,什么都没留下…
展开
-
【算法题】黑化的牛牛
使用set/hash_set去除相同的密码#include <iostream>#include <string>#include <numeric>#include <hash_set>using namespace std;#define debug_int func(string str){ if (str.size()==1) { return 1;原创 2017-06-19 20:27:00 · 688 阅读 · 0 评论 -
【算法题】创造新世界
众所周知计算机代码底层计算都是0和1的计算,牛牛知道这点之后就想使用0和1创造一个新世界!牛牛现在手里有n个0和m个1,给出牛牛可以创造的x种物品,每种物品都由一个01串表示。牛牛想知道当前手中的0和1可以最多创造出多少种物品。 输入描述: 输入数据包括x+1行: 第一行包括三个整数x(2 ≤ x ≤ 20),n(0 ≤ n ≤ 500),m(0 ≤ m ≤ 500),以空格分隔原创 2017-06-20 15:19:05 · 660 阅读 · 0 评论 -
【算法题】平衡数
牛牛在研究他自己独创的平衡数,平衡数的定义是:将一个数分成左右两部分,分别成为两个新的数。 左右部分必须满足以下两点: 1,左边和右边至少存在一位。 2,左边的数每一位相乘如果等于右边的数每一位相乘,则这个数称为平衡数。 例如:1221这个数,分成12和21的话,1*2=2*1,则称1221为平衡数,再例如:1236这个数,可以分成123和1*2*3=6,所以1236也是平衡数。而123原创 2017-06-20 15:06:24 · 2543 阅读 · 0 评论 -
【算法题】组装三角形
牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。 输入描述: 首先输入一个正整数N,接下来的一行共有N个正整数表示每个木棒的长度。 N ≤ 50, 木棒的长度 ≤ 10000. 输出描述: 输出一个整数表示方法数。 输入例子原创 2017-06-20 15:02:41 · 1924 阅读 · 0 评论 -
【算法题】找整除
牛牛想在[a, b]区间内找到一些数满足可以被一个整数c整除,现在你需要帮助牛牛统计区间内一共有多少个这样的数满足条件? 输入描述: 首先输入两个整数a,b,(-5*10^8 ≤ a ≤ b ≤ 5*10^8) 接着是一个正整数c(1 <= c <= 1000) 输出描述: 输出一个整数表示个数。 输入例子: 0 14 5 输出例子: 3除法可以用减法实现#i原创 2017-06-20 14:59:58 · 1221 阅读 · 0 评论 -
【算法题】最长公共子串
牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。 输入描述: 输入为两行字符串(可能包含空格),长度均小于等于50. 输出描述: 输出为一个整数,表示最长公共连续子串的长度。 输入例子: abcde abgde 输出例子: 2动态规划:使用dp[i][j]dp[i][j]表示以原创 2017-06-20 14:56:50 · 589 阅读 · 0 评论 -
【算法题】丑陋的字符串
分析:先去除字符串最两边的?,不产生丑陋值对于‘A’+奇数个‘?’+‘B’、‘B’+奇数个‘?’+‘A’两种情况,最少有一个丑陋值对于‘A’+偶数个‘?’+‘A’、‘B’+偶数个‘?’+‘B’两种情况,最少有一个丑陋值剩下的情况可以不产生丑陋值可以使用贪心策略,先去除最两边?值;然后遍历字符串,遇到‘?’则置为与前一字符不同。最后统计丑陋值#include <iostream>#inclu原创 2017-06-17 10:23:44 · 718 阅读 · 0 评论 -
【算法题】随机的机器人
随机的机器人分析:概率期望问题感觉没法下手,不知道动态规划还能这么玩dp[i][j][k]dp[i][j][k]表示走了ii步后,纸带上有jj个红色格子时,机器人位于第kk个红色格子上的概率 dp[0][1][1]=1dp[0][1][1] = 1 则dp[i][j][k]的概率会转移到dp[i+1][][]的两个位置上:机器人位于最左边红格子: dp[i][j][1]/2dp[i][j][1原创 2017-06-17 18:36:56 · 1558 阅读 · 0 评论 -
【算法题】庆祝61
牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,希望你能帮帮他。 如样例所示: 当圆圈队伍按照100,98,103,105顺时针排列的时候最大身高差为5,其他排列不会得到更优的解原创 2017-06-19 20:59:21 · 1170 阅读 · 0 评论 -
【算法题】逃离农场
状态转移方程:使用dp[i][j][t]表示前ii头奶牛中选取j头的和除以nn余为tt的方案数则方案分为两种:选取了第ii头奶牛和没有选取第ii头奶牛两个子问题 没有选择第ii头奶牛的方案数: dp[i−1][j][t]dp[i-1][j][t] 选择第ii头奶牛的方案数: dp[i−1][j−1][((t+n)−j)dp[i-1][j-1][((t+n)-j)%n]dp[原创 2017-06-17 15:49:06 · 2220 阅读 · 0 评论