HDU Today hdu 2112】的更多相关文章

最近正在学AC自动机,按照惯例需要刷一套kuangbin的AC自动机专题巩固 在网上看过很多模板,感觉kuangbin大神的模板最为简洁,于是就选择了用kuangbin大神的模板. AC自动机其实就是字典树和KMP的结合,然后去思考一下KMP的原理,然后就是在字典树上实现KMP 这里最重要的思想可能就是fail的思想,就像KMP一样,匹配失败后,有一个next的数组去回溯(最长公共前缀后缀) 如何理解了KMP的话,感觉这个不会很难理解,字典树是一个非常简单的东西就不用讲了吧. HDU - 222…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2112 文章末有一些相应的测试数据供参考. 此题就是一个求最短路的问题,只不过现在的顶点名称变成了字符串而不是数字,我们用map做一个映射即可. 然后跑一个dijkstra算法就ok了,其中还用到了优先队列,每次取最小权值的边. 用时:1981 MS  还是挺快的 坑点 容器置空!!  map以及vector 此图是一个无向图! 可能有重边的情况! 首尾同名! 代码如下: #include<iostrea…
http://acm.hdu.edu.cn/showproblem.php?pid=2112 Problem Description 经过锦囊相助,海东集团最终度过了危机,从此.HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强. 这时候,XHD夫妇也退居了二线.并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,開始安度晚年了. 这样住了一段时间.徐总对当地的交通还是不太了解. 有时非常郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方转车,在什么…
一条边<u,v>表示u选那么v一定被选. #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; ; ; struct EDGE{int to,next;}edge[Maxm]; int T,m,Stack[Maxn],head[Maxn],Belong[Maxn],Id[Maxn],Dfn[Maxn],L…
H - Super Jumping! Jumping! Jumping! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1087 Appoint description:  System Crawler  (2015-11-18) Description Nowadays, a kind of chess game called “Su…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1430 思路:由于只是8种颜色,所以标号就无所谓了,对起始状态重新修改标号为 12345678,对目标状态标号做相应的修改,先预处理出12345678到所有状态的路径,记录所有状态的pre值,直接输出即可. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #incl…
hdu 4055: 一开始我想的递推方向想得很复杂,看了别人的博客后才醍醐灌顶: 参照他的思路和代码: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; ; char s[N]; int dp[N][N], sum[N][N]; int main() { )) { memset(dp,,sizeof(dp)); // memset(sum,0,sizeof(sum)…
今天打算补前晚 BC 的第二题,发现要用到能在 O(n) 时间求最大回文子串长度的 Manacher 算法,第一次听,于是便去百度了下,看了大半天,总算能看懂了其思想,至于他给出的代码模板我没能完全看懂,只好自己试着实现,发现理解了思想后还是能实现出来的,用自己的风格去写更好理解,先附上讲解 Manacher 算法的几个链接: Manacher算法--O(n)回文子串算法 (我就是看这个理解的~) Manacher算法处理字符串回文 hdu3068之manacher算法+详解 浅谈manache…
http://acm.hdu.edu.cn/showproblem.php?pid=1053 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <queue> using namespace std; ]; ]; int cal(char x){ ; ; } struct node{ int w; friend bool o…
hdu 2121 题目:给出m条有向路,根不确定,求一棵最小的有向生成树. 分析:增加一个虚拟节点,连向n个节点,费用为inf(至少比sigma(cost_edge)大).以该虚拟节点为根求一遍最小树形图算法,这时肯定存在解,如果费用>=inf时,说明无解.这是因为sigma(cost_edge)<inf.如何求得根?在寻找前驱时发现为根,则更新一下那条边的边号即可. hdu 4009 题目:n个地方需要供水,可以自己挖水井供给自己,或者可以从别的地方供水,给出各自的方案,问对n个城市供水的最…