两种ABC369 E的做法
  • 板块学术版
  • 楼主沃若若隐,若现
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/8/31 23:48
  • 上次更新2024/9/1 13:29:44
查看原帖
两种ABC369 E的做法
55572
沃若若隐,若现楼主2024/8/31 23:48

做法一

定义 dps,i,0/1dp_{s,i,0/1} 表示当前走过的桥的状态是 ss,最后一次路过的桥是 ii,0/10/1 表示最后一次过桥的方向(ui→viu_i \rightarrow v_i 或者 vi→uiv_i \rightarrow u_i)。转移时先枚举一座 ss 中的桥 xx,从去掉该桥的状态中再枚举一个最后一次路过的桥 yy,由 dps−2x,y,0/1dp_{s-2^x,y,0/1} 转移即可。

时间复杂度为:O(n3+m+q⋅2k⋅k2)O(n^3+m+q\cdot2^k\cdot k^2)。

Submission #57315524 - AtCoder Beginner Contest 369

做法二

全排列枚举过桥的顺序,然后模拟即可。但大部分人都又套了一个 O(2k)O(2^k) 的状压,实际上没有必要。与做法一类似,记录上一次过桥的方向及答案即可做到 O(n3+m+q⋅k!⋅k)O(n^3+m+q\cdot k!\cdot k)。

Submission #57335924 - AtCoder Beginner Contest 369

2024/8/31 23:48
加载中...