dfs
空灰冰魂
=NULL
展开
-
【BZOJ3629】【JLOI2014】聪明的燕姿 dfs 素数筛
题解: 我们发现把一个数分解质因数以后然后可以根据每种质因数的个数算出这个数的约数和。所以我们可以暴力拆解每个数,根号时间复杂度分解。 就是枚举每种质数它用了多少,然后这个数除一下再往下一层深搜。 代码: #include #include #include #include #define N 50100 using namespace std; int prime[N],cnt原创 2015-03-28 09:19:09 · 1550 阅读 · 0 评论 -
【BZOJ1912】【Apio2010】巡逻 树上最长链(才不是树的直径呢)
题解: 对于 k==0k==0 的情况: 我们发现遍历一棵树最后回到原点,那么对于所有的边,我们都是走过去,再走回来。 答案 (n−11)(n-1 对于 k==1k==1 的情况 设每条边长度为1,然后树上找最长链,然后这条链走过去就不再一步步往回了,直接从链底连一条边去链顶,然后链中间连的那些点,直接走过去再走回来,它们那些边的答案是不变的。 答案 (n−11)−(链长度)+1(n-原创 2015-04-15 17:47:41 · 2956 阅读 · 3 评论 -
【BZOJ1486】【HNOI2009】最小圈 分数规划 dfs判负环。
题解: 分数规划Qwq。 然而它卡判点入n次的那种spfa判断负环。 于是有了一种黑科技: 我们从枚举点 i 开始 dfs ,然后扫到点 j 时,保持 i~j 这一条链上的点被标记,然后强行判断再扫一个点 k 时,是否会到这个链上,然后是不是能重新更新此点 k 与 i 的距离。。。 这个东西是指数级别时间复杂度的,然而却可以过这道题。 代码: #include #inclu原创 2015-06-03 17:22:53 · 1579 阅读 · 0 评论