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

浙公网安备 33010602011771号