无限透明的琐碎故事

Vol04-001
很早之前就知道这个漫画《指尖奶茶》,也知道戈城为这个漫画写下了他最柔软的一篇评论,但是因为懒得在线看,所以直到最近戈城把它下载下来我才开始看。
在看介绍时,也是被那一连串的变态名词(女装癖、幼驯染、校园恋、百合、伪百合、食LOLI、吞御姐、姐弟不纯、邻家大叔、女装勾引好兄弟还有锁骨控)吓到了,刚开始看就在第二页看到了邪恶的内容时又被吓到了,不过看完第一话就还是忍不住看下去了……很丰满和有趣的人物,很过分和引人的情节,这是一开始的感觉。
下一阶段,陷入对人物感情的纠结,让人不想放弃的出色的水面,不知道自己有多可爱的小左,还有这个贪心的男主角小纪,最终还是要把愤怒指向作者,明明知道我们读者也在这两个人里做不出选择,为什么不替我们、替小纪选择一个好了,有个愤恨的都比这样纠结着好啊。
再后来,更多的人物出场,每个人物又展示出自己独特的一面,瞬间有点消化不了情节,在别的漫画里一个人物出现怎么也得一两页,在这个漫画里只要两小幅就够了,第一幅铺垫,第二幅直接就出现了……于是,我发现,这时我的感觉已不受情节牵绊。昨天晚上,坐在床上洗脚,我想着漫画里那些人物的情感,那些刺目的字眼“我要成为你最重要的人”“我喜欢你”“不要丢下我”“我最喜欢***了”那些大胆的直白的坦率的表达都让我不能释怀,能说出这样的话的,都是最纯的人和最纯的感情啊,不像我们现在流行的,在表达“我爱你”的形式上做文章,要学会多少种语言的“我爱你”,要送有着心形的礼物,要去吃专门的情侣大餐,没必要。只需要当着他/她的面大声说出心里最想说的话就好了。
于是,我想说那句显得有些矫情的话“这漫画没有错,是我们复杂了”。漫画里的每个人都在按照自己的心愿对待感情,小纪也只是在为自己的行为的道德性纠结,可他从来不会限制自己因为喜欢谁而走近谁的举动,我也想不到任何可以责备他的话,就像他对他姐姐喊得“怎么能限制一个人喜欢另外一个人呢”,如果你还是受不了他跟这两个女孩纠缠不清,那么,也许就是你不包容、不淡定了。
其实,我现在还有最后九话没有看,当然我是说如果作者再也不画这漫画了(看这漫画,你觉得作者像要好好给它安顿个结尾的样子么?),在看到40画时情节怎么发展对我已经不重要了,对作者安排的各种有H倾向的画面也不感冒了,我在这漫画里想要得到的是种单纯的氛围, 我对戈城说我这两天的感情思维方式都被它影响了。而我俩之间的感情,那种就是想在一起、在一起就会高兴的感觉,那种无论如何都不会放弃的坚定,都让我能够自己一个人偷偷傻笑,我知道我们还有着和这漫画里人物一样纯纯的感情,你知道看了这漫画我会更爱惜这感情,因为,它已是珍品。
这漫画封面上写着“无限透明的琐碎故事”,透明到,你看得到主人公所有变态的心理,可你也知道这些心理也会出现在你自己身上;琐碎到,只是那么几个人物,却全部搅和成了关系复杂的一团,可是它是个好故事,尤其是你需要思考自己的感情的时候,而如果你只想看变态故事和H画面我真不推荐你看它。

比较各种Dijkstra最短路算法的matlab代码

整整一天,我都在网络上寻找Dijkstra算法的matlab代码。我找到了许多,然而,它们全部都不能满足我的需要。
后来我只好参考wiki给出的正确的dijkstra算法,自己写了个代码。wiki给出的算法在此:
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
摘录如下。

1 function Dijkstra(Graph, source):
2 for each vertex v in Graph: // Initializations
3 dist[v] := infinity // Unknown distance function from source to v
4 previous[v] := undefined // Previous node in optimal path from source
5 dist[source] := 0 // Distance from source to source
6 Q := the set of all nodes in Graph
// All nodes in the graph are unoptimized – thus are in Q
7 while Q is not empty: // The main loop
8 u := vertex in Q with smallest dist[]
9 if dist[u] = infinity:
10 break // all remaining vertices are inaccessible
11 remove u from Q
12 for each neighbor v of u: // where v has not yet been removed from Q.
13 alt := dist[u] + dist_between(u, v)
14 if alt < dist[v]: // Relax (u,v,a)
15 dist[v] := alt
16 previous[v] := u
17 return previous[]

作为教训,我总结一下网络上能找到的大多数dijkstra算法的matlab代码的优劣。
1.“Dijkstra最短路算法通用Matlab程序”
这套代码可以说是国内传播最广的dijkstra算法的matla实现,可以在许多网站找到,例如这里:
http://www.labfans.com/bbs/t3095/
它的输入是赋权邻接矩阵和起始点,输出是起始点到各点的距离和最短路树。代码在这里
然而!它是错的!
用这套代码可以得出起始点到各点的距离,然而算法得出的最短路树完全是错的,甚至用示例数据得到的最短路树都根本不可理解。算法根本就没按正确的dijksta算法的思路走。
2.Dijkstra 算法 matlab程序
这套算法也流传甚广,链接在这里:
http://www.9414.net/Article/jsjjjs/biafh/200504/735.html
这套算法很简短,功能也很简单。它的输入是赋权邻接矩阵,输出是起始点到各点的距离和最短路树。使用示例数据可以得到正确的结果。缺点是它仅能算出从点1到其他各点的距离。
代码在这里
后来我又发现了第二个缺点:这算法也是错的。从根本上就是错的,只是恰好能把示例数据算对而已。
3~4.来自mathworks的各种dijkstra代码
它们应该都是对的,然而太复杂,不适合我的应用;它们各自具有其应用范围,我没有依次尝试,就放在这里而已。
代码A只能提供从某点到某点的距离,然而不提供从某点到其它任意点的最短路树。
代码B能够提供从某点到其它任意点的最短路树,但是它是基于地图的,需要提供每个点的坐标。
5.正确的,可以给出从某点到其它任意点的最短路树的dijkstra算法代码
我写的,应该没问题了。
输入是赋权邻接矩阵和起始点,输出起始点到其他各点的距离和最短路树。
代码在此