摘要:
初中组。。唉 题意有点误解,当前在x点走一步,gps产生代价条件是沿非x到n的最短路走。 直接倒着跑两遍$i\sim n$的两种最短路,然后枚举每条边走的时候是否可以在两种最短路上,不是就产生1个代价,然后以这个代价重新建图正着跑一遍最短路即可。 1 #include<iostream> 2 #in 阅读全文
posted @ 2019-09-26 22:12
Ametsuji_akiya
阅读(234)
评论(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
阅读(144)
评论(0)
推荐(0)

浙公网安备 33010602011771号