LOJ-10095(缩点的特殊使用)】的更多相关文章

loj#2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点 链接 loj 思路 用交错关系建出图来,发现可以直接缩点,拓扑统计. 完了吗,不,瓶颈在于边数太多了,线段树优化建图. 细节 建新图要判重. 内存永远算不对 代码 #include <bits/stdc++.h> #define ll long long using namespace std; const int N=1e6+7,mod=1e9+7; ll read() { ll x=0,f=1;char s=getc…
强连通分量的定义: 在一张有向图中,如果两个点u,v之间能相互到达则称这两个点u,v是强连通的,在这个基础上如果有向图G中的任意两个顶点都强连通,那么称图G是一个强连通图.有向非强连通图的极大强连通子图称为强连通分量.极大强连通子图就是强连通子图中最大的那个,它不被其他强连通子图所包括. 概念挺多,特别混乱的感觉.理一下... 一个强连通图中的每一对顶点都必须强连通. 一个强连通图不叫做强连通分量,只叫做强连通图. 一个强连通子图G若为强连通分量那么必然是一个最大的强连通子图,也就是原图中不存在…
背景 今天\(loj\)挂了,于是就有了闲情雅致来刷\(luogu\) 题面 洛谷P3387 [模板]缩点传送门 题意 给定一个\(n\)个点\(m\)条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次. 思路 ~~点击获得更好的阅读体验~~ \(Kosaraju\)缩点+记忆化搜索 什么是\(Kosaraju\)缩点? 与\(Tarjan\)缩点的时间复杂度差不多,都是\(O(n+m)…
第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按照右端点排序,每次贪心的从区间的最右边种,然后检查下一个区间是否缺少,缺的话就在最右边继续补. 3):「一本通 1.1 例 3」喷水装置:这题可以发现每个装置所能覆盖的区间是一个矩形,所以这题就变成了给了一堆线段,选出最少线段覆盖整个区间,按照右端点排序然后贪心就可以了. 4):「一本通 1.1 例…
[LOJ#2330]「清华集训 2017」榕树之心 试题描述 深秋.冷风吹散了最后一丝夏日的暑气,也吹落了榕树脚下灌木丛的叶子.相识数年的Evan和Lyra再次回到了小时候见面的茂盛榕树之下.小溪依旧,石桥依旧,榕树虽是历经荣枯更迭,依旧亭亭如盖,只是Evan和Lyra再也不是七八年前不经世事的少年了. -- "已经快是严冬了,榕树的叶子还没落呢--" "榕树是常绿树,是看不到明显的落叶季节的--" "唉--想不到已经七年了呢.榕树还是当年的榕树,你却不是…
题目传送门:LOJ #546. 题意简述: 题目说的很清楚了. 题解: 将不包含起点或障碍物的连续的行或列缩成一行或一列,不会影响答案. 处理过后,新的网格图的行数和列数最多为 \(2k + 3\). 考虑将同一行连续的不包含障碍物的格子标记为一个点,同一列同理. 这样处理过后,网格图对应的点数最多为 \(6k + 6\). 某一行的无障碍连续段如果和某一列的无障碍连续段相交,就在它们所表示的点之间连一条权值为 \(1\) 的双向边. 从起点所在的行连续段和列连续段表示的 \(2\) 个源点开始…
题目传送门:LOJ #2085. 两个月之前做的傻题,还是有必要补一下博客. 题意简述: 求分子为不超过 \(n\) 的正整数,分母为不超过 \(m\) 的正整数的所有互不相等的分数中,有多少在 \(k\) 进制下的纯循环小数. 题解: 设分子为 \(x\),分母为 \(y\). 首先,因为要求的是互不相等的分数,取最简分数,即 \(x\perp y\). 其次,要求是纯循环小数,考虑竖式除法的过程,可以发现 \(\displaystyle\frac{x}{y}\) 在 \(k\) 进制下纯循环…
方法一: 朴素思路:果断建图,每次二分出一个区间然后要向这个区间每个点连有向边,然后一个环的话是可以互相引爆的,缩点之后就是一个DAG,求每个点出发有多少可达点. 然后注意两个问题: 上述建边显然$n^2$爆炸.因为是区间建边,所以用线段树建边优化,不过这题比较特殊,只是点向区间连边,分析线段树建边原理,可以完全把出树省掉,就用一个入树连边就行了.(其实边数还是很多,所以边上界我开了$2\times 10^7$...) 这样缩点后DAG上找连通点数,有一道类似的题,不过最多数据只能出到$2000…
loj 首先,所有位置最多被染色一次,因为要染多次的话,还不如一开始就染成最终的颜色.并且你可以一开始就染好色 因为最终长度为2,那么如果染完后这个序列可以被折完,那么首先最多只有两种颜色,还有就是要满足对于所有同色极大联通块长度都要是偶数,不过第一个和最后一个长度可以为奇数 证明的话,先证充分条件,即这样子一定合法.可以搞出一个方法,每次只操作后面.先把最后面一个连通块长度缩成1(这样一定最优),然后因为接下来一个连通块长度为偶数,所以可以把接下来那个轴对称翻过去,然后重复这个操作直到长度为2…
题目:https://loj.ac/problem/2554 一个“连续”的区间必然是一个排列.所有 r 不同的.len 最长的“连续”区间只有包含.相离,不会相交,不然整个是一个“连续”区间. 只有包含.相离,可以看出一个树形结构.直接暴露在自己区间里的小区间(即没有被其他小区间包含)就是自己的孩子. 每个孩子的值是一个区间,自己的值也是一个区间,不同孩子的区间不能融合,所以每个孩子看成一个点,自己的右端点也是一个点,值就是一个长度为 “孩子个数+1” 的合法排列.合法指的是除了最后一个位置的…