摘要:
只要心里有斯杰斯特拉,多少重标尺都是浮云。 可以看到,进行多重标尺判断的时候,可以用 这样的骚代码来进行二重标尺的判断。但是如果要记录最短路径条数或者其他骚操作,就不能这么简洁了。 完整代码: 阅读全文
摘要:
queue q; //建立队列 q.push(i); //入队 while(!q.empty()){ //非空判断 int sz=q.size(); while(sz-->0){ //当前层 int t=q.front(); //出队 q.pop(); vis[t]... 阅读全文
摘要:
在理解错题意的情况下得了25分: 题意: 意思是在路径最短的情况下,选择一条sent(发送)单车最少的路径。 但是这就结束了吗?naive。请看在output要求中的一句话: 在路径不唯一的情况下,take back(送回)PBMC的单车要求最小。 在这样错误的理解下,我理解为送出或送回其中一个为1 阅读全文
摘要:
方法一: 对于源点s,初始化vis[s]=1,并且在dfs之后vis[s]=1,为下一次调用做准备 。对于dfs递归中的寻找后继的循环体,入栈出栈语句写在循环内。 模板: 这样得到的路径path,是不包含源点的。注意在输出时加上源点。 方法二: 不用标记源点已访问。出入栈与访问标记抹去语句写在循环外 阅读全文
摘要:
这题很早之前就遇到过,是pat留给我的第一印象,然而昨天却有点写不出来。今天dfs用了10分钟不到写出来了。dij用了大约15分钟,捉虫花了一点时间。 dfs: 注意剪枝的时候别剪错就行了。 dij: bug出现在多条最短路径的更新问题上。没有写else if 而是写了 if ,导致出错。 阅读全文