![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vector
Datrilla
C语言拷贝人才
展开
-
1045. Favorite Color Stripe (30)
第一个数没用favourTotal喜欢的颜色个数且这个顺序序列;stripeTotal某东东上的条纹数且颜色序列这个顺序序列在最长的长度原创 2015-08-09 17:38:15 · 738 阅读 · 0 评论 -
1080. Graduate Admission (30)
高考录取模拟输入:N学生总数(编号0~N-1) M学校总数(代号0~M-1) K(每个学生可以填的志愿个数)goal0 goal1……goalM-1 (按照代号0~M-1顺序给出的M个学校预录取的人数)GE书面分 GI面试分 第一志愿 第二志愿 ……第K志愿 (接着N行,按照学生编号0~N-1给出)……输出(M行,每行代表0~M-1的学校的录取学生编号,并且每行按编号从小到大排序,如果这个学校一个也没有录取,那么输出一行空行)要求先把学生根据 总分原创 2015-08-17 13:32:31 · 1022 阅读 · 0 评论 -
1085. Perfect Sequence (25)
N个数 p接着无序的N个数我们要先把它排好序,然后根据要求,从最小的开始,看看当前*p>=max的max能到哪里,最长多少个;输出最长的个数下面两个代码,就一个地方不一样,一个超时了一个没有超时。AC的在二分查找那里用的是指针,而另一个超时的不是指针。简单的说,AC传过去如果改变了回来的被改变的。而超时的,改变的和原来的没有关系。本来觉得二分查找也不用改变,就用了,结果就超时了,还以为我的二分是多么的不协调。还要注意一点,当前*p会超过int,如果全部设为int 会一个测试点结果错误原创 2015-08-17 20:37:18 · 1373 阅读 · 0 评论 -
1087. All Roads Lead to Rome (30)
DFS就是把全部的路走到没有路或者城市都走过了,然后看看当前的才城市是不是到ROM是的话,根据要求 这条路是不是最短,是用当前的这条路countnum=1,属性加成和最短距离更新; 否则和原来的路相等,那么我们就要coutnum++; 并开始判断,当前这条路获得的全部属性加成是不是最大,是覆盖原来的路,更新属性加成; 否则,看看平均个每个路过的城市属性加成是原创 2015-08-18 15:45:23 · 746 阅读 · 0 评论 -
1089. Insert or Merge (25)
【直接插入Insert sort 】,当N>1时;进行N-1循环,每次的主角为2~N; 每次把主角和与他前一个位置的配角比较,如果主角较小,把主角当前位置给与他比较的配角,并占据配角的位置,继续直到前面没有配角; 否则这一次结束显然前面排好序的一定从小到达,后面还没有排好序的一定在原来的位置;【归并排序】: 先两个分成一组排序;接着4个分成一组排序,再接着八个分成一组排序;……最后的N个排序;原创 2015-08-18 20:36:16 · 622 阅读 · 0 评论 -
1094. The Largest Generation (25)
输入:N(这个家族的总成员数) M(有几个人有子嗣)M行(父节点编号) father count(几个子结点) child1 child2……childcount(对应子结点编号)……求哪一辈份的人数最多,是哪一代。这里默认祖宗为编号1,祖宗为第一代;这里用BFS层遍历数个数;找出人数最多的那一代。我一开始开动态数组的时候开太小,vs就报错。原创 2015-08-19 10:34:29 · 1005 阅读 · 3 评论 -
1095. Cars on Campus (30)
输入N个车辆进出记录 K个要查询的时间点N行 车牌 时间(00:00:00~23:59:59) 进in/出out……K行 查询的时间(对应输出这个时间点停车场的车辆数。这个时间点如果正好有车有操作,那么车辆数是操作后的 【进+1/出-1/无0】)……最后给出一天中累计停放的时间最长的车牌号(多个按字母序输出) 并输出这个最长时间PS:由于K行的查询是按时间顺序进行的,那么可以直接从头搜到尾。也可以用统计放到数组里面再用二分法,测试出来的时间差不多,内存有点区别。但是如果全部用ci原创 2015-08-19 15:56:15 · 1570 阅读 · 0 评论 -
1091. Acute Stroke (30)
下面两个代码的区别是一个用了符号重载;M N L T(L个M行N列的长方体)接着就是L个M行N列的输入;0代表正常,1代表异常;而造成病变的,是一块的异常总数>=T; PS:一块的意思是只要上下左右前后有是异常的就加起来。这里用的是BFS,对于每个左标,进行上下左右前后,在范围内的异常的进行累加,并扩展的一块之外都是正常,然后看看这一块的异常总数是不是>=T;是就是病变加到core里面 vector<vector<vector<bool>>>cuboid(L);长方体 vector< i原创 2015-08-19 00:42:58 · 636 阅读 · 0 评论 -
1039. Course List for Student (25)
用map和vector 充当数组邻接表的最后一个测试点运行超时,然后就用大数组了;还看到另一个通过数据范围和课程编号的Hash的,这个就直接贴别人的了,其实还有的没有完全理解好,那个id应该是默认开始为零吧,等有时间重新弄弄看,没有初始化总觉得乖乖的,那个异或48的好像是通过ASCII码直接取,相当于char-‘0’;。三个都在后面2015-8-6 19:57理顺了Hash的原创 2015-08-06 20:01:51 · 626 阅读 · 0 评论 -
1096. Consecutive Factors (20)
输入N;(找到一个数是N的因数,且由最多的连续的数乘起来的【这些数不包括1】;如果有多个,那么输出第一个比较小的);输出格式这个数有几个连续的数乘起来这些数是哪些(从小到大),中间间隔*例如:N=得到1 2N=1222*3N=515原创 2015-08-19 18:09:33 · 724 阅读 · 0 评论 -
1097. Deduplication on a Linked List (25)
输入root头地址 总地址N个接着N行 地址 放的值 下一个地址 ……输出outpulist的头地址 值 下一个地址 ……removelist的头地址 值 下一个地址 …… PS:其中当没有下一个地址的时候,(NULL)next=-1;这一题求的是以头地址为开头的链表,最先出现的地址里面的值第一次出现放在outpulist里面如果与这个值的绝对值一样的第二次出现,那么在removelist里面原创 2015-08-19 19:29:51 · 726 阅读 · 0 评论 -
1102. Invert a Binary Tree (25)
N个结点(编号0~N-1;N不超过10)接着N行分别为编号0~N-1对应点的 右结点编号 左结点编号(如果没有结点就是-)要求输出这个二叉树的层次遍历的 、中序遍历的这是这次pat2015中25分的,也是这次pat考试中唯一一个ac并且一次就ac的原创 2015-09-12 20:53:10 · 921 阅读 · 0 评论 -
1101. Quick Sort (25)
N个数对于这N个数,那些左边都小于等于它,右边都大于等于它的是属于要输出的,进入ans中ans排好序从小到大输出ans中有几个数+换行输出ans[0] ans[1]……+换行(PS即使没有数也要换行(否则一个测试点错误),如果有数,没两个数要空格,最后的数后面没有空格)这次pat2015考试中是B题,由于以前对于qsort些起来不熟,以为要写qsort没有认真看。这题就是这次pat中连错误代码都没有提交的。考完仔细一看,根本不用qsort的partition原创 2015-09-12 21:10:37 · 1321 阅读 · 0 评论 -
1103. Integer Factorization (30)
输入N K P输出N = K个数的P次方和;如果不存在 Impossible; 如果只存在一个就按着非升序每个数的P次方按照样例输出 如果有多个,那么取两个非升序列中小的数更大的那个,比如a4 a3 a2 a1 a0 b4 b3 b2 b1 b0 比较a0?b0,如果a0>b0那么取第一行原创 2015-09-12 22:27:49 · 821 阅读 · 0 评论 -
1006. Tree Traversals - Hard Version (35)
n个结点中序残缺列先序残缺列后序残缺列 求能不能唯一确定一棵二叉树,可以输出中序遍历、先序遍历、后序遍历、层次遍历;每个遍历后面没有多余的空格。 不能唯一确定输出“Impossible”我一共尝试了5种方法,一、一种方法是错误的(5个测试点错误);二、另一种方法考虑没有周全(两个测试点错误);三、一种方法直接递归(最后一个测试点运行超时)四。一种方法把递归的拆成两部分,存入多维数组里面(最后一个测试点内存超限)【这个代码中有vector的[]传参】五、把第三种和第二种部分相结合原创 2015-09-17 17:24:16 · 5322 阅读 · 3 评论 -
1106. Lowest Price in Supply Chain (25)
这一题的类型感觉去年做了好几次了。但是这次还是会细节问题N(三种商人) price(厂家价格) r(每转手一家,价格(1+r%))ki个 ID[1]……ID[ki][其中ID从0到N-1,ID[]=0代表厂家]问题求的是没有转手的那些商家【零售商】,价格最低是多少【min】,且达到最低价格的有几家【num】输出min num原创 2016-07-10 18:14:24 · 448 阅读 · 0 评论 -
1107. Social Clusters (30)
N(一共有的注册用户数)Ki(后面有ki个爱好对应编号): h1……hki……求这些注册用户可能是朋友的朋友圈个数;【用户id:1~N;爱好编号1~1000】比如【3】2:5 3【5】1:3【7】4:6 8 1 5【3】【5】有共同爱好3,存在可能,【3】【7】有共同爱好5,存在可能;座椅【3】【5】【7】一个圈我用的bfs,有的用并查集的(想到过并查集,但是很久没做了,又失之东隅)原创 2016-07-10 18:29:37 · 733 阅读 · 0 评论 -
1035. Password (20)
输入N接着N行用户名 密码看看有没有需要修正的密码,有最后输出几个并把需要修正的用户名和修正后的密码都输出; 否则,如果N是1,注意输出的"is .. account" 否则N大于1个输出的里面是"are ... accounts"这一题我用的了vector可变长度数组;用new 或者malloc 或者直接大数组[10000]也是可以的,就是浪费空间;原创 2015-08-04 14:48:46 · 1061 阅读 · 0 评论 -
1075. PAT Judge (25)
输入:一共有N个人(人的编号00001~XXXX PS:XXXX=N) 有K道题目 M次提交的K道题按编号(1~K)给出满分接着M行 提交人编号 题目编号 得分(-1:提交后编译错误 0~对应的满分:编译成功,结果错误/部分正确/AC ) ……输出:第几名 用户名 总分 第一题分数 第二题分数 ……最后一道题分数 ……要求根据获得的总分排序输出(PS:提交过一次或以上 且 编译成功 的才在输出范围。 没有提交过、提交的题目都编译错误不在原创 2015-08-16 22:36:45 · 1063 阅读 · 0 评论 -
1079. Total Sales of Supply Chain (25)
工厂只有一家,默认编号root=0;工厂供货商+经销商+零售商=N(PS:编号0~N-1) 工厂直销价钱p 每经过一次转手增加的百分之r(比如买的时候p,转手卖给下一家为p=p*(100+1)/100)接着N行(代表编号0~N-1的买或卖),这N行形式有两种【一种: 0 买的个数count; 【另一: 卖给num个 接着num个来买的人的编号id1 id2……idnum;求出那些买的【入手价钱*原创 2015-08-17 11:07:27 · 639 阅读 · 0 评论 -
1083. List Grades (25)
N个学生name,id, grade分数grade 唯一,范围[0,100]求分数在[grade1,grade2]范围内的用得到vector 和pair。也可以直接用两个数组开到101,并且初值标记;pair 链接http://www.cnblogs.com/cszlg/archive/2013/03/10/2952807.html原创 2015-08-09 11:51:20 · 745 阅读 · 0 评论 -
1047. Student List for Course (25)
共有N个学生,K门课(编号1~K)学生姓名 选课数 选的课的编号用到vector ,sort,string,如果用cin cout就过不了,然后string的printf scanf又是硬伤。下面两个代码,一个是先到各科里面,然后要输出前排一下;用的内存较少;一个是报全部的按名字排好序,再一个个把名单送到各科原创 2015-08-10 11:50:54 · 479 阅读 · 0 评论 -
1022. Digital Library (30)
map的使用,map<键,键值> 键first,键值second ,头文件#include<map> ①键唯一,我的感觉就是键像数组的标号一样使用,但是可以自己定义(类),键默认升序,特殊的键要自己定义小于号(符号重载);②而键值可以是单值(int,char)或者多值(数组之类int[],char[])原创 2015-07-30 12:29:09 · 1254 阅读 · 0 评论 -
1053. Path of Equal Weight (30)
N个结点,M个非叶节点,和为weightN个结点,每个结点的值一行;接下来M行非叶节点编号 这个编号有几个子结点,接着几个子结点的编号要求满足从root头到尾的总值为weight;当有多条时,按照同一水平的,值大的在前面原创 2015-08-12 19:03:55 · 616 阅读 · 0 评论 -
1052. Linked List Sorting (25)
首先给出N个地址,再给出第一个地址接着每个地址 地址存放值 下一个地址……目的:通过第一个地址获得这条所带有的全部存储单元,在把这些单元通过存储的值从小到大排序。输出地址注意格式用到原创 2015-08-12 15:50:05 · 770 阅读 · 0 评论 -
1025. PAT Ranking (25)
输入N N个地区接着每个地区K 对应K个帐号和他的分数;我这里用动态数组vector可以不断的把所有地区的id,score,location加入(.push_back) 到ranklist中,输入结束,全体sort获得非升vector 的ranklist;接着每个定义最高分sc为101.对应的排名rank为0,分数为101的count为0个;利用 final_rank(int*sc,int*finalrank,int*finalCount,int score)获得对应的总排名。区域排名#原创 2015-07-30 21:03:13 · 718 阅读 · 0 评论 -
1055. The World's Richest (25)
总共 N个人,有K中排行;N行 名字 年龄 身价……K行 要输出几人 最小年龄 最大年龄……如果有符合条件的输出前几个即以内对应的姓名、年龄、身价 ,顺序身价>=年龄>=姓名 否则None原创 2015-08-12 20:28:18 · 581 阅读 · 0 评论 -
1062. Talent and Virtue (25)
1062. Talent and Virtue (25)时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, LiAbout 900 years ago, a Chinese philosophe原创 2015-07-17 19:46:03 · 820 阅读 · 0 评论 -
1063. Set Similarity (25)
总共N个集合;每个集合的【初始】元素个数(有重复) 集合元素;【Ps:集合编号1~N,这里输入的时候要注意去除重复,我用set.inset(),会自动去重】……接下来K行集合a 集合b ……输出K行,每对集合的 交集元素个数(相同原数个数) 占 并集元素个数(两个集合元素合在一起去重复以后的元素个数) 的百分比下面两个代码,一个ac另一个最后一个测试点超时原创 2015-08-13 10:49:08 · 1425 阅读 · 0 评论 -
1066. Root of AVL Tree (25)
数据结构听到AVL就头大,根本不知道这么做的意义;这次看着博文和别人AC的代码写了这个。以前很喜欢用链表的;但是现在有点不喜欢,比如地址空间会很大的。然后就用int带代替指针;整个数组化。AVL左旋右旋,旋来旋去就那几行代码。重点的是那个有回溯的那段。还有各种细节;代码中有详细的注释。顺便(PS:我通过tag动态化,直接就弄成看似一种旋转的了)原创 2015-08-13 22:07:41 · 1509 阅读 · 0 评论 -
1026. Table Tennis (30)
这题太鬼畜了,只能说目前AC了2015-7-31.做了一整天。但是这题里面我尝试使用了各种vector的属性事件甚么的。看起来太像在写C#了。先找到最先空的一个窗口/桌子获得时间M,窗口编号mindex;一、如果当前有普通或者Vipif(mindex这个窗口是vip窗口) { if当前有vip,vip特权 else(当前有普通)普通 }else(这个窗口不是vip窗口){ 可能在窗口中有一个vip窗口与这个窗口同时结束,获取mv,失败mv=-1; if(获取成功原创 2015-08-01 00:35:04 · 764 阅读 · 0 评论 -
1067. Sort with Swap(0,*) (25)
N个数 接着是当前【数】放在序号i=0~N-1;问通过0来交换,最少多少次;通过存放的编号和存放的数为下一个编号,最终可以弄成一个环,而利用0来交换的最小次数为。当0在这个交换的环中,那么只要环的长度-1;如果不在则长度+1例子;存放的器0-3-2-7存放的数3-2-7-0此时这个环为0-3-2-7-0~ 有0;通过从右边起,0-7交换,7-2交换……交换最短 环长度-1=4;存放的器1-5-4-6-9存放的数5-4-6-9-1此时这个环为1-5-4-6-9-1~ 有无;通过从右边起先把0原创 2015-08-14 00:20:26 · 442 阅读 · 0 评论 -
1068. Find More Coins (30)
N个钱币,要买goal元的东西接着是乱序的钱币;求满足可以正好不找零的情况,有给出把零钱最少的用的最多的那条; 没有No Solution第一个用了DFS,第二个01背包,一个从小到大,找到直接结束;一个从大到小,全结束后如果符合条件,显然是小的覆盖在大的上面原创 2015-08-14 09:36:59 · 712 阅读 · 0 评论 -
1071. Speech Patterns (25)
样例看的太扭;简单的说就是一个句子,里面的单词由大小写和数字构成,其他标点符号甚么的都不是;要求出现次数最多的那个单词;如果有多个出现次数一样多的,那么给出字典序最少的(PS:我这里一开始没有注意字典序,但是也可原创 2015-08-14 16:37:00 · 1237 阅读 · 7 评论 -
1070. Mooncake (25)
输入N中月饼;市场需求Needtons吨数;这一行给出各种月饼的 预计产量;这一行给出各种月饼的 总销售价求正好满足市场需求且利润最大;显然总价/产量=单价,根据单价排序;单价高的先满足,必然在满足市场要求的情况下,总利润最大化原创 2015-08-14 12:24:27 · 707 阅读 · 0 评论 -
1034. Head of a Gang (30)
输入N K;N个被查的通信记录,成员的总联系时间K;A B 这两个人的通信时间……成员两人以上且总联系时间大于K方成帮派,单人的总通信时间最多为头头求出帮派个数和每个帮派头头和成员个数;下面通过DFS深度优先搜索,求出几个连通图,并不断在每个连通图里面找到每个帮派的头头和帮派内的总联系时间(这里的总联系时间是先有重复累加的,所以后面判断要除以二)用到了map 这个map就是可以用字符当下标用拉(map根据字典序下标[key]自动排好序。map<string, vector<string>>Gm原创 2015-08-04 12:08:29 · 629 阅读 · 0 评论 -
1105. Spiral Matrix (25)
输入一个数num接着输入一串num个无序的序列输出序列非升排序后,有m行n列组成的螺旋矩阵,期中m*n=num;而且要求m>=n;并且在num的因子中,m-n最小;螺旋从水平向右,碰头,垂直向下,碰头,水平向左,碰头,垂直向上,以此类推。原创 2016-07-05 18:03:00 · 496 阅读 · 0 评论