思路:先把加油站按升序排列。
在经过加油站时,往优先队列里加入B[i].(每经过一个加油站时,预存储一下油量)
当油箱空时:1、如果队列为空(可以理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地。
2、否则就取出队列里的最大元素,来给汽车加油(贪心思想)
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-10-03 20:13:15
阅读次数:
159
播下一个行动,收获一种习惯;播下一种习惯,收获一种性格;播下一种性格,收获一种命运。思想会变成语言,语言会变成行动,行动会变成习惯,习惯会变成性格。性格会影响人生!习惯不加以抑制,会变成生活的必需品,不良的习惯随时改变人生走向。人往往难以改变习惯,因为造习惯的就是自己,结果人又成为习惯的奴隶!人生重...
分类:
其他好文 时间:
2014-10-03 18:47:25
阅读次数:
227
DFS实现步骤如下:
①访问顶点V,并标记V已经访问
②查找V的第一个邻接顶点w
③若W存在,则继续执行,否则算法结束
④若W未被访问,则使用DFS递归访问w
⑤查找V的下一个邻接节点,并记为W,转到步骤③
对上图进行DFS,则访问顺序为
A B D C E
使用伪代码如下:
Vector G[maxn]
int vis[maxn]
void dfs(int u)...
分类:
其他好文 时间:
2014-10-03 11:05:14
阅读次数:
194
题意:
A-Z&&a-z 表示 集结点
从A点出发经过 最短步数 走到下一个集结点(A的下一个集结点为B ,Z的下一个集结点为a) 的路上遇到金子(*)则可以捡走(一个点只能捡一次)
求从A点出发走遍所有的的集结点 最多能捡多少金子
思路:先对于第 i 个集结点用BFS求出 对于每个点从该集结点所需的步数 为D[ I ] [ t ]
对于任意一个金子若 两个相邻的集结点的最短步数=...
分类:
其他好文 时间:
2014-10-03 09:57:04
阅读次数:
161
BFS过程:
一:访问顶点V,并标记V为已经访问
二:顶点V入队列
三:如果队列非空,进行执行,否则算法结束
四:出队列取得对头顶点u,如果顶点未被访问,就访问该顶点,并标记该顶点为已经访问
五:查找u的第一个邻接节点w
六:如果w不存在,则转到步骤三,否则循环执行
a. 如果w没有被访问过,则先把w入队列
b.查找顶点u的下一个邻接节点,记为w,并转到步骤六
上图使用B...
分类:
其他好文 时间:
2014-10-03 02:21:33
阅读次数:
288
如上图,我们可以把v0标记为0,v1标记为1。。。。
并把联通的2点权值全设置为1,那么可以用邻接矩阵(右图)来表示
概念解析:
第一个邻接顶点:
我们以vo为例,第一个邻接顶点为V1(其实也可以使V3,只不过考虑计算机的存储顺序,我们找邻接顶点,一般是从v0扫描到v3,所以我们先在内存中扫描到v1)
下一个邻接顶点:
我们以v0为例,下一个邻接顶点就是v3(同样,其实也可以使V1,只...
分类:
其他好文 时间:
2014-10-03 01:41:43
阅读次数:
836
不可不看,天猫做不起来的8大原因 不管淘宝商城还是C店,淘宝卖家做起来的原因可能有千万种,但是淘宝运营崩溃却往往只需致命的一击——尤其那些没有雄厚资金撑着、并不断去试,试错了又不能立即总结、并又幻想着“最好的业绩在下一个月”的卖家。亏一元是亏,亏一万也是亏,亏十几万也是亏。我们看过无数教人成功的经验...
分类:
其他好文 时间:
2014-10-02 17:58:03
阅读次数:
198
类似于字符串的匹配,我们总是找到第一个匹配的字符,在继续比較以后的字符是否所有同样,假设匹配串的第一个字符与模式串的第一个不同样,我们就去查看匹配串的下一个字符是否与模式串的第一个同样,相应到这里,就是我们要遍历root1,找到与root2同样的第一个结点,若root1的根不同样,那么我们查找其左子...
分类:
其他好文 时间:
2014-10-02 16:11:53
阅读次数:
166
切割木板的顺序是自由的,所以每次选择两块最短的板,组合在一起,加入队列,原来两个板出队,直到队列中为空或者只剩下一个板时结束。这里使用优先队列较为方便。
#include
#include
#include
#include
#include
#define ll __int64
using namespace std;
int len[20005];
int main()
{
//...
分类:
其他好文 时间:
2014-10-01 18:42:41
阅读次数:
150
题目大意:有一些珠子串成的项链,珠子有不同的颜色。多次询问一段区间内有多少不同的颜色。
思路:这个题让我学会了一种巧妙的离线做法。将问题按左端点排序。处理出来每个颜色第一个出现的位置,和每个颜色下一个出现的位置。然后1到cnt循环,如果这里有一个问题的左端点是当前节点,就处理他的答案,方法是前缀合,可以用树状数组。然后把这个颜色的下一个出现的位置+1。
这样做就避免了一种颜色在询问中被...
分类:
其他好文 时间:
2014-10-01 15:21:51
阅读次数:
205