hdu
文章平均质量分 81
ンZee
这个作者很懒,什么都没留下…
展开
-
hdu 2772 Matchsticks(模拟题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2772题目大意: 用火柴拼出0到9的数字: 数字: 1 2 3 4 5 6 7 8 9 0 火柴数: 2 5 5原创 2013-02-27 21:29:23 · 1211 阅读 · 0 评论 -
hdu 1075 What Are You Talking About (字典树)
题目链接: hdu 1075题目大意: 类似解密过程,右边是单词对应的密文 给出一串字符,可以解密的单词都翻译出来解题思路: 将明文存进数组,然后将密文建成Trie树 将最后结点存进树时顺便记录它明文的下标 搜索密文的每一个单词,若在树中则翻译出来原创 2013-11-07 16:04:13 · 1004 阅读 · 0 评论 -
hdu 1251 统计难题 (字典树)
题目链接: hdu 1251题目大意: 给出单词的词典,然后有限次询问 每次询问给出的字符在词典中作为前缀的次数解题思路: 建立词典的字典树 用w标记此结点在建树过程中访问的次数,每经过一次就+1 查询时把查询的字符遍历字典树,遍历最后结点的w值既是答案原创 2013-11-07 13:43:31 · 1230 阅读 · 0 评论 -
hdu 2222 Keywords Search (AC自动机)
题目链接: hdu 2222题目大意: 给出N个模式串,最后给出主串 求模式串在主串的出现过解题思路: AC自动机的模版题,关于AC自动机: AC自动机是多模式串匹配的算法,时间复杂度为O(n*m) 算法的实现结合了KMP和字典树的思想,其中难点在于理解失败指针原创 2013-11-23 20:59:05 · 990 阅读 · 0 评论 -
hdu 2896 病毒侵袭 (AC自动机)
题目链接: hdu 2896题目大意: 给出N个模式串,最后给出M个主串 问有主串出现过哪些模式串,最后输出哪些主串能匹配模式串解题思路: AC自动机建立字典树的用w值标记第几个模式串 定义k值,匹配时若字典树中的某个结点不等于k且w不为0则记录该点 有多个主串原创 2013-11-23 21:10:13 · 1330 阅读 · 0 评论 -
hdu 3065 病毒侵袭持续中 (AC自动机)
题目链接: hdu 3065题目大意: 给出N个模式串,最后给出主串 问有模式串在主串中出现的次数解题思路: AC自动机建立字典树的用w值标记第几个模式串 定义k值,匹配时若字典树中的某个结点不等于k且w不为0则记录该点 有多个主串需要匹配,所以不需要改变w的值原创 2013-11-23 21:17:22 · 902 阅读 · 0 评论 -
hdu 4287 Intelligent IME (字典树)
题目链接: hdu 4287题目大意: 手机打英文,先给出N个数字串表示按键的顺序 M个单词的词典,询问按下这些数字串分别会出现多少个词典中的单词解题思路: 把单词转换成按键数字建成树 最后一个数字结点w值记录次数 查询的时候根据数字遍历字典树原创 2013-11-07 16:42:25 · 1255 阅读 · 0 评论 -
poj 1469 || hdu 1083 Courses (二分图匹配)
题目链接: hdu 1083题目大意: 给你N种课程和M个学生,每个学生有自己喜欢的课程 若每个课程都能有一个学生代表输出YES,否则NO解题思路: 把课程作为X集合,学生作为Y集合 匈牙利求他们之间的最大匹配数 若最大匹配数等于课程数(不可能大于的),则满原创 2013-11-24 18:33:03 · 918 阅读 · 0 评论 -
hdu 1150 || poj 1325 Machine Schedule (二分图匹配)
题目链接: hdu 1150题目大意: A机器有N种模式,B机器有M种模式 K件产品,每件产品可以由a模式或者b模式完成 问最少切换多少次模式可以完成K件产品解题思路: N种模式作为X集合,M种模式作为Y集合 它们之间的连线表示两者取其中之一就可完成产品原创 2013-11-24 19:19:36 · 1070 阅读 · 0 评论 -
hdu 2444 The Accomodation of Students (交叉染色+二分匹配)
题目链接: hdu 2444题目大意: 给出字典,再给出n个单词 找出这些单词在单词表的什么位置,以什么顺序排放(8个方向,A表示正北,顺时针方向依次为B ~ H)解题思路: 由于字典太大,若以字典的所有单词建立字典树空间复杂度很高 建立n个单词的字典树和失败指针原创 2013-11-26 00:27:05 · 1159 阅读 · 0 评论 -
hdu 1281 棋盘游戏 (二分图匹配)
题目链接: hdu 1281题目大意: 给出NxM的棋盘,其中有K个点不能放“车” 定义:若某个点不能放"车",则棋盘中放"车"的最大数目减少该点就为重要点 求重要点的个数和棋盘中放"车"的最大数目解题思路: 求出放"车"的最大数目,行作为X集合,列作为Y集合原创 2013-11-26 00:42:39 · 1717 阅读 · 0 评论 -
hdu 1507 Uncle Tom's Inherited Land* (棋盘的完美覆盖问题)
题目链接: hdu 1507题目大意: 给出NxM的地图,地图上有空地和草地 用1x2的草地去覆盖空地,问最多覆盖数解题思路: 首先1x2的草地,涉及到两个相邻的空地 若先选择第一个空地,则在没有草地的前提下第二个空地有四种选择 分别从图中不同块任意一个顶点原创 2013-11-26 01:01:06 · 1973 阅读 · 0 评论 -
hdu 2463 USTC campus network (BFS+链表+Hash)
题目链接: hdu 2463题目大意: 给出N(N 现在删掉M条边,问能从1顶点遍历到的顶点有多少个?解题思路: 1W个点的完全图有n*(n-1)/2条边,不能直接建图,空间复杂度太高 只需要记录那些边是已经删除掉了的,删除掉的边用Hash(a+b*10000)记录(或map)原创 2013-11-30 21:04:31 · 1234 阅读 · 0 评论 -
hdu 1385 Minimum Transport Cost (最小字典序最短路径)
题目链接: hdu 1385题目大意: 给出N个点的邻接矩阵,求任意两点的最短路径 若有多条路径,输出字典序最小的路径解题思路: 边为-1的时候,换成INF,用Floyd求出最短路径,path[ i ][ j ]表示路径i到j经过的点 dis[ i ][ j ]=Min( dis[ i ][ j原创 2014-01-16 12:18:48 · 1583 阅读 · 0 评论 -
hdu 2767 Proving Equivalences (Kosaraju+缩点)
题目链接: hdu 2767题目大意: 给定有向图,问至少加入多少条边可以使得其成为联通图解题思路: Kosaraju找联通分量,并缩成点 缩点之后形成一个或者多个DAG,题意不保证图联通 统计缩点后Max(入度为0顶点数,出度为0顶点数) 对于缩点后的图分两种情况原创 2013-10-22 18:13:53 · 1075 阅读 · 0 评论 -
hdu 1247 Hat’s Words (hash+map)
题目链接: hdu 1247题目大意: 给出单词词典,问词典中哪些单词可以由另外两个单词组成解题思路: 用Hash或者map映射每个单词 枚举每个单词分开成两半时,前后部分是否有对应的Hash(或map)值代码:#include #include #include #include #include #includ原创 2013-11-07 13:58:55 · 1260 阅读 · 2 评论 -
hdu 2846 Repository (字典树)
题目链接: hdu 2846解题大意: 给出单词的词典,然后有N次查询 每次查询是给出的字符串是词典中多少个单词的子串解题思路: 将每个单词的长度1到Tlen长度为T的子串存进字典树 如单词abacab,只要存abacab,bacab,acab,cab,ab,b原创 2013-11-07 16:24:27 · 1387 阅读 · 0 评论 -
poj 3630 || hdu 1671 Phone List (字典树)
题目链接: hdu 1671题目大意: 给出几串数组,是否存在一个串是另外一个串的前缀,是则输出"YES"解题思路: 每个字符为单位建立一棵Tries树 字符串结尾的结点用w标记,然后插入时判断两种情况: 每次插入时如果经过之前插入字符串的结尾,则之前插入的字符串必定是前缀原创 2013-11-07 13:29:46 · 1294 阅读 · 0 评论 -
2013腾讯编程马拉松初赛第一场(3月21日) 解题报告 (HDU 4505 HDU4506 HDU4507 HDU4508 HDU4509)
A题 (hdu 4505)题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4505解题思路: 一次遍历就可以,这道题可以推出公式 max*10+(k*5)+n max最高楼层,k多少个楼层需要开门,n一共多少个人代码:#include #include #include #原创 2013-03-22 00:52:05 · 3201 阅读 · 7 评论 -
hdu 2157 (K步路+矩阵快速幂)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2157题目大意: 给出有向连通图,求A到B恰好经过K个点的方案数%m解题思路: 邻接矩阵0-1存储边edge[ ][ ] 邻接矩阵相乘,edge[i][k]*edge[k][j]当且仅当edge[i][k]和edge[k][j]同时为1,也就是同时存在原创 2013-05-08 01:46:33 · 1779 阅读 · 0 评论 -
hdu 1166 敌兵布阵(线段树点区)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1166题目大意: 给出初始化的区间值,然后有三种询问 Query a b 询问区间[a,b]值的总和 Add a b 第a个元素的值加b Sub a b 第a个元素的原创 2013-05-31 09:34:27 · 965 阅读 · 0 评论 -
hdu 2795 Billboard(线段树点区)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2795题目大意: 广告墙高从上到下为h,宽左到右为w,还有n张广告牌 用单位高度,宽度为wi的广告牌去覆盖墙 输出广告牌放的高度 (优先选择最上面的,同一高度则放在最左边),不放不下则输出 -1解题思路:原创 2013-06-15 01:06:17 · 1546 阅读 · 0 评论 -
hdu 1698 Just a Hook(线段树区区)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1698题目大意: 给出初试值都为1的区间[1,n] 有M次操作,每次操作表示将[a,b]的值全部替换成c 最后输出总值的大小解题思路: 线段树的区间更新,区间查询 这原创 2013-06-15 19:19:37 · 1077 阅读 · 0 评论 -
hdu 1394 Minimum Inversion Number(线段树求最小逆序数)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意: 给出N个数,这些数可以把后面的删掉然后放到最前面形成新的序列 可得到的N种情况,求出这N种情况哪种的逆序数最小解题思路: 先求出第一个序列的逆序数,然后用很巧妙的办法求下一个序列的逆序数,直到全部求出原创 2013-06-14 22:45:58 · 1059 阅读 · 0 评论 -
hdu 1754 I Hate It(线段树点区)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1754题目大意: 给出初始化区间的值,有m次操作 Q a b询问[a,b]区间中的最大值,U a b将第a个元素替换为b解题思路: 线段树 更新:单点替换 询问:区间询问 每次更新的时候在区间结点存储此区原创 2013-05-31 09:12:19 · 1118 阅读 · 0 评论 -
poj 1226|| hdu 1238 Substrings(KMP)
题目链接: poj 1226题目大意: 给出N个字符串,找出一个最长的子串 使得它和N个字符串正向或者逆向匹配,输出长度解题思路: 如果这个字串存在,那么它必定存在与N个字符串中最小的那个串 找到N个字符串中最小的串,然后枚举最小串的所有子串 从最长的子串开始枚举,长度逐渐原创 2013-10-03 12:02:10 · 1323 阅读 · 0 评论 -
hdu 4763 Theme Section(KMP)
题目链接: hdu 4763题目大意: 找出字符串的最长子串,这个子串满足既是前缀和后缀,并且在中间会出现解题思路: 不妨先找出所有前缀等于后缀的子串长度(poj 2752 解题报告) 从长到短(长度不大于主串的1/3)枚举子串的长度 前缀等于后缀的子串长度为ans[ i ]原创 2013-10-03 19:11:39 · 1099 阅读 · 1 评论 -
poj 1470 || zoj 1141 Closest Common Ancestors (LCA)
题目链接: poj 1470题目大意: 给出一棵树,然后有有限次查询(a,b) 每次查询节点a与节点b的最近公共祖先 输出节点作为最近公共祖先的次数解题思路: 离线查询最近公共祖先 把每次查到的结果visit[ ]++,最后遍历一遍就行了代码://Final原创 2013-10-05 00:15:06 · 1271 阅读 · 0 评论 -
hdu 4738 Caocao's Bridges (割边/桥)
题目链接:hdu 4738题目大意:原创 2013-10-05 22:34:48 · 1294 阅读 · 1 评论 -
hdu 2874 Connections between cities (LCA)
题目链接: hdu 2874题目大意: 在有权值森林中,任意查询两个结点的最短距离 若两点不联通则输出Not connected解题思路: 用并查集把边连接的两个结点合并 查询的时候先判断两点是否在同一个联通图,不联通则直接输出 如何求联通块内任意结点间的距离呢?F原创 2013-10-05 00:24:50 · 1126 阅读 · 0 评论 -
hdu 3849 By Recognizing These Guys (割边/桥)
题目链接: hdu 3849题目大意: 给出无向图,找出所有的割边 并且按边输入的顺序输出 如果图不连通则直接输出0解题思路: 先用map或者Hash把字符串转化为编号 根据编号建立无向图 Tarjan搜索无向图的桥原创 2013-10-05 20:36:57 · 901 阅读 · 0 评论 -
hdu 1269 迷宫城堡 (Kosaraju+缩点)
题目链接: hdu 1269题目大意: 给出的有向图是否满足任意两点a,b之间 存在a到b的路径和b到a的路径解题思路: 判断是否仅有一个强联通分量 Kosaraju算法的核心思想: 从未访问过的点用Kosaraju正向边搜索遍历完所有的顶点,记录层次dnf[ ]原创 2013-10-22 11:27:16 · 1148 阅读 · 0 评论 -
hdu 4396 More lumber is required (二维SPFA)
题目链接: hdu 4396题目大意: 给出带权值的无向边,可能会有自环 给出起点和终点,求至少经过K条边的最短路径解题思路: 当k不能被10整除时,K=k%10+1,否则K=k%10; 二维SPFA,Dp[ a ][ b ]表示经过b条边到达a点的最短路径原创 2014-02-12 18:57:37 · 1228 阅读 · 0 评论