自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 浙大PAT甲级 1094

简单的BFS求数的那一层结点数最大,输出最大数量与相应的层。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace std

2016-08-31 11:34:01 206

原创 **浙大PAT甲级 1093 树状数组

这个题目求一个字符串中PAT的数目,我们可以这样处理。对字符串每个字符进行遍历,当字符为P时len1++,当字符为A时,则将len1加入到树状数组中,当字符为T时,对树状数组求和累加并取余。AC代码:#include#include#include#include#include#include#include#include#include#include#inc

2016-08-31 11:17:04 279

原创 浙大PAT甲级 1092

简单的字符串处理。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace std;int main(){ st

2016-08-30 21:23:51 243

原创 *浙大PAT甲级 1091 广搜

这个题目很难读懂,查了资料才知道求三位数组的BFS,对于每个出现的1,寻找其连接的1,统计个数如果大于等于T,则将其加入。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define in

2016-08-30 15:48:30 271

原创 浙大PAT甲级 1090 广搜

广搜求层次,然后进行排序求出最大层次以及在最大层次结点的数目。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace st

2016-08-30 15:07:30 333

原创 *浙大PAT甲级 1089 归并排序与插入排序

先判断是否由插入排序而得来,再判断归并排序。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace std;vector

2016-08-30 14:40:51 366

原创 浙大PAT甲级 1088

考虑的情况比较多:(1) 除数为0则,则等号后面输出inf。(2)求最小公倍数时,两数相乘的范围可能超过了int所表示的范围,因此应选用long long 类型。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define

2016-08-30 12:41:58 391

原创 *浙大PAT甲级 1087 dijkstra+dfs

由于输入的是城市名称,因此要先将名称与id想对应,可以用map映射。dist数组代表源点到该点的最短路径,path数组记录推荐路径,num数组记录源点到该点的最大happy值。通过dijkstra来得出最短路径以及最大happy值和相应路径。但关键是怎么求有多少条总和为最短路径的路径数,这里可以通过得到的最短路径进行深度优先搜索。AC代码:#include#include#

2016-08-30 11:52:44 385

原创 **浙大PAT甲级 1086 二叉树的先中根遍历求后根遍历

题目中push的顺序为先根遍历,pop()得到的结果为后根遍历,因此这个题是根据先根遍历和中根遍历来求后根遍历。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999

2016-08-30 10:33:45 365

原创 **浙大PAT甲级 1085

先对数组进行从小到大排序,对每个元素运用二分查找该数*p+1,得到位置,但此时还要向前减去相同的数。然后再找出最大值AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 9

2016-08-29 21:52:42 427

原创 浙大PAT甲级 1084

很简单的字符串题,我用了set与vector,set来保证唯一性。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace

2016-08-29 20:54:30 341

原创 浙大PAT甲级 1084

先排序然后二分查找临界点。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999using namespace std;int n;struct n

2016-08-29 20:47:32 349

原创 浙大PAT甲级 1082

题目需注意0的情况。碰到0不输出,标记=1,碰到数如果标记为1,输出ling,再输出数,标记=0。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define inf 999999999

2016-08-29 14:55:31 464

原创 *浙大PAT甲级 1081

题目不难,但是需要注意的细节很多,尤其是 long long虽然数的范围在int内,但是求最小公倍数时,相乘会超出int范围,因此用long long;AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 9999

2016-08-29 14:06:44 412

原创 浙大PAT甲级 1080

结构体排序以及一些特殊情况的考虑。用两个截止数组分别表示最后一位入取到该学校的两个分数值。如果这次遍历与上一位的rank相同,则判断该两门成绩是否与该学校的两个截止数组相同,如果相同,无聊是否满额,都继续招人。AC代码:#include#include#include#include#include#include#include#include#include#in

2016-08-29 12:49:21 539

原创 *浙大PAT甲级 1079

这个题对时间的限制比较要,因此要用bfs先求得各结点的层次,否则在遍历中多次对结点求层次会导致超时。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using namespace std;

2016-08-29 11:58:05 590

原创 **浙大PAT甲级 1078

以除法为散列函数,注意要用到二次探测解决冲突。二次探测采用下列探测序列:h(key),h1(hey),h2(hey).........h2i-1(key), h2i(key)......h2i-1(hey)=(h(key)+i*i)%m i=1,2.....(m-1)/2;  (1)h2i(key)=(h(key)-i*i)%m i=1,2......(m-1)/2;   (2)

2016-08-29 10:17:32 402

原创 浙大PAT甲级 1077

求公共后缀,暴力循环即可。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using namespace std;string s[105];int main(){ int

2016-08-28 18:16:26 420

原创 浙大PAT甲级 1076

广度优先搜索。用queue来实现,且用mark来表示userid是否出现。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using namespace std;vector v[100

2016-08-28 15:49:21 470

原创 浙大PAT甲级 1075

结构体排序,没有参加第i题考试num[j]=-2,参加了但是没通过编译num[j]=-1;参加了拿了0分 num[j]=0。如果有分数大于0,则应进行输出,否则不进行输出。num[j]=-2 输出“-”, num[j]==-1||num[j]==0输出“0”。AC代码:#include#include#include#include#include#include#in

2016-08-28 14:34:26 397

原创 浙大PAT甲级 1074

刚开始输入时用map将id与node结构体相互映射,用vector来保存链表,然后根据除法与取余来判断是否有不番转的项。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using name

2016-08-28 13:36:26 535

原创 浙大PAT甲级 1073

字符串处理,注意如果结果为整数,则不需要小数点,且包含后导0。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using namespace std;int main(){ s

2016-08-28 12:11:32 500

原创 *浙大PAT甲级 1072 最短路径dij

求油站到房子的距离的最小值最大,如果相同,则优先考虑油站到各个房子距离之和的最小值,如果仍相同,则输出Id小的。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 999999999using namespac

2016-08-27 16:14:24 463

原创 浙大PAT甲级 1071 字符串计数

先将输入字符串中的大写字母改为小写,然后遍历字符串将分割出来的单词插入到map中,最后遍历map输入单词和最大次数。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf -100000000using names

2016-08-27 11:58:14 754

原创 浙大PAT甲级 1070 贪心

简单的贪心,注意数量也可能为小数。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf -100000000using namespace std;struct node{ double num;

2016-08-27 11:38:19 417

原创 浙大PAT甲级 1069

简单的字符串处理,先将输入的数前面补0,直到为4位数。然后进行字符串相减,直到为6174为止。如果字符串每个字符都相等,则输出0000。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf -100000000

2016-08-27 11:25:47 602

原创 ** 浙大PAT甲级 1068 01背包问题

这个题是dp01背包问题,dp[i][j]表示在j容量下前i个货币最大利益,但是难点在如何输出最小序列。将输入的数按递减顺序排序,mark[i][j]==1表示在容量为j时的最大的利益情况下,加入了第i个货币。然后进行回溯输出。AC代码:#include#include#include#include#include#include#include#include#

2016-08-27 10:34:46 843

原创 *浙大PAT甲级 1067

为了得到最小交换次数,只需将0与最终在该位置上的数进行交换,可用map来讲数字与位置进行映射。当i位置上的数字为i时,则将该数从map从删掉,当0位于第0位时,且map的size不等于1,则应将0与map中的第二个的key进行交换,再重复以上步骤,直到map的大小等于1时,循环结束。AC代码:#include#include#include#include#include#inc

2016-08-26 22:14:41 997

原创 **浙大PAT甲级 1066 平衡二叉查找树

平衡二叉查找树的相关概念与旋转操作参考:点击打开链接AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;struct node{ int data; struct node*

2016-08-26 19:21:46 440

原创 *浙大PAT甲级 1065

网上大多介绍了判断x+y溢出的那种情况。以下介绍A+B高精度算法。需要判断符号,较麻烦。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;string cal(string a,int afl

2016-08-26 13:46:32 415

原创 **浙大PAT甲级 1064

由于二叉查找树的中序遍历为递增序列,因此题目中的完全二叉查找树的中序遍历也应为递增序列,又由于完全二叉树的特点,某结点i的左儿子编号为2*i,右儿子编号为2*i+1。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing nam

2016-08-25 21:28:41 543

原创 浙大PAT甲级 1063

简单的在集合上操作的题,可以使用stl的set,用map将集合与标号想对应。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;map >m;int main(){ int n;

2016-08-25 20:07:03 243

原创 浙大PAT甲级 1062

简单的结构体排序。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;struct node{ int id; int vir; int tal;};vector

2016-08-25 19:51:58 423

原创 浙大PAT甲级 1061

简单题,先用map现将星期与星期的英文相对应。然后根据题意查找相等的字符。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;string s1,s2,s3,s4;map m;void in

2016-08-25 19:25:08 215

原创 *浙大PAT甲级 1060

判断两个数是否相等,这个题需要考虑的内容有很多:1.若有前导0,则应该去除。2.若输入的数小于1,则应判断小数点移动多少位才为0.d1d2.....d1>0除非d1==0。3若输入的的数是个整数无小数点,则对应结果的10的指数应为输入数(去掉前导0)的位数。4.结果小数点后面的数大于0,除非这个数等于0。5.不够位数,后面添0。AC代码:#include#includ

2016-08-25 18:47:36 445

原创 浙大PAT甲级 1059

分解因式题,可先筛选素数,再进行遍历判断。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int mark[100000];int prime[100000];int num=0;void

2016-08-24 22:21:57 385

原创 浙大PAT甲级 1058

简单的A+B。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ int a,b,c,d,e,f; scanf("%d.%d.%d",&a,&b,&c)

2016-08-24 21:52:26 325

原创 **浙大PAT甲级 1057 树状数组+二分法

这个题为栈进出的模拟,以及对栈中的元素输出第(栈的大小+1)/2小的元素。这里如果用快速排序会有很多个case不通过,因此这道题需要用树状数组+二分法。所谓的树状数组是一个查询和求和都是log(n)的一种数组结构,具体函数参考树状数组的博客。AC代码:#include#include#include#include#include#include#include#in

2016-08-24 21:14:33 308

原创 *浙大PAT甲级 1056

题目的意思很难理解,即将第三排的数作为索引,每三个三个一组,例如6,0,8一组,则19,25,57一组,选出最大的数,又以三个三个一组,以此进行直到得出第一名。依次输出排名。AC代码:#include#include#include#include#include#include#include#include#include#include#includeusing

2016-08-23 21:51:53 674

原创 浙大PAT甲级 1055

简单题,首先将输入的信息先后按照worth递减,年龄递增,名字字典序递增来进行排序。然后对于每个查询,从头开始遍历输出最多M个的年龄在范围内的信息。AC代码:#include#include#include#include#include#include#include#include#include#include#include#define inf 26*2

2016-08-23 20:24:30 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除