随笔分类 -  PAT刷题证道

摘要:最短路径已经考腻了,已经在往模拟的趋势上发展。今天顺便还练习了一下前向星,感觉很好用,以后都用前向星了。 阅读全文
posted @ 2018-03-17 22:04 TQCAI 阅读(839) 评论(0) 推荐(0)
摘要:这题一拿到手当做BFS来做了。做到后面不能得到样例结果,冷静一分析,发现应该用并查集来做。经过这道题。我对并查集的理解更加深入了。 AC代码: 阅读全文
posted @ 2018-03-17 14:41 TQCAI 阅读(277) 评论(0) 推荐(0)
摘要:看了答案才知道了这题的各种骚操作,然后敲了一顿骚键盘,然后wa。调了很久,才发现要规格化打印……mdzz…… 注:加粗代码为傻逼规格化打印代码: 今日不宜编程…… 阅读全文
posted @ 2018-03-16 21:24 TQCAI 阅读(195) 评论(0) 推荐(0)
摘要:这题我以为还是之前银行排队的思路,但是做着做着就做不下去了了。看了答案我才理解到底是什么个思路。 是这样的:不同于之前排队的题,这里的K个人是同时到来的。所以首先应该让K个人的前N*M(也就是黄线内的容量)个人入队,并且是循环如N个对,直接让 i 循环到K,然后做 i %N的取余操作得到窗口索引。 阅读全文
posted @ 2018-03-16 16:02 TQCAI 阅读(268) 评论(0) 推荐(0)
摘要:妈的智障 阅读全文
posted @ 2018-03-16 10:27 TQCAI 阅读(334) 评论(2) 推荐(0)
摘要:#include #include #include #include #include #include #include #include #include #include #define I scanf #define OL puts #define O printf #define F(a,b,c) for(a=b;a=0;a--) #define LEN ... 阅读全文
posted @ 2018-03-15 16:34 TQCAI 阅读(261) 评论(0) 推荐(0)
摘要:用哈希,把push的数x作为下标给hashTable(实则不存在,直接用tree树状数组记录数据)+1,pop则是以最后一个数x作为下标-1 。 树状数组和其原理不再赘述,需要注意的是最后的二分搜索(实则是lower_bound)中位数。 阅读全文
posted @ 2018-03-15 15:01 TQCAI 阅读(125) 评论(0) 推荐(0)
摘要:部分正确(19分)代码: #include <stdio.h> #include <memory.h> #include <math.h> #include <string> #include <cstring> #include <vector> #include <set> #include < 阅读全文
posted @ 2018-03-15 12:16 TQCAI 阅读(250) 评论(1) 推荐(0)
摘要:这题对于我这种蒟蒻来说可谓是难度很大。作为pat少数的dp题,这题也有它的亮点。 ①物品的价值和重量公用一个向量w ②如果最终dp[m]不等于m,说明无解 ③要求结果(w序列)字典序最小 dp数组滚动示意图: 这题的标准答案是dp数组滚动。与普通无优化的背包问题不同,内循环:背包容量循环是从m(最大 阅读全文
posted @ 2018-03-15 09:44 TQCAI 阅读(158) 评论(0) 推荐(0)
摘要:把序列M处理为有序序列,并且M不存在的序列要在A中删除。 对A进行了处理之后,执行LIS的操作(O(N^2)复杂度)。当然可以优化为对数复杂度的,不过pat不卡这个。 LCS解法:动态规划 | 保留重复元素的LCS 1045 AC代码: 阅读全文
posted @ 2018-03-15 08:36 TQCAI 阅读(252) 评论(0) 推荐(0)
摘要:这题也可以用LIS求解。LIS解题报告:动态规划 | 对输入进行hash处理的LIS 1045 普通LCS是必须完全匹配的,所以状态转移方程式(末端匹配到时):dp[i][j]=dp[i-1][j-1]+1 但是本题连续的序列是可以累加的。所以状态状态转移方程式(末端匹配到时):dp[i][j]=m 阅读全文
posted @ 2018-03-14 21:09 TQCAI 阅读(193) 评论(0) 推荐(0)
摘要:本题是对“ 最大连续子序列和”这个问题的变形,只要读懂题,处理好细节,没有什么设坑的地方。 这道题可以用贪心和DP来做,我开始用贪心做的,wa了一个测试点。经过了一波冷静的分析,查出了原因,AC了。 贪心 贪心的思路很简单,遍历一遍数组,用mA记录最优解的第一个数,用mB记录最优解的第二个数,mSu 阅读全文
posted @ 2018-03-14 20:24 TQCAI 阅读(183) 评论(0) 推荐(0)
摘要:因为一个数最大的因数只能是Sqrt(x),所以对于int整数范围(1e9)内,最大的因数不会超过100000(1e5)。所以打一个素数表,然后进行质因数判断。 很经典的质因数分解题,只做了一点点改动,适合练习。 需要注意的是n=1的特殊情况判别。 AC代码: 阅读全文
posted @ 2018-03-14 19:32 TQCAI 阅读(262) 评论(0) 推荐(0)
摘要:这题真的是触及到了我的知识盲区,写了一个16分的答案,看了答案(开长整型和找不到结果的特殊判断)之后改成了18分,还是没有AC。终于,我仔细一看标准代码,发现这题不简单。 wa代码: #include <stdio.h> #include <memory.h> #include <math.h> # 阅读全文
posted @ 2018-03-14 17:18 TQCAI 阅读(195) 评论(0) 推荐(0)
摘要:强行考了二次探查法,一脸蒙蔽 阅读全文
posted @ 2018-03-14 16:25 TQCAI 阅读(544) 评论(0) 推荐(0)
摘要:这题很简单,可以说没什么难度。但是我必须记录这道题,因为犯了一个小错误导致卡了一个case。 在编写判断一个数是否为素数的函数中,没有加如下加粗语句: 考试、比赛的时候一定要细心。pat考的都是细节。 完整代码: #include <stdio.h> #include <memory.h> #inc 阅读全文
posted @ 2018-03-14 15:36 TQCAI 阅读(214) 评论(0) 推荐(0)
摘要:这题如果读懂了题意,就很好做,一波操作就结束了。不过题目有点难读,考验耐心和读题的细致。 AC代码: 阅读全文
posted @ 2018-03-12 19:52 TQCAI 阅读(185) 评论(0) 推荐(0)
摘要:刚接触pat的时候就做过这个题。当时被难得要死,连题都看不懂,一脸蒙蔽。 时过境迁,今天一看这题就笑了,太简单了。对着电脑一顿操作,就AC了。 AC代码: 阅读全文
posted @ 2018-03-12 19:09 TQCAI 阅读(193) 评论(0) 推荐(0)
摘要:第一类问题:根据前(后)序、中序生成树 模板(以根据后序、中序为例): OJ实例:Tree Traversals AC代码: #include <stdio.h> #include <memory.h> #include <math.h> #include <string> #include <ve 阅读全文
posted @ 2018-03-11 22:38 TQCAI 阅读(1223) 评论(0) 推荐(0)
摘要:代码提交之后一直说段错误。我以为是数组开的不够大,但是随着数组一点一点开大,还是有一个case没有AC。最终我发现:是有个边界条件没有考虑到 错误原因:没有加上加粗的那行代码。 AC代码: 阅读全文
posted @ 2018-03-11 21:12 TQCAI 阅读(171) 评论(0) 推荐(0)