- 博客(71)
- 收藏
- 关注
转载 A1100.Mars Numbers
//打表进制转换//10进制转为13进制,只不过13进制的输出方式与常规形式不同,这里采用的是火星文。输入的数据最大只到169,//也就是说对应的13进制最多只有两位,所以不用使用数组存储每个转化后进制位,直接模拟即可////13进制的火星文转化为10进制,首先获取其字符串的长度。如果其字符串的长度len>4说明//火星文有两位,从左到右代表13进制的高位和低位。故令s1...
2019-02-13 16:46:00
139
转载 A1075.PAT Judge
题意输入k个程序的每个程序的满分分数,再输入m条用户提交的记录。按要求进行分数的排序最后输出。是一道结构体的复杂排序思路分析首先明确本题的输出要求:编译失败的提交分数为-1。只有至少成功提交过一次程序(没有编译失败),的用户才会被排序。可以通过在结构体中设置一个bool isshown标志实现,当输入的grade != -1时,则isshown设置为true。要求输出得失每...
2019-02-11 19:32:00
143
转载 A1040.Longest Symmetric String
题意找出一个序列中最长的对称子序列长度思路分析暴力枚举对称子序列的两个头尾,i,j。然后判断这两个字符之间的字符串能否构成对称子序列,若能则更新最大的子序列长度。最大输出最大的子序列长度注意点:输入不能使用cin,scanf,因为输入的字符串中有空白字符(空格),无法得到正确的输入也不能使用c++的getline(cin,s),否则会出现超时。参考代码#include...
2019-02-10 15:02:00
171
转载 A1088.Rational Arithmetic
题意模拟分数的四则运算思路分析模拟,在输出过程中,若分子>分母,需要分离出整数部分与分数部分,并且如果项为负数需要带上()#include <bits/stdc++.h>using namespace std;typedef long long ll;struct fraction{ ll up; //分子 ll down; ...
2019-02-08 22:10:00
143
转载 A1096.Consecutive Factors
//题意:求一个数的最大的连续因数个数,例如: 8064 = 2*3*4*6*7*8//- 最大的连续因子个数为3个:{2,3,4},{6,7,8}。//- 如果存在相同个数的连续子序列,输出较小的那个。 //思路分析:如果输入n为素数,那么因数只可能为自己,因为题目说了不包括1。故第一行输出1,第二行输出n。 //如果一个数为合数,则该数的因数的最大上限为sqrt(n)。/...
2019-02-08 16:13:00
135
转载 A1117.Eddington Number
题意爱丁顿喜欢骑车,并且记录下自己n天的每天的骑行路程,定义了一个“爱丁顿数"E,为满足刚好有E天骑行路程超过E的最大整数。思路分析此题不应使用Hash[]做。对数组从大到小排序,而后枚举天数e从1到n,当a[e] <= e时,ans = e-1即为最大的e。ans需要初始化为n。参考代码:#include <bits/stdc++.h>using n...
2019-02-04 18:05:00
169
转载 A1153.Decode Registration Card of PAT
题意:输入准考证号,考试分数。然后输入查询命令,对每个命令按照要求模拟输出。思路分析:命令为1 _:表示查询考_级的所有记录,按照成绩从大到小排名,成绩相同则按照准考证号的字典序从小到大排序。于是得到第一个sost的cmp函数为:bool cmp(const record &a,const record &b) { if(a.grade != b....
2019-02-03 15:33:00
93
转载 A1137.Final Grading
题意输入考生的ID,G_P,G_M,G_F;按照一定的要求筛选出不符合要求的学生,并对符合要求的考生信息进行排序。思路分析因为输入考生的G_P,G_M,G_F是分块进行的,所以可以开一个map<string,record> mp存储考生id到结构体record的映射。输入完学生id后,使用mp.find(id)可以找到对应id的value。注意不要使用mp[id],遍历...
2019-02-03 15:31:00
137
转载 A1073.Scientific Notation
题意:就是给出一个科学计数法的字符串,要求输出表示的整数思路分析:首先考虑数的正负号,如果字符串第一个字符s[0]是'-',则应先输出'-',否则原样输出。之后获取指数的值,在此之前需要先取得'E'的下标index,而后从index+2向后枚举字符串,并将字符串转为10进制,即为指数exp。1.如果s[index+1]='-'即指数为负数,说明小数点需要向左移,故而先计算前导0的...
2019-01-30 18:03:00
152
转载 A1148.Werewolf - Simple Version
题意已知 N 名玩家中有 2 ⼈扮演狼⼈⻆⾊,有 2 ⼈说的不是实话,有狼⼈撒谎但并不是所有狼⼈都在撒谎。要求你找出扮演狼⼈⻆⾊的是哪⼏号玩家,如果有解,在⼀⾏中按递增顺序输出 2 个狼⼈的编号;如果解不唯⼀,则输出最⼩序列解;若⽆解则输出 No Solution思路分析开数组v[]表示每一个选手的原陈诉(即输入),a[]表示假设每个选手是狼还是人,a[i] = 1表示i号选手...
2019-01-30 18:02:00
189
转载 A1140.Look-and-say Sequence
题意刚开始做这道题真是不好理解讲的什么鬼,直接举例子吧。当D = 1时。第一项:1;第二项:因为第一项有1个1,所以为:11第三项:因为第二项有2个1,所以为:12第四项:因为第三项有1个1,1个2,所以为:11,21第五项:因为第四项有2个1(注意要求连续,不是3个),1个2,1个1,所以为:122111。思路分析使用string s作为每一次变换后的字符串,初...
2019-01-30 17:47:00
102
转载 A1077.Kuchiguse
题意:找出n个字符串的最长公共后缀思路分析在输入字符串的过程中,求得前一个字符串的长度len1,求得当前字符串的长度len2,而后分别从两个字符串的末尾向前枚举比较,并且记录后缀的长度,就这样两两比较,直到输入完毕。这样最终就获得了最长公共后缀长度index。 获得了最长公共后缀长度index后,设最后一个字符串的长度为len,则从len-index处开始向后枚举所有的字符即可。...
2019-01-28 17:05:00
139
转载 A1061.Dating
题意输入4个字符串,输出的日期为第一个字符串和第二个字符串中第一个相等的大写字母,输出的小时为第一个字符串和第二个字符串中第二个相等的大写字母,输出的分钟为第三个字符串和第四个字符串中第一个相等的英文字母下标。思路输出day:因为要根据大写字母输出相应的日期,所以创建一个日期Hash[]映射方便输出。将字符串1和字符串2从下标0开始两两比较,直到找到了第一个相同的大写字母。输出...
2019-01-27 15:30:00
115
转载 A1031.Hello World for U
题意输入一串字符串,将字符串按照U型打印出来。要求是U形两边的高尽可能的高并且相等思路分析要求的U形:左高为n1,右高n2,中宽n3。n1+n2+n3-2 = n(n为字符串长度),n 1 =n 3 =max { k | k≤n 2 for all 3≤n 2 ≤N }。进过分析得出n1,n3三等分(n+2)取整最大,即n1 = (n+2)/3。U形...
2019-01-26 16:24:00
88
转载 A1009.Product of Polynomials
题意模仿多项式相乘思路这道题与PAT A1002多项式的类型类似,也是用一个P[]存储指数到系数的映射关系,p[4]代表指数为4的项的系数,不过难点在于如何模拟乘法运算。首先先存储第一个多项式,也就是先存储第一次输入,而后在输入第二个多项式的时候,做边输入边处理的操作:每输入一个项的指数和系数,就枚举之前所有的p[],发现有p[i]!=0,说明存在项。即把指数与i相加,系数与p[i...
2019-01-24 19:09:00
1190
转载 A1002.A+B for Polynomials
题意:模拟两个多项式相加的过程思路用P[maxn]表示每一个指数项的系数,默认为0,p[1]表示指数为1的项的系数值,p[4]表示指数为4的项的系数值边输入边处理,每次输入一对指数e,系数c,则对应p[e] += c;连续输入两个多项式最后枚举指数0到maxn,如果对应指数的系数不等于0,则count++,count代表相加后的多项式项数。按题目要求输出,注意当count...
2019-01-24 14:27:00
134
转载 A1042.Shuffling Machine
题意现在你手上有54张按顺序排好的扑克牌,分别是:{ s1,s2,s3,...,s13,H1, H2, ..., H13,C1, C2, ..., C13,D1, D2, ..., D13,J1, J2 },给定洗牌的次数k,洗牌要求的顺序,按照要求的顺序对你手上的54张扑克牌进行洗牌。现在举一个例子来模拟洗牌,假设目前有5张扑克牌{S3, H5, C1, D13, J2},并且给...
2019-01-24 14:25:00
220
转载 快速排序(基于算法导论思想)的C语言实现
快速排序(算法导论版)#include <bits/stdc++.h>using namespace std;void swap(int &a,int &b){ int temp = a; a = b; b = temp;}int parttion(int a[],int l,int r){ int x = a[r...
2018-12-25 16:11:00
486
转载 选择排序,插入排序,插入排序二分优化模板
#include <bits/stdc++.h>using namespace std;int a[11] = {10,9,8,6,3,7,2,1,1,4,5};void selectSort(int a[],int n){ //选择排序 int min,index; for(int i = 0;i < n;i++){ ...
2018-12-25 16:09:00
103
转载 codeforce 158B (贪心)
传送门:http://codeforces.com/problemset/problem/158/B题意分析:就是给很多队人,每一队人有不同的人数,用一辆出租车将他们全部送走。题目的要求是求出最小的出租车的载人次数,因为一辆出租车一次只能载4个人,所以要找出最优的方案来解决这个问题,显而易见是个贪心问题。具体思路:碰到贪心问题,先不...
2018-10-18 23:27:00
136
转载 DP动态规划-背包问题
1.01背包问题具体例子:有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。例如: - n = 4 - (w,v) = {(2,3),(1,2),(3,4),(2,2)} - W = 5DP思想:求出状态转移方程,也就是求出递推式。首先将问题一般化:解决此问题需...
2018-08-28 23:56:00
184
转载 动态规划-(背包问题)
1.01背包问题具体例子:有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。例如:n = 4(w,v) = {(2,3),(1,2),(3,4),(2,2)}W = 5DP思想:求出状态转移方程,也就是求出递推式。首先将问题一般化:解决此问题需要2个一维数组,和1个二维数组:方法1:w[i]:表示第i个物品...
2018-08-17 15:05:00
197
转载 Uva572(DFS+联通集)
题目地址https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=838&page=show_problem&problem=513题目分析就是搜索一个二维数组里面的'@'联通集,并求联通集的个数,做法是:用二维数组存储输入的字符,然后找dfs()的第...
2018-06-13 23:28:00
113
转载 Uva10129(DFS搜索+联通集)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=838&problem=1070&mosmsg=Submission+received+with+ID+21459508题目分析:n个单词形...
2018-06-11 21:02:00
130
转载 Uva1103
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=838&page=show_problem&problem=3544分析:这道题本质就是DFS求连通块,但是这道题并不单纯,涉及到:输入格式的进制转化,16进制转化为二进制存储求...
2018-06-05 21:23:00
289
转载 Uva839
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=838&page=show_problem&problem=780题意:可以将数据的输入看成一个按先序遍历建树的过程,写一个建树的函数build(),并且在该函数中完成输入操作,本题中...
2018-06-04 17:27:00
182
转载 Uva12504
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3948题意:题意很简单,就是输入两个字符串,字符串包含一系列键值,然后比较这两个字符串,按题目要求进行输出即可.分析:首先还是要弄清楚解决这道题需要哪些...
2018-05-22 17:42:00
210
转载 Uva230
题目地址: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=166题意:就是输入一系列书本名和作者名,然后输入命令模拟借书和还书,再输出归还的书的摆放位置。要求有两点:需要对归还的书做特殊排序处理:作者名相同,则书...
2018-05-19 00:16:00
102
转载 无法从静态上下文中引用非静态 变量 this
今天做一个JAVA作业的时候,遇到了一个错误:无法从静态上下文中引用非静态 变量 this,错误原因是我把一个正方形的类写在了测试类的里面,然后又在静态main方法中中使用了RegularPolygon b = new RegularPolygon(6,4);。可以有以下两种改正形式:把正方形类,写在测试类的外面,并且只能有一个public公共类(这时是测试类)把正方形类加一个s...
2018-05-16 16:17:00
540
转载 Uva1593
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4468题意分析:输入一连串的文本,行中包含有空格。要求对每行输入进行对齐。解题思路:因为输入可能包含空格,要完整读取一行需要使用getline(),并且配...
2018-05-15 19:17:00
125
转载 Uva1590
/*对输入的ip分成四部分存储,然后将每部分的值进行排序,判断每部分最小值和最大值是否相同,如果不同则找出每部分8位二进制最后几位开始不同的个数,然后用不同的个数查表可得该部分的掩码值。再用一个循环,遍历掩码数组,数组第一次不为255时,则将后续的掩码部分全为设置为0,这样就求出了掩码的值。最后用输入的任意一条IP地址与求出的掩码进行按位与运算,则可得子网的网络地址。 */...
2018-05-03 18:08:00
147
转载 Uva201
原题地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=9题意:就是要你输入一系列横边的起始点,和竖边的起始点,然后你去找出这些边里面构成的所有正方形。心得体会一道难度适中的模拟题,特别要注意输入输出的格式。关键在于怎么打出边和点的表,刚开始想用一个二维数组去模拟发现不可行,因为这样...
2018-04-28 01:35:00
157
转载 Uva1339
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=832&page=show_problem&problem=4085题意说明:就是给两个字符串如"JWPUDJSTVP"和 "VICTORIOUS",能否通过将前一个字符串做映射:每个...
2018-04-25 00:03:00
129
转载 Uva1588(模拟)
Time limit: 3.000 seconds题目连接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=830&page=show_problem&problem=4463题意:有上下两条长条,长条上有很多槽,其中2代表凸槽,1代表凹槽,...
2018-04-24 18:56:00
155
转载 Uva10340(字符串搜索)
You have devised a new encryption technique which encodes a message by inserting between its charactersrandomly generated strings in a clever way. Because of pending patent issues we will not di...
2018-04-23 18:59:00
90
转载 TCP连接
在TCP中,面向连接主要有以下三个过程:连接建立,数据传输和连接终止,接下来我们分别讨论这三种内容。TCP连接建立1. 打开三次握手:客户端向服务端发送一个SYN段,这个段用于序号同步,它告诉服务端需要传输的数据段的初始序号是多少。SYN段不携带数据,占用一个序号服务器端收到ACK段后,向客户端发送SYN+ACK段,因为TCP是一个双向通信的连接,所以再发一次SYN段是用于确...
2018-04-20 19:14:00
78
转载 二分查找
数组元素的查找1. 线性查找方式假如我们要在一个数组中找一个关键字key,可能浮现在大家脑海中的第一个方法就是一个for()循环进行线性查找,但是这种查找方式在数组元素个数很大的时候会很低效。原因如下:该方法的执行时间随着数组个数的增长而线性增长时间复杂度为O(n)2. 二分查找法具体实现步骤前提:数组必须被提前排好序了若关键字小于中间元素则在前一半元素继续查找...
2018-04-19 21:33:00
89
转载 优惠券收集人问题
问题描述:它是一个经典的统计问题,有很多实际应用。这个问题从一套对象中拿出一个对象,然后找到要将所有需要拿的对象都至少拿出来一次,需要拿多少次。为了叙述方便,以扑克牌为例。一副打乱的52张扑克牌,找出在看到每种花色都有一张出现前,需要选多少次。编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌(有可能一张牌被选了两次)。解题思路:要解决这个问题首先要解决以下...
2018-04-19 20:49:00
240
转载 八皇后问题
1. 八皇后问题介绍要在8*8的国际象棋棋盘中放8个皇后,使任意两个皇后都不能互相吃掉。规则:皇后能吃掉同一行、同一列、同一对角线的任意棋子。求所有的解。2.解决思想:我们可以设8个皇后分别排在1,2,3,4,5,6,7,8行上。a[1],a[2].....a[8]的值分别表示每一行上的皇后位于第几列。。要求每一个皇后不在同一行,这一要求已经在步骤1中默认达到。要求每一行的皇...
2018-04-19 19:30:00
170
转载 汉诺塔问题
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。假设现在有一道题要计算总共弄需要移动的步...
2018-04-09 20:38:00
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人