08 2016 档案
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19201 解题思路 LCS 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19451 解题思路 dp[l][r] 表示以下标为l到r(包括l、r)节点建立最优排序二叉树。 注意dp计算顺序,以对角线为顺序计算。 具体可以参考网上的各种动态规划教程。 代码 #include<stdio.h
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19462 解题思路 把字符串翻转,与原字符串求LCS。 注意空串处理。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19210 解题思路 就是0-1背包问题。只是不止一个背包。 可以用滚动数组降成一维。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19202 解题思路 cost[i][j]表示第i个切割点到第j个切割点之间的这个木棍的最小花费。 状态转移方程:cost[start][end] = cost[start][k] + cost[k][end] +
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/21421 解题思路 容易想到一种贪心策略:每个点都找剩余度数最多的几个点连线。 因为是简单图,所以找过的点不能再连线。 为什么这样对呢,有个定理Havel-Hakimi 。 代码 #include<stdio.h
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19204 解题思路 LCS问题。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/21354 解题思路 枚举两个串,s1, s2。s1+s2,s2+s1取其中最大的。当所有串对枚举完时答案就出来了。 当然,选取过的串不能再选。 然后就可以看出,这其实是一种排序。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19946 解题思路 1、蚂蚁们的顺序不变。 2、可以把蚂蚁的碰头直接看成两只蚂蚁交换身份。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/21350 解题思路 先排序。 对于每个数,找到另外两个数,使得与其中一个加起来小于目标与另外一个加起来大于目标。 如果找不到可能是只能选头两个或末尾两个。 再求绝对值那个更小就行了。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19047 解题思路 方程左边为单调函数。二分。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/21234 解题思路 因为越晚完成,惩罚的天数越多。所以可以以 罚金/完成所需天数 从大到小排序 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19688 解题思路 区间的最小覆盖问题 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/19689 解题思路 寻找最小上界用二分法 打印方案时从右边(尾)尽量往左边(头)划分。段数不够的话,从最左边往右一个一个划分。 代码
阅读全文
摘要:题目链接 http://acm.hust.edu.cn/vjudge/problem/21356 解题思路 枚举点对,相同的点对不必再判断一次。 代码
阅读全文
摘要:此题为小白书暴力求解法哈希表的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/24031 最近为了快速入门。。。所以挑了些简单的题目先做。。。 解题思路 最多会录入100000个单词对。可以设计一个简单的哈希函数,比如下标*单词这样的, 当然这样会造成
阅读全文
摘要:此题为小白书暴力求解法隐式图搜索的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19527 解题思路 因为要求最小倒水量,所以不能把重复的节点都去掉,要把倒水量比较小的节点也加进去。 可以建立一个water数组,water[x]表示达到x水量的最小倒
阅读全文
摘要:此题为小白书暴力求解法的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 回溯。可以先排序后搜索。 代码
阅读全文
摘要:翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 就是8皇后加上最小值。 还是回溯。 代码
阅读全文
摘要:此题为暴力求解法回溯法的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 回溯。 可以用数组存储中间路径, 如果链接完毕且小于最小值,将中间路径存入最终路径。 详见代码。 代码
阅读全文
摘要:此题为小白书暴力求解法的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 由于以确定括号,所以就是一层一层地计算下去。 计算中间结果可用另一变量存储,这样回溯的时候就不会太麻烦。 详见代码 代码
阅读全文
摘要:此题为小白书暴力求解法的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19398 解题思路 A、B从-500枚举到500 注意 直线上不能出现点 代码
阅读全文
摘要:此题为小白书暴力求解法的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19832 解题思路 用小白书里的生成排列的程序,可能有元素重复。 代码
阅读全文
摘要:此题为小白书暴力求解法的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 嗯。。。用c++里的next_permutation。。。 代码
阅读全文
摘要:此题为数据结构基础图的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19494 解题思路 拓扑排序。 一开始在想如果排序不唯一oj能判断出来吗?结果oj能判断。。。 可以仿照白书里dfs的做法,也可以采用邻接表存储,入度判断的方法。 代码采用的是后一
阅读全文
摘要:此题为白书数据结构基础图的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19493 解题思路 求无向图的欧拉回路。 每个顶点的度为偶数<=>存在欧拉回路 注意 要忽略孤立点。如果全为孤立点就直接Not Possible。 忽略后还要判断剩余的图是否连
阅读全文
摘要:此题为白书数据结构基础图的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/18558 解题思路 图的BFS。代码白书里也写了。 从开始点开始,然后尽情BFS吧。。。 代码
阅读全文
摘要:此题为白书数据结构基础图的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19435 解题思路 嗯。。。跟白书里的寻找八连块一模一样。。。 而且最多100*100的数据规模,bfs直接递归也不会溢出。。。 代码
阅读全文
摘要:此题来自白书数据结构基础二叉树的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ uva的翻译幸运猫里大部分有 解题思路 建树的思想跟白书里的是一样的,虽然此题给的是中序和后序遍历。 虽然节点最多有10000个,递归建树可能会栈溢出。。。但是依然AC了。。。 最后B
阅读全文
摘要:此题小白书数据结构基础二叉树的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 建树。如果遇到'('并能找到数字就建立相应的根节点,再递归建立左子树和右子树。 空子树的判断要单独拿出来。子树建完后记得把')'也给吃掉。 有许多空格和换行,判断并忽略它们就行
阅读全文
摘要:小白书数据结构基础线性表的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19134 解题思路 直接模拟。遇到星期五六忽略就行。 代码
阅读全文
摘要:小白书里数据结构基础线性表的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19518 解题思路 用到队列。大队列表示团体顺序,小队列表示团体内部顺序。 题目提示入队出队要常数时间。。。 于是用到两个映射 成员映射到团体序号。只需开个数组存每个成员的团
阅读全文
摘要:小白书里数据结构基础线性表的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/18905 解题思路 用栈维护。娃娃们有两种包含方式:一个套一个或者一个套多个。 遇到负数入栈,并更新包含它的娃娃的已转载的体积(如果有包含的话)。 遇到整数出栈。 超出尺寸,
阅读全文
摘要:小白书里数据结构基础线性表的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 又是用栈。。。都是合法的表达式,放心写吧。。。 代码
阅读全文
摘要:小白书里数据结构基础的训练参考 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 嗯。。。就是用栈。 出栈的时候不匹配、最后栈非空都是非法的表达式。 代码
阅读全文
摘要:小白书里数据结构基础线性表的训练参考 题目都是从uva中取的 题目连接 http://acm.hust.edu.cn/vjudge/problem/19299 virtual judge 里有,可以去注册。 解题思路 试着解样例,会得到这样的经验: 找到目标序列中第一个匹配不到的名字(从初始序列中的
阅读全文
摘要:此题为小白书里数据结构基础关于线性表的题目 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 当时直接用动态的双向链表模拟了。。。 但是用双向链表很纠结啊,如果你加入头结点之后的查找会变得很麻烦, 如果不加头结点的话,插入节点会很麻烦。。。 但已经写了就不想改了。。
阅读全文
摘要:此题为小白书里数据结构基础的线性表训练 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路 开个二维数组模拟整个过程就行了。 注意题目中提到的不理会的情况。测试数据不会很刁难。 这个模拟还是挺烦的。。。 代码:
阅读全文
摘要:小白书里数据结构基础的第一题 翻译请戳 http://luckycat.kshs.kh.edu.tw/ 解题思路: 用栈来表示纸牌的移动。初始的时候建立52个栈,每个栈一个元素。 再开个数组存储top指针。如果栈空,纸牌移动的时候不要理他就行了。 正确找到纸牌放置的位置后,出栈,入栈。 要注意, 每
阅读全文

浙公网安备 33010602011771号