摘要: 这道题不看书上的分析还真不知道怎么做,关键就是转化成图论,然后利用拓扑排序判断DAG来做。 另外一个值得学习的地方是编号的时候,A+和A-可分别变为2n+1和2n,然后一个重要的关系要利用好就是(2n+1)^1 = 2n,2n^1 = (2n+1),可以很容易的进行A+和A-的变换。 #incl... 阅读全文
posted @ 2015-02-03 21:48 Popco 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 这道题仍然是两个月之前做过,当时是RE,但不知为何当时没有考虑到把数组开的大一点就可以了。今天拿出代码将1024改为102400,瞬间AC。 网上搜了下竟然没有这个题的题解。我的做法还是很普通的做法,就是使用了STL的几个工具而已,比如vector、string、erase、remove、str... 阅读全文
posted @ 2015-02-03 19:53 Popco 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 两个月前就搞这道题,昨天翻出来直接修改的当时的超时代码,经历了多种错误,最后终于还是AC了。 这道题还是挺好的一道题,需要正反两次BFS,需要加各种防超时的判断。实际上还是考差对问题的理解,什么时候应该剪枝,什么地方不必重复判断。 第一次反着BFS,找到各点到终点的最短距离。第二次正着BFS,... 阅读全文
posted @ 2015-02-03 15:05 Popco 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 这题本来想按照算法竞赛入门经典上的DFS来做,但是无奈这个题有点特殊,有重边的情况,所以学习了另外一种复杂度相同切更好理解的一种算法。 #include #include #include #include #define maxn 512using namespace std;int n, m... 阅读全文
posted @ 2015-02-03 12:21 Popco 阅读(130) 评论(0) 推荐(0) 编辑