08 2019 档案
摘要:"题目传送门" 心路历程: 刚一看,这不是傻逼题吗,还是紫的,赶紧$A$啊。结果一波交上去,37分。。。想了两天没想出怎么错的。最后无奈的看了题解。哦哦哦,最短路不止一条哇! 尴尬的是题解几乎全被$Hack$ 思路: 1. 跑两遍最短路,标记一下在从$x1$到$y1$的路径。再跑两遍最短路,将在$x
阅读全文
摘要:"题目传送门" 太巧妙了。。。 推荐大佬的 "题解" 当$n=2$时,答案就是$dis[1][2]$ 那么答案大于2时呢? 考虑3号点,因为1,和2号点的路径已经统计到答案里去了,3号点对答案产生的贡献只有蓝色部分的路径长度。那怎么求呢?考虑弗洛伊德求最短路的方法,借助中间点更新(这里不太一样啊$h
阅读全文
摘要:自闭总结 $A$ 这样的傻逼题我竟然调了一个小时。。。 $B$ 我竟然傻逼的枚举面积,不就是最大的乘最小的么。 $NO$的情况: (令$s$等于面积) $1.$ $s$除$val[i]$除不尽。 $2.$可以组成正方形的棍条数不一样 $3.$没有可以与当前棍组成正方形的棍 $C$ $zcy$的思路:
阅读全文
摘要:"比赛来源" 全是数学题。。。 T1 虽然是一眼秒,但当时并不太理解。每一位分开考虑,因为互不影响。可以感性理解全部分成一组最优。 稍微证明一下,对于每一位,如果这一位上的1 的个数为奇数个,那么无论如何这一位都异或不成0,那么就加进答案。分成一组答案不会改变。 (不是很清楚,自己理解吧) T2 说
阅读全文
摘要:"题目链接" 真真一道倍增好题。 先说70分思路 我的: 从后边的城市往前跑,这样就能$n^2$时间内得到从城市$i$到城市$j$的路程了。........反正超级麻烦,最后也没写出来。后来想想最直接的暴力好像是$n m$,70分也能过。 代码估计以后也看不懂了。。。 cpp include inc
阅读全文
摘要:"题目传送门" 对刚学的欧拉回路的练习。 错点: 1. 万一是欧拉路径不是欧拉回路的话,不能只选一个最小的点当起点。要选度数为奇数的两个点中较小的一个。 2. $1$不一定在连通图内,不能单纯的把$1$当做起点。 3.见代码中的注释。
阅读全文
摘要:"题目链接" 刚开始学欧拉回路,因为不太理解导致$WA$了两次。 错点: $1.$ 度数为奇数个的点数大于2时不存在欧拉路径(是偶数个也不行)。 $2.$ 如果存在欧拉路径而不是欧拉回路时,不能随便选一个点当做起点,必须选度数为奇数的两个点中的一个。 cpp include include incl
阅读全文
摘要:"题目链接" "抄的题解的链接" 大体理解了思路,经常复习复习,不要忘了。 因为每个点的出度只有1,那么每个点向下走的路径是唯一的。 题解里说的两种情况 代码: cpp include include include using namespace std; const int N = 200005
阅读全文
摘要:"黑题纪念" 自己的是$DP$的思路,但数据加强版明显不能$DP$。 结合两篇题解终于明白了思路: "1" "2" 错点:当堆顶的元素需要退栈的时候(向下移动),当前的元素$x$要进堆两次。 cpp include include include include define LL long lon
阅读全文
摘要:"题目地址" 之前$A$的题(抄题解),都不会了。。。 用$f[i][j]$表示到$(i,j)$最长的左对角线的。 。。。其实是结合了两篇题解 "1" "2" 注意题解二中说的不满足的情况$(dp=1)$。
阅读全文
摘要:"题目地址" 二维的单调队列题。 错因:统计答案时必须$i =n$并且$j =n$才能更新答案,这里没判断。而如果$i\,,j$都从$n$开始枚举的话,列的话是没问题的(因为$ans$数组里存的是这一个点向前最多$n$个位置的最大值或最小值),但是考虑行,前$n$行的值都会被忽略,也就是说答案只会从
阅读全文
摘要:"题目传送门" 结合两篇题解: "1" "2" 有了我这篇博客。 主要思路是题解1。初始时先将所有骨牌翻转成上边的点数大,假设这时上下点数之差为$tot$,此时翻转的骨牌数记为$base$。那么现在要再次翻转骨牌使得差值变小,假设第$i$张骨牌上下差值为$k$,那么将这张骨牌翻转过来差值会减小$2
阅读全文
摘要: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
阅读全文
摘要:"luoguP1169" 抄题解的代码。。。 "大佬的博客" 加上个人理解: 最终答案肯定是某个极大子矩形。那么一定会存在一个底边上的点$a$使得$up[i][j]$(最小的那个)等于矩形的高。枚举每个点,把它当做点$a$,那么答案一定会被枚举到。既然知道了矩形的高(该点向上能到的最高位置(最大长度
阅读全文
摘要:"提交的地方" 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'
阅读全文
摘要:"题目传送门" 单调队列的题目还是滑动窗口最典型,如果猜到可以用单调队列解题,看看能否通过什么方法转化成滑动窗口(如二分答案)。单调队列的题一般涉及最大值和最小值的问题,好像有的题目也可以用ST表解决。 这道题因为知道是单调队列才做的(硬上单调队列...) 简化题意:找到$x$坐标相差最近的两个点,
阅读全文
摘要:"题目地址" 之前见过类似的题目(见《贪心》赵和旭课件),思路知道,不再赘述。 错因:(处理麻烦先不算) 假设现在有5个点,从左到右依次编号1,2,3,4,5。假设第一次选了3号点,后来“反悔”了一次,选了2号和4号。假设最终答案选1,3,5号最优。我自己的代码中反悔了一次就处理不到再反悔一次的情况
阅读全文
摘要:"题目地址" 很少做过二分图的题,果然不太熟练。 前置知识:对于一张图,如果没有奇环的话就是二分图。有没有奇环可以通过染色过程中有没有矛盾来判断。 坑点(是你自己菜,不能说人家坑啊) 1.图不一定联通。不能随便只找一个点(比如1)就完事了。要对每个连通块进行分析。 2.(自己写挂的地方)找到矛盾就$
阅读全文
摘要:"洛谷P1058" 第一次做这种类型的题目。 为什么要倒着存:因为如果从上往下存的话,每往下一层左边界会向左移,不知道最后会移到哪里。如果倒过来存的话,越往下会越往右移,好操作。
阅读全文
摘要:"洛谷P1016" "大佬的博客" 又是抄的题解。。。自己做的时候 一定要多想想可能的情况 ,因为考试只有一次机会。 注释写在代码里了。 cpp include include include include define inf 9999999 using namespace std; const
阅读全文
摘要:"一道大难题" "原著" 好处理的是0区间,把他们删掉,然后重标号。对于0区间在$L$数组中把它并到右边,在$R$数组中把它并到左边。这样的作用是对于1区间,如果它其中包含部分0区间,就可以去掉这些0区间。(说不太清楚,手推一下样例) 然后对剩下的1区间处理一下(重标号了嘛),排序,去掉包含了小区间
阅读全文

浙公网安备 33010602011771号