调出来让教练吃键盘

P2391 白雪皑皑

这份代码能过样例,测试点除了 #6 A,其他都是 T 或者 M。
by Smiog @ 2024-02-27 21:03:38


@[Smiog](/user/399493) 你仔细思考一下你的代码 l = r = n 的时候会发生什么
by cancan123456 @ 2024-02-27 21:15:14


很明显爆空间是因为你的并查集最后扭成了依托答辩,就像这份代码
by Msents @ 2024-02-27 21:16:45


如下可过: ```cpp for (int i = n + 1; i; --i) fa[i] = i; ``` 谢谢。
by Smiog @ 2024-02-27 21:20:58


@[Smiog](/user/399493) 给个直播号
by cancan123456 @ 2024-02-27 21:21:32


所以第一篇题解这样做 ```cpp for(reg int j=r;j>=l;){ int t=myfind(j); if(t==j){ col[j]=i,fa[j]=myfind(j-1)/*维护连通性*/; }j=fa[j];//直接跳到下一个可染色的点 } ``` 是为了避免跳到 $n + 1$ ,所以初始化可以写成 ```cpp for(reg int i=1;i<=n;++i) fa[i]=i; ``` 妙
by Smiog @ 2024-02-27 21:23:31


这么牛
by 心灵震荡 @ 2024-02-27 21:26:25


@[cancan123456](/user/448887) 没直播号,我叫我小弟证明一下。 ------------ @[心灵震荡](/user/649315) 证明一下
by Smiog @ 2024-02-27 21:27:41


这哥们自己吃过键盘了,就在我旁边()
by 心灵震荡 @ 2024-02-27 21:30:01


教练不给吃你说说 ![](https://pic.52112.com/180130/180130_173/kk73RuyRFt.jpg)
by Smiog @ 2024-02-27 21:33:13


| 下一页