摘要:
这题一拿到手当做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 ... 阅读全文
摘要:
STL中lower_bound和upper_bound的使用方法:STL 二分查找 lower_bound: upper_bound: (将上文的lower_bound的 < 替换为 <= 即可) 为便于记忆可以修改判断条件。 lower_bound: upper_bound: 阅读全文
摘要:
用哈希,把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代码: 阅读全文