摘要:
dfs 裸题,大力搜索就行。。。 题里说只能向左翻,但是你可以手动分块一下,对于翻折点在右半部分的,直接翻,对于左半部分的,等价于把左边翻到右边再对称,而这已经在判断的时候检查了,所以翻折长度控制在了$\frac{len}{2}$ 所以复杂度会优一些。 #include<bits/stdc++.h> 阅读全文
摘要:
$lower_bound:$用法$:lowerbound(begin,end,num)$ 在升序数组$[begin,end)$区间中查找并返回第一个大于等于$num$的数的地址。 int a[] = {1,2,3,4,5}; int x = lower_bound(a,a+5,3)-a;//x为下标 阅读全文
摘要:
负环:一个图中边权之和为负数的回路 原理很简单,在$spfa$每次入队一个点的时候判断一下该点入队次数,若大于等于$n$,则说明进行了至少$n$次松弛操作,这显然是不合法的,证明每次走这条路都会使最短路更短,也就是说这条路可以反复到达并且贡献为负,这便是有负环。 bool spfa_check(){ 阅读全文