Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

牛客网 KY68.子串计算
题目简介:给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述:1输入包含多行,每行一个字符串。 输出描述:1对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 输入110101 输出123450 201 21 310 2101 2 思路:利用map的特性,能自动按key进行排序,使用循环将子串全部存进map即可。 代码如下:12345678910111213141516171819202122232425262728293031323334353637#include <iostream>#include <...
牛客网 KY52.位操作练习
题目简介:给出两个不大于65535的非负整数,判断其中一个的16位二进制表示形式,是否能由另一个的16位二进制表示形式经过循环左移若干位而得到。 循环左移和普通左移的区别在于:最左边的那一位经过循环左移一位后就会被移到最右边去。比如: 1011 0000 0000 0001 经过循环左移一位后,变成 0110 0000 0000 0011, 若是循环左移2位,则变成 1100 0000 0000 0110 输入描述:1每行有两个不大于65535的非负整数 输出描述:1对于每一行的两个整数,输出一行,内容为YES或NO 输入12342 49 1845057 491587 12 输出1234...
牛客网 KY41.放苹果
题目简介:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入描述:1每行均包含二个整数M和N,以空格分开。1<=M,N<=10。 输出描述:1对输入的每组数据M和N,用一行输出相应的K。 输入1217 3 输出18 思路:n久没做动态规划的题了,又快忘光了… 首先dp[i][j]代表i个苹果装在j个盘子的方法数 我们可以这样想,装在j个盘子里有两种不同的装法: 至少有一个盘子是空的,那么我们把这个空的盘子扔掉,也不影响苹果怎么放,所以dp[i][j] = dp[i][j - 1](假设...
PAT 1067.试密码
题目简介:当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。 输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入。 输出格式:对用户的每个输入,如果是正确的密码且尝试次数不超过 N,则在一行中输出 Welcome in,并结束程序;如果是错误的,则在一...
PAT 1065.单身狗
题目简介:“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。 输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。 输出格式:首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空...
PAT 1060.爱丁顿数
题目简介:英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。 现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。 输入格式:输入第一行给出一个正整数 N (≤105),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。 输出格式:在一行中给出 N 天的爱丁顿数。 输入样例:12106 7 6 9 3 10 8 2 7 8 输出样例:16 思路:首先将数组从大到小进行排序,由于题目要求 E 天骑车超过 E 英里,所以排序后的nums[0...
PAT 1054.求平均值
题目简介:本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。 输入格式:输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。 输出格式:对每个非法输入,在一行中输出 ERROR: X is not a legal number,其中 X 是输入。最后在一行中输出结果:The average of K numbers is Y,其中 K 是合法输入的个数,Y 是它们的平...
PAT 1049.数列的片段和
题目简介:给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 10 个片段。 给定正整数数列,求出全部片段包含的所有的数之和。如本例中 10 个片段总和是 0.1 + 0.3 + 0.6 + 1.0 + 0.2 + 0.5 + 0.9 + 0.3 + 0.7 + 0.4 = 5.0。 输...
PAT 1045.快速排序
题目简介:著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定 $N = 5$, 排列是1、3、2、4、5。则: 1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元; 尽管 2 的右边元素都比它大,但其左边的 3 比它大,所以它不能是主元; 类似原因,4 和 5 都可能是主元。 因此,有 3 个元素可能是主元。 输...
PAT 1040.有几个PAT
题目简介:字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含 P、A、T 三种字母。 输出格式:在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。 输入样例:1APPAPT 输出样例:12 思路:从前往后遍历,PA的数量为当前A之前P的数量,PAT的数量为当前T之前PA的数量...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili