摘要: "题目地址" 二维的单调队列题。 错因:统计答案时必须$i =n$并且$j =n$才能更新答案,这里没判断。而如果$i\,,j$都从$n$开始枚举的话,列的话是没问题的(因为$ans$数组里存的是这一个点向前最多$n$个位置的最大值或最小值),但是考虑行,前$n$行的值都会被忽略,也就是说答案只会从 阅读全文
posted @ 2019-08-21 09:37 蟹蟹王 阅读(181) 评论(0) 推荐(0)
摘要: "题目传送门" 结合两篇题解: "1" "2" 有了我这篇博客。 主要思路是题解1。初始时先将所有骨牌翻转成上边的点数大,假设这时上下点数之差为$tot$,此时翻转的骨牌数记为$base$。那么现在要再次翻转骨牌使得差值变小,假设第$i$张骨牌上下差值为$k$,那么将这张骨牌翻转过来差值会减小$2 阅读全文
posted @ 2019-08-20 21:17 蟹蟹王 阅读(184) 评论(0) 推荐(0)
摘要: 8.19 Path 卢姥爷太强了!!! $(n+m 1) \sum_{i=1}^{n+m 1}(A_i A_{avg})^2$ $=……$ $=\sum_{i=1}^{n+m 1}[(n+m 1) A_i^2] \sum_{i=1}^{n+m 1}2 A_i sum+sum^2$ $=\sum_{i 阅读全文
posted @ 2019-08-20 15:30 蟹蟹王 阅读(187) 评论(1) 推荐(1)
摘要: "luoguP1169" 抄题解的代码。。。 "大佬的博客" 加上个人理解: 最终答案肯定是某个极大子矩形。那么一定会存在一个底边上的点$a$使得$up[i][j]$(最小的那个)等于矩形的高。枚举每个点,把它当做点$a$,那么答案一定会被枚举到。既然知道了矩形的高(该点向上能到的最高位置(最大长度 阅读全文
posted @ 2019-08-20 09:51 蟹蟹王 阅读(204) 评论(0) 推荐(0)
摘要: "提交的地方" A 不是我的锅。。。 B 送分题 C 写法一:我也不知道哪里错了 cpp include include include include using namespace std; int n,st[300],top,len,maxx,a; char s[300],tr[5]={'1' 阅读全文
posted @ 2019-08-19 14:44 蟹蟹王 阅读(128) 评论(0) 推荐(0)
摘要: "题目传送门" 单调队列的题目还是滑动窗口最典型,如果猜到可以用单调队列解题,看看能否通过什么方法转化成滑动窗口(如二分答案)。单调队列的题一般涉及最大值和最小值的问题,好像有的题目也可以用ST表解决。 这道题因为知道是单调队列才做的(硬上单调队列...) 简化题意:找到$x$坐标相差最近的两个点, 阅读全文
posted @ 2019-08-18 21:23 蟹蟹王 阅读(125) 评论(0) 推荐(0)
摘要: "题目地址" 之前见过类似的题目(见《贪心》赵和旭课件),思路知道,不再赘述。 错因:(处理麻烦先不算) 假设现在有5个点,从左到右依次编号1,2,3,4,5。假设第一次选了3号点,后来“反悔”了一次,选了2号和4号。假设最终答案选1,3,5号最优。我自己的代码中反悔了一次就处理不到再反悔一次的情况 阅读全文
posted @ 2019-08-16 21:33 蟹蟹王 阅读(161) 评论(1) 推荐(1)
摘要: "题目地址" 很少做过二分图的题,果然不太熟练。 前置知识:对于一张图,如果没有奇环的话就是二分图。有没有奇环可以通过染色过程中有没有矛盾来判断。 坑点(是你自己菜,不能说人家坑啊) 1.图不一定联通。不能随便只找一个点(比如1)就完事了。要对每个连通块进行分析。 2.(自己写挂的地方)找到矛盾就$ 阅读全文
posted @ 2019-08-14 21:11 蟹蟹王 阅读(138) 评论(0) 推荐(0)
摘要: "洛谷P1058" 第一次做这种类型的题目。 为什么要倒着存:因为如果从上往下存的话,每往下一层左边界会向左移,不知道最后会移到哪里。如果倒过来存的话,越往下会越往右移,好操作。 阅读全文
posted @ 2019-08-14 20:57 蟹蟹王 阅读(150) 评论(2) 推荐(0)
摘要: "洛谷P1016" "大佬的博客" 又是抄的题解。。。自己做的时候 一定要多想想可能的情况 ,因为考试只有一次机会。 注释写在代码里了。 cpp include include include include define inf 9999999 using namespace std; const 阅读全文
posted @ 2019-08-08 19:58 蟹蟹王 阅读(240) 评论(2) 推荐(1)