码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #290 Div1 A

时间:2015-02-04 09:29:58      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:图论   拓扑排序   字典序   

Codeforces Round #290 Div1 A
Problem
  给N串字符串Si,通常定义字典序大小关系为 ‘a‘<‘b‘<‘c‘<......<‘y‘<‘z‘,现要求重新定义大小关系使得对于任意 i,j(i<j)满足Si <Sj,输出大小关系(一串‘a‘-‘z‘的排列),或者输出不存在(任意大小关系都不能满足要求)。

Limits
Time Limit(ms): 2000
Memory Limit(MB): 256
N: 100
|Si|: 100

Solution
  用图论方法解决,发现满足拓扑关系。枚举相邻两串Si 与 S(i+1),若发现Si中某字符c1 必须 小于 S(i+1)中某字符c2,则c1到c2连一条边,若有环则无解,否则拓扑排序求解。同时,若S(i+1)是Si 的真子串,也无解。

More
  典型的用图论解决实际问题的题目,不妨用关系学知识来分析。定义关系P,c1 P c2表示c1小于c2,则c1到c2有一条有向边,关系P满足反自反性,反对称性,传递性,与拓扑关系一致。若图中出现环,则与P的反自反性,反对称性矛盾。否则用拓扑排序解即可。

Complexity
Time Complexity: O(N*|Si|)
Memory Complexity: O(N*|Si|)

Source

Code


Codeforces Round #290 Div1 A

标签:图论   拓扑排序   字典序   

原文地址:http://blog.csdn.net/uestc_peterpan/article/details/43459007

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!