随笔分类 -  【★★★】

自己没想出来的题,以便知道自己有多菜。
摘要:关于Kruskal重构树可以翻阅本人的最小生成树笔记。 这题明显裸的Kruskal重构树。 然后这题限制$\le p$的边不能走,实际上就是要满足走最小边权最大的瓶颈路,于是跑最大生成树,构建Kruskal重构树。 通过倍增跳到最浅祖先位置,就get到了一个点可以走到的点集(子树所有叶子)。这些点里 阅读全文
posted @ 2019-10-15 19:36 Ametsuji_akiya 阅读(139) 评论(0) 推荐(0)
摘要:标题解法是吓人的。 图上修改询问,不好用数据结构操作。尝试转化为树来维护。发现(不要问怎么发现的)最小生成树在这里比较行得通,因为最近异色点对一定是相邻的(很好想),所以只要看最短的一条两端连着异色点的边,而分析一下kruskal的过程,发现满足这种要求的最小边一定会被加进去(因为相邻异色点总要联通 阅读全文
posted @ 2019-10-15 12:24 Ametsuji_akiya 阅读(198) 评论(0) 推荐(0)
摘要:题意:$n$个点,$q$次建边,每次建边选定$x,y$,权值$c$,然后接着$(y,x+1,c+1),(x+1,y+1,c+2),(y+1,x+2,c+3),(x+2,y+2,c+4)\dots$(画图理解),然后求最小生成树。 一开始想的是堆维护最小。。发现不行````` 这题是等效转化。回顾kr 阅读全文
posted @ 2019-10-14 17:56 Ametsuji_akiya 阅读(303) 评论(0) 推荐(0)
摘要:简化题意:一序列,查询区间和$s_{i\sim j}$已知花费$c_{i,j}$,求知悉所有数最小花费。 神仙思路题 查询一个区间$i\sim j$,记前缀和$sum$,则如果在某时候知道了$sum_{i-1}$或者$sum_j$中的任意一个,另一个也可以知道,那么可以选择花费$c_{i,j}$连无 阅读全文
posted @ 2019-10-12 15:55 Ametsuji_akiya 阅读(114) 评论(0) 推荐(0)
摘要:显然分析可知这个图最后连起来是一个森林,每棵树有一个根再算一个代价。那么这些跟需要连向某一点一个建立水库的代价,且根可以有多个但不能没有,则考虑用超级源点0向所有点连虚边,Prim跑MST即可保证有至少一个根。 1 #include<iostream> 2 #include<cstdio> 3 #i 阅读全文
posted @ 2019-10-12 10:56 Ametsuji_akiya 阅读(118) 评论(0) 推荐(0)
摘要:这题是一个类似于区间选点,但是有一些不等式有三个未知量参与的情况。 依题意,套路性的,将小时数向右平移1个单位后,设$f_i$为前$i$小时工作的人数最少是多少,$f_{24}$即为所求。设$c_i$为第$i$小时可选人数,$lim_i$为要求人数下限。 $0\le f_i-f_{i-1}\le c 阅读全文
posted @ 2019-10-10 11:21 Ametsuji_akiya 阅读(148) 评论(0) 推荐(1)
摘要:以往对于差分约束理解不是太深,导致这题屡次被坑,在此记录一下细节的理解。 差分约束实际上就是利用了spfa的一个特性:只要有$dis_y>dis_x+w_{x,y}$就松弛,直到所有边关系都满足$dis_y\le dis_x+w_{x,y}$,而这一不等式恰好可以套在差分约束问题里。差分约束要求满足 阅读全文
posted @ 2019-10-08 18:39 Ametsuji_akiya 阅读(186) 评论(0) 推荐(0)
摘要:题意:求$K$的倍数中数位和的最小值。 一开始有一种思路:由于产生答案的数字可能非常大,不便枚举,考虑转化为构造一个数字可以有$x\mod k=0$。然后二分答案数位和,数位DP检验是否存在,但是由于数位DP还是局限于有限大小的数字,所以并不可行。````` 套路见少了。实际上,这种构造数字满足某些 阅读全文
posted @ 2019-10-08 15:21 Ametsuji_akiya 阅读(175) 评论(0) 推荐(0)
摘要:你们都说这题简单可是我想了好久,可能还是太菜,泪拉了下来 由于这题网上全部是一句话题解,我并不能理解个中原因,向hkk神仙请教被以“很显然的做法”驳回。。神仙做题全都是显然吗? 最后自己yy出了一种新做法应该叫新的科学严谨的理解方法,不知道是不是一种正确思路 首先尝试优化建边,对于一个点对,他们连一 阅读全文
posted @ 2019-09-29 20:13 Ametsuji_akiya 阅读(206) 评论(0) 推荐(0)
摘要:声明:关于这题的$O(mn)$尚且未深入理解,虽然之前有跟这位神仙聊过做法但并没太懂。。 $O(mn\log m)$同余最短路做法: 首先不妨抽出最小的$a_i=m$,那么剩余的$a$如果可以表示出$x$,那么$x+km$的所有数都可以表出。所以对于$m$的同一个同余类$i\in[0,m)$,我们希 阅读全文
posted @ 2019-09-29 09:56 Ametsuji_akiya 阅读(344) 评论(0) 推荐(1)
摘要:首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可。考虑怎么优化。发现$rank$很小,考虑从$rank$入手。换一种统计方法,看每个点$x$如果作为别的点的兴趣点,可能产生多少贡献。那么别的点$i$到他的最短距离设为$dis_i$,$i$到所有$ran 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(195) 评论(0) 推荐(0)
摘要:一个最小环裸题。最小环的两种求法dijkstra和Floyd直接参见这里我就是从这里学的,不想写了。 注意这里最重要的一个点是利用了Floyd的dp过程中路径上点不超过$k$这一性质,来枚举环上最大编号并枚举连边,这样另外枚举的两个点的最短路肯定不会经过和$k$连的边。 坑点: 平常inf都开0x3 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(183) 评论(0) 推荐(0)
摘要:这题以前就被灌输了“打表找规律”的思想,所以一直没有好好想这道题,过了一年还不太会qwq。虽然好像确实很简单,但是还是带着感觉会被嘲讽的心态写这个题解。。。而且还有一个log做法不会。。。 法1:(一开始没看懂,后由hkk神仙教导ORZ) 因为$ax+by=k$如果无视$\{x,y\}$非负整数解的 阅读全文
posted @ 2019-09-27 20:55 Ametsuji_akiya 阅读(235) 评论(0) 推荐(0)
摘要:感觉和以前做过的一个推箱子很像,都是可以用bfs解决的,而且都是手玩出结论。 因为起始棋子肯定是要和空格交换的,所以第一件事是先把空格移到棋子旁边。然后讨论怎么设计搜索状态。由于和推箱子实在太像了,所以直接借鉴,发现空格总是要贴着棋子走的要不然就是换个贴的方向继续走(这里的走就是指交换)。于是绑定两 阅读全文
posted @ 2019-09-26 22:12 Ametsuji_akiya 阅读(201) 评论(0) 推荐(0)
摘要:显然这里的$n^2$级别的边数不能全建出来,于是盯住xor这个关键点去 瞎猜 探究有没有什么特殊性质可以使得一些边没有必要建出来。 发现一个点经过一次xor $x$,花费$x$这么多代价(先不看$C$),到达另一个点$u\text{xor}x$。 结合异或性质,发现其实这个过程完全可以通过把$x$拆 阅读全文
posted @ 2019-09-26 22:12 Ametsuji_akiya 阅读(144) 评论(0) 推荐(0)
摘要:跑一遍mst。对于非mst上的边,显然删掉不影响。 如果删边在树上,相当于这时剩下两个连通块。可以证明要重新构成mst只需要再加一条连接两个连通块的最小边,不会证,yy一下,因为原来连通块连的边权和已经最小化了,就不要动,如果换用两条以上的边,肯定不会更优。 所以问题就是断掉树边,找最小联通边。可以 阅读全文
posted @ 2019-09-26 10:07 Ametsuji_akiya 阅读(228) 评论(0) 推荐(0)
摘要:看到题意最小化最长路径,显然二分答案,枚举链长度不超过$\text{mid}$,然后尝试检验。````` 检验是否存在这样一个边置为0后,全部链长$\le\text{mid}$,其最终目标就是、要让所有$>\text{mid}$的链长通过找出一个为0的公共边减掉而全部变为$\le\text{mid} 阅读全文
posted @ 2019-09-26 10:07 Ametsuji_akiya 阅读(132) 评论(0) 推荐(0)
摘要:操作0,显然直接线段树解决。 操作1,瓶颈在于重叠的链只算一次。在线段树上来看,如果一个区间被覆盖了,那么只算这个区间,子树里面也就不管了。 考虑对节点打标记来表示是否覆盖。但是,如果统一打完之后,并不方便计算打上标记的点的和。明确目标,现在希望能覆盖很多小区间的一个大区间被打上标记之后用他来更新答 阅读全文
posted @ 2019-09-26 10:07 Ametsuji_akiya 阅读(143) 评论(0) 推荐(0)
摘要:一个几乎用不到的在线维护平面内线段关系的$O(nlog^2n)$结构。 阅读全文
posted @ 2019-09-23 20:57 Ametsuji_akiya 阅读(84) 评论(0) 推荐(0)
摘要:思维题,思路比较神仙。 个人思路过程:个人只想到了只要中间棋子开始向外跳了,以后就不应该向内跳了,这样很蠢。所以应该要么先向内跳一会,要么直接开始中间的向外跳。不知道怎么处理,就卡住了。 20pts:暴力BFS。 事实上,这题的解题关键就在于一次只允许跳过1颗棋子,这表明向内跳只能是距离中间棋子近的 阅读全文
posted @ 2019-09-23 11:00 Ametsuji_akiya 阅读(232) 评论(0) 推荐(0)