题一:差分约束or带权并查集?
不啊,zz了,简单模拟即可
我简直服了我自己了,想复杂了……
直接对每一个联通块随便找一个点赋位置,然后Dfs继续找下去,给每一个点赋值,如果在搜索的过程中,发现了有冲突,就是impossible了
注意加边的时候加双向边,因为你是从随便一个点开始搜索的
然后这么简单的一个dfs,我居然调试了半天!!最后发现,hhhh,括号匹配出问题了
温馨提示:只要有嵌套就要打括号(感谢glf大佬)
题二:最短路计数
啊啊,zz了,怎么又zz了啊!!
感觉很简单啊,就是用总方案数减去相遇的方案数
相遇的情况就分为两种,一种相遇在点上,一种在边上相遇
然后就搞完了。。。。居然没有想出来!!!!!!!
题三
虽然是原题,但是被卡常非常不高兴╭(╯^╰)╮
人生第一次考场被卡常
躲到小角落里,难过
1.LCA求了两次(慢得一。。)
2.1e6的数据倍增搞19次就差不多了
一定要学会随手卡常。。