随笔分类 -  图论--拓扑

摘要:题意:给你许多字符串,你可以改变字母序大小,问有哪些字符串可能成为字典序最小的字符串。 我们考虑把这些字符串都塞到$trie$树上。之后检索每一个字符串的时候,我们看和他同一层的地方是否有字符,如果有,我们就从他到同层字符连一条有向边,因为 只有同层字符 妨碍他可能会成为第一。之后进行拓扑排序,检查 阅读全文
posted @ 2018-11-06 19:43 cellur925&Chemist 阅读(334) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-17 21:33 cellur925&Chemist 阅读(9) 评论(0) 推荐(0)
摘要:题目传送门 这道题目没有什么难的,是一道拓扑排序+递推的题目。我的思路是开始处理出拓扑序,然后因为数据范围很小怎么搞都可以,就邻接矩阵存图+暴力枚举。结果60分。 后来看题解发现,大家都是边拓扑边进行递推的,才发现自己这部分可能不对。另外的,就都是一些细节了==。 Code 1 #include<c 阅读全文
posted @ 2018-09-23 07:19 cellur925&Chemist 阅读(159) 评论(0) 推荐(0)
摘要:一、基本算法 拓扑序列:对于一张有向图,求一个序列ai若对于每一条边(u,v),都满足au<=av ,则称这个序列为这张有向图的拓扑序列,一张图可能有多个拓扑序列。 求拓扑序列:找到入度为0的点,加入队列中,每次取出队列顶端的点加入拓扑序列的最后,将它到达的点的入度-1,然后再重复做,直到没有点的入 阅读全文
posted @ 2018-09-18 17:36 cellur925&Chemist 阅读(185) 评论(0) 推荐(0)
摘要:题目传送门 我们注意到,题目中说:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠。有阶级关系,满满的拓扑排序氛围。但是,如果我们按大于等于的关系连,等于的情况就会连双向边,这不利于我们在有向无环图中(DAG)进行拓扑排序。于是我们不妨换一种思路,将所有小于当前 阅读全文
posted @ 2018-08-29 11:17 cellur925&Chemist 阅读(186) 评论(0) 推荐(0)
摘要:题目传送门 由于满足游览先后顺序从西到东的性质,我们很自然的想到用拓扑排序处理出一个合理的游览顺序。 然鹅,之后呢? 事实上,拓扑排序常与Dp相结合,解决后效性。我们就可以在每次拓扑入队的时候更新答案,设f[i]表示终点为i能经过的最多城市数。则f[j]=max(f[j],f[i]+1). *Upd 阅读全文
posted @ 2018-08-16 22:08 cellur925&Chemist 阅读(136) 评论(0) 推荐(0)
摘要:题目传送门 这题我们一看就知道是拓扑排序,然而在如何转化问题上花了大工夫,一个小时后最后还是无奈看了题解qwq。 显然我们可以对于每个任务,从他的前导任务到他连一条边,最后我们可以得到一个DAG。在这个DAG上进行拓扑排序,更新做到第j号任务的花费,花费就是max(f[j],f[i]+val[j]) 阅读全文
posted @ 2018-08-14 23:08 cellur925&Chemist 阅读(147) 评论(0) 推荐(0)