摘要:
今天模拟,状压dp又没写出来。。。还是不会啊,所以今天搞一下这个状压dp。这里有一道状压dp的板子题: Corn Fields Corn Fields 就是一道很简单的状压裸题,但是要每次用一个二进制数表示一行的状态。 附加一个关于位运算的总结: 上题干: 题目不用多解释,直接上代码,写注释了,很好 阅读全文
摘要:
主席树是一种数据结构,是可持久化线段树。它能够存储一个线段树的历史版本,然后支持历史版本查询操作。 这里是主席树板子题:静态区间第K小。主要思想就是离散化之后把每个操作的线段树都存起来(每个节点维护一棵线段树),但是内存肯定不允许真的建树,怎么办呢?直接把这里的指针引到上一个历史版本就行了, 这里有 阅读全文
摘要:
今天肖神给我讲课,讲了一个用指针写的线段树,写起来比数组复杂,但是貌似动态开点操作好像简单一些。之前我也写过用指针的数据结构,所以理解起来不是很难。 直接写代码: 阅读全文
摘要:
今天学了一种网络流,叫费用流。就是把网络最大流的每一条边上加一个权值,然后在网络最大流中找一条权值最小的边。题意就是这样,但是操作起来好像不是很好做。 怎么办呢?其实就是找增广路的方法不一样,原来网络流通过bfs找增广路,这里我们通过spfa找增广路。怎么找呢?其实就是跑一遍·spfa,将最小的路径 阅读全文
摘要:
今天邱神给我们讲了图论,还讲了一下网络流算法。自己找了一个洛谷板子题。 之前说最小割的答案等于最大流,但是发现直接写是不对的。为什么呢?因为这个题有一个坑!就是这个题其实不是求的是最小割边,而是最小割点。最小割边的答案就是最大流的答案,但是最小割点不是啊。。。怎么办呢? 只能转化。把割点再构图的时候 阅读全文
摘要:
今天学习了一下上次集训讲的置换,当时没懂,这个东西确实难理解。。。我看了《算法竞赛入门经典训练指南》,才勉强明白一点基础。。。 学习置换之前先要理解群论: 了解群论之后才进行初步置换。 先举个例子: 表示1被1到n中的某一个数a1取代,2被1到n中的某一个数a2取代,直到n被1到n中的某一个数an取 阅读全文
摘要:
今天又做了一道NOIP的题,对自信又打击了不少,这次做的是D2T2。 这个题上来一看直接暴力,结果得了45分(还算理想,我不会说我一开始写暴力写错了。。。) 后来想正解,没想出来(本来想到了,但是被自己否了。。。) 看题解发现是二分答案加差分。。。直接上代码: 暴力45分: AC代码: 阅读全文
摘要:
今天洛谷疯狂给我推送tarjan的题(它好像发现了我最近学tarjan),我正好做一做试一试(顺便练一练快读和宏定义)。 其实找割点的tarjan和算强连通分量的tarjan不一样,找割点的判定条件比较狗。 首先选定一个根节点,从该根节点开始遍历整个图(使用DFS)。 对于根节点,判断是不是割点很简 阅读全文