02 2019 档案
摘要:对于线段树,我们一般需要n*4的空间去存储线段树,然后有一种玄学操作是用指针来实现线段树。 #include <inttypes.h> #include <algorithm> #include <cstdio> #include <iostream> #include <vector> #defi
阅读全文
摘要:所谓单调队列,就是一个保持着某种性质的队列,通常是队列从队头到队尾,维护一种递增递减的关系。 这种队列通常用来解决一些连续区间的最值问题。 这种队列的入队要保证符合当前的性质,例如一个递增的单调序列(从左到右是从头到尾):7,9,10,11 这时,入队时要保证是递增的:例如12这个元素可以入队,而1
阅读全文
摘要:斯特林数分为第一类斯特林数:S1(n,k)和第二类斯特林数:S2(n,k)。 S1(n,k)代表在n个元素中选出k个环的方案数,S2(n,k)代表在n个元素中选出k个非空集合的方案数, 不同之处在于,在第一类斯特林数中我们在意这些环的顺序,在第二类斯特林数中我们不在意顺序,但在意集合中装了什么(感觉
阅读全文
摘要:2019年了,发现以前的很多教程都不能用了。 我自己写的socket发给服务器总是返回301错误——资源永久转移。很多教程都是这样,困扰了我很久。 终于我发现了一篇能用的爬虫代码,参考MSDN以及众多博主的博客,大概给这篇代码做了注解。 #define _WINSOCK_DEPRECATED_NO_
阅读全文
摘要:对拍的方法是先用生成器生成几组随机数据,然后用暴力算法和当前算法对比结果来确保正确性。 数据生成器: 引入cstdlib与ctime两个库,然后通过srand初始化随机数: 然后,用rand()获得随机数。 为了确保随机性,这里对得到的随机数进行了处理。 为了在 1~i 的范围内生成随机数,使用 r
阅读全文
摘要:昨天晚上看蓝书,看到了LIS问题的优化解法。 是比O(n方)更快的解法,实际上是一个常数优化。 先讲一下朴素的解法: 一个集合a,a[i]是第i个元素。设dp[i]为以编号为i的元素结尾的最长不上升子序列。 找到状态转移: dp[i] = max{dp[j]}+1 (j < i && a[j] >=
阅读全文