摘要: 根据学堂在线TsinghuaX: 30240184X 数据结构(2015秋)这门课的内容,对bubblesort做了一些总结。 1. bubblesort(起泡排序),原理来自这样一个观察规律:若序列有序,则任意一对相邻元素顺序。其逆否命题为:若存在相邻元素逆序,则序列无序。 2. 利用这一原理,b 阅读全文
posted @ 2015-11-19 00:08 helena_wang 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 无向连通图(无重边),判断最小生成树是否唯一,若唯一求边权和。 分析生成树的生成过程,只有一个圈内出现权值相同的边才会出现权值和相等但“异构”的生成树。(并不一定是最小生成树) 分析贪心策略求最小生成树的过程(贪心地选最短的边来扩充已加入生成树的顶点集合U),发现只有当出现“U中两个不同的点到V-U 阅读全文
posted @ 2015-11-10 00:26 helena_wang 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一个由n个顶点m条边(可能有重边)构成的无向图(可能不连通),每条边的权值不是0就是1。 给出n、m和每条边的权值,问是否存在生成树,其边权值和为fibonacci数集合{1,2,3,5,8...}中的一个。 求最小生成树和最大生成树,得到生成树边权和的下界left和上界right。这道题由于每条边 阅读全文
posted @ 2015-11-08 16:05 helena_wang 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 有衣服、裤子、鞋数量分别为n,m,k,给出p对不和谐的衣-裤或裤-鞋搭配,问一共有多少种和谐的衣裤鞋的搭配。 全部的组合有Cn1Cm1Ck1种。 设p对中有p1对衣-裤,p2对裤-鞋,则不和谐的搭配共有p1*Ck1+p2*Cn1种,但有被重复计算两次的搭配共p3对,它们引用了同一裤。设裤 i 在p1 阅读全文
posted @ 2015-11-07 20:57 helena_wang 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 两只兔子Tom和Jerry在一个n*n的格子区域跑,分别起始于(1,1)和(n,n),有各自的速度speed(格/小时)、初始方向dir(E、N、W、S)和左转周期turn(小时/次)。 各自每小时往E、N、W、S中一个方向跑speed格,每隔turn小时左转一次(即逆时针的下一个方向)。 行走中若 阅读全文
posted @ 2015-11-07 16:42 helena_wang 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 给出一个序列(长度>=2),问去掉一个元素后是否能成为单调不降序列或单调不增序列。 对任一序列,先假设其可改造为单调不降序列,若成立则输出YES,不成立再假设其可改造为单调不增序列,若成立则输出YES,不成立则输出NO。 由于持平不影响整体单调性,为了直观,我在以下把“不降”称为“递增/升序”,把“ 阅读全文
posted @ 2015-11-03 23:58 helena_wang 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 以(x,y)坐标的形式给出n个点,修建若干条路使得所有点连通(其中有两个给出的特殊点必须相邻),求所有路的总长度的最小值。 因对所修的路的形状没有限制,所以可看成带权无向完全图,边权值为两点间距离。因是稠密图,故用邻接矩阵存储更好(完全图,边数e达到n(n-1)/2)。 至此,可将问题抽象为求最小生 阅读全文
posted @ 2015-11-01 20:47 helena_wang 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 2013杭州区域赛现场赛二水。。。 类似“胜利大逃亡”的搜索问题,有若干个宝藏分布在不同位置,问从起点遍历过所有k个宝藏的最短时间。 思路就是,从起点出发,搜索到最近的一个宝藏,然后以这个位置为起点,搜索下一个最近的宝藏,直至找到全部k个宝藏。有点贪心的感觉。 由于求最短时间,BFS更快捷,但耗内存 阅读全文
posted @ 2015-10-26 00:55 helena_wang 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 流星雨撞击地球(平面直角坐标第一象限),问到达安全地带的最少时间。 对于每颗流星雨i,在ti时刻撞击(xi,yi)点,同时导致(xi,yi)和上下左右相邻的点在ti以后的时刻(包括t)不能再经过(被封锁)。安全地带为永远不会被封锁的点。 简单bfs,开始WA在把平面空间上限当成300*300,但根据 阅读全文
posted @ 2015-10-24 20:46 helena_wang 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 这几天遇到三道相似的贪心问题。1. 汽车加油问题(算法设计与分析基础 习题4-9) 初始时油量为n。从起点到终点之间有k个加油站,汽车油箱容量上限为n,每个加油站可无限量供应汽油。 给出n,k和相对位置(在一条直线上),求最少加油次数及对应加油记录。 贪心策略:一直走,当到不了站点 i 时,在... 阅读全文
posted @ 2015-10-23 21:48 helena_wang 阅读(281) 评论(0) 推荐(0) 编辑