摘要:
ps:注意不存在一个矩形包含另一个矩形的情况。那么最终图形的轮廓,一定是阶梯状的。 那么怎么算贡献呢?因为我们知道最终的轮廓,所以倒着来,假设当前处理矩形A(x,y),那么如果存在B(x1,y1),y1 < y(因为不存在包含的关系,所以x1 > x),则 A对答案的最终贡献是 : y - y1,仔 阅读全文
摘要:
题目:传送门 ps:一是用数组模拟很方便(我用set写炸了),二是判定什么时候结束(炒鸡重要),当某个人出完了手中所有的牌并且牌堆里没有牌的时候,游戏结束。 pps:考虑这种情况:当前这个人出完手中所有的牌,并且牌堆中还有牌,但牌堆的中的牌较少,不够每个人重新拿一张牌,尤其是还没轮到他拿牌,牌堆就没 阅读全文
摘要:
ps:有写状压的感觉,但还是有些地方没想明白。一定要处理掉那些不合法的状态转移。 阅读全文
摘要:
ps:针对 fail 链出的题,一个点的fail指向的节点一定是这个点的子串。 阅读全文
摘要:
题意:求这样一个回文串S,S = A + B 且 A, B都是回文串。问最长S 题解:建立两颗回文树,一个从前向后插,一个从后向前插,并记录每个位置得到的最长后缀后文。 ps:马拉车的做法待更 阅读全文
摘要:
ps:听说是回文树的模板题,就马上学了一波。理解了fail指针就行了。 建议看WWT的论文; 这两行代码坑我好久:(红色那句一定要放在最后)因为 tp == last 的时候,当前节点的fail指针可能指向自己。 const int N = 2000006;const int mod = 10000 阅读全文
摘要:
ps:花了很久才看懂别人的暴力写法。不考虑有黑点的矩形,以 ( i,j )为右下角高度为1, 2,3, ······,i 的矩形分别都有 j 个。 当有黑点时,就要考虑枚举的高度是否是合法,比如说高度为2的矩形,但高度为1的矩形中有黑点,那么高度为2的矩形就一定不会是 j 个。 ps:单调栈优化并维 阅读全文