摘要: 1 struct treap_node { 2 treap_node *left, *right; 3 int value, fix, size; 4 }; 5 6 void treap_maintain(treap_node* a) { 7 a->size... 阅读全文
posted @ 2015-03-27 23:08 Mite 阅读(165) 评论(0) 推荐(0)
摘要: 1 int n; 2 int p[MAXN],r[MAXN],u[MAXN],v[MAXN],w[MAXN]; 3 int cmp(const int i,const int j) { 4 return w[i] < w[j]; 5 } 6 int find(int x) { 7 ... 阅读全文
posted @ 2015-03-26 20:57 Mite 阅读(130) 评论(0) 推荐(0)
摘要: 1 int n; 2 int road[MAXN][MAXN]; 3 int dis[MAXN]; 4 bool vis[MAXN]; 5 int prim() { 6 memset(vis, 0, sizeof(vis)); 7 for(int i = 0; i road[id... 阅读全文
posted @ 2015-03-26 20:52 Mite 阅读(139) 评论(0) 推荐(0)
摘要: 刚开始学习AC自动机吧 总之WA了很多T了很多(没错 的确T了 因为在get_fail的时候很沙茶 少写了一句代码)但是强大的gdb让我沙茶地调了半天 最终A掉这道模板题 = = (感觉还是蛮爽的)也没考虑很多 直接上模板 然后就是WA掉之后(也不怕WA) 瞎搞调试 总之调试时很重要的感觉有些代... 阅读全文
posted @ 2014-07-30 01:32 Mite 阅读(230) 评论(0) 推荐(0)
摘要: 题意不说 附上链接http://poj.org/problem?id=3026反正先用BFS搜一遍图 记录 S和A之间的路 用一个二维数组存储(注意 把每个S或者A 都搜一遍)好了 剩下的就是赤裸裸的prim了再说"神坑"的地方1.必须用gets,这其实倒不必说2.在输入n和m后 还要用一个gets... 阅读全文
posted @ 2014-05-12 16:41 Mite 阅读(177) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #in... 阅读全文
posted @ 2014-05-08 23:23 Mite 阅读(278) 评论(0) 推荐(0)
摘要: 生成树——在一个图中的一个联通子图 使得所有的节点都被(访问)最小生成树 (MST) 即联通子图的总代价(路程)最小已知的一个图 有n个点 m条边kruskal的算法如下先对边从小到大排序从最小的边起,不停的合并这条边的两个节点到一个集合,如果这条边的两个节点已经在一个集合里,则无视,否则形成回路(... 阅读全文
posted @ 2014-05-04 21:40 Mite 阅读(201) 评论(0) 推荐(0)
摘要: 典型的最小生成树 然后求最大的一条边 附上链接http://cstest.scu.edu.cn/soj/problem.action?id=4339需要注意的是有可能有 "IMPOSSIBLE" 的情况这里用一个flag标记 记录所并的节点 只有flag = n时才能成功 负责就"IMPOSSIBL... 阅读全文
posted @ 2014-05-04 20:38 Mite 阅读(153) 评论(0) 推荐(0)
摘要: 第一次写博客最小生成树入门题 附上链接http://cstest.scu.edu.cn/soj/problem.action?id=2198这是一道kruskal的模板题(刘汝佳的小白书——《算法竞赛与入门经典》上有基本一模一样的代码) 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2014-05-04 17:02 Mite 阅读(232) 评论(1) 推荐(0)