45 条题解
-
2
xukuan LV 7 @ 6 年前
Bellman_Ford+vector+链式前向星
vector中存当前有那些点可以到
链式前向星存边
来跑Bellman_Ford
当一个点的所有邻点已经在队列中时,给它打上lazy mark(懒惰标记,类似线段树),下次遍历时直接跳过,这样可以卡过链式图
结果可想而知,被菊花图卡了
如果有哪位大佬想到了SPFA或SLF的方法,请联系我,谢谢
update 1:
问题解决了
边的存储方式改一下,用vector存,每一条边在扫描后直接删除
注意:因为vector删除的特性,vector的扫描要从后向前代码:
-
110 年前@
妈呀!vector强行被卡掉、、要数组模拟链表、、
-
110 年前@
我AC了,今天晚上发题解,博客:http://blog.csdn.net/vmurder
嗯,不是强剪枝,是O(n+m),而且很好写。 -
115 年前@
本题困难之处在于如何才能不重复地BFS。我是这样优化的,当某个点连出去的点j由于缺少钥匙i不能到时,就把j点加入到数组i中,然后当i被走到时,直接把数组i中的元素加入到BFS队尾,编程中要注意已经入队的点别让它第二次入队,这样保证了每个点只入一次队,因此总时间最多就是O(n)了。
程序请看我的空间
http://hi.baidu.com/cloudygoose/blog/item/3cfc137f6d361d320dd7dad6.html -
015 年前@
破题!!!!!!!!!!!!!!!!!!!!!!!!!
本来记事本就AC了,结果因为行末没有换行就给卡了!!!!白白的浪费了2个小时!!!!!!!!!!!!!!!!!
交了16遍!!!!!!!!!!!!!!!!!!!!!!!输出一定要:
for i:=1 to n do
if vis[i] then
write(i,':Yes')
else write(i,':No');
writeln; -
016 年前@
千万不要用writeln,题目是可以用write的,虽然我也想不通用write是怎么换行的!!!!也许根本就不用换行!!!!!
~~~~~~~~阴人的数据~~~~~~~~~~~ -
016 年前@
天啊,把 \n 去了就ac了..
-
017 年前@
如果你的程序不够快,不要用writeln!!!
如果你的程序够快,不要随便用writeln!!!
用write没有任何问题!!! -
017 年前@
千万不要用writeln!!!!!!!!!我因此wa了n次!!!
-
017 年前@
干嘛用write?!!!!!!!!!!!!!
真是BT…………………………………………………………………………………………………… -
017 年前@
回答hzr同学:意思是删掉一条边。具体是第m条边覆盖第i条边,然后删去第m条边,效果就是删去第i条边
-
018 年前@
我用整整20次的提交证明了floodfill这条路行不通
-
018 年前@
最后一个数据,就输出40003个Yes就可以了。。。
一共交了约40次,最后,我的LYZ。。。。
最后,fOrmkNight通过。。。
第十四个。。。 -
018 年前@
我想用图的连通就能解体吧
-
018 年前@
B
F
SO
RF
L
O
O
D
F
I
L
L -
018 年前@
貌似连天花板也没有了
-
018 年前@
不做了,不做了。这题让我的正确率下降了5%(不包括小号提交的那10多次)。
始终没搞懂最后一个数据为什么莫名其妙地超时……
我用链表,然后不断维护。
N次90分啊……
-
018 年前@
这题咋整?才60分啊..
-
018 年前@
怎么回事?????
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 08:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 09:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 10:运行时错误...| 错误号: 202 | 堆栈溢出错 -
018 年前@
Vivid Puppy也太强了吧,搜索都0秒(我在机子上至少要1分钟)