AGC028D 题解
First Post:
Last Update:
Last Update:
这题我和王队合力做,王队想到了第一个转化,我想到了第二个转化,但是并没有导出成型的做法,看来,关键时候的坚持确实十分重要。
不要被难度标签所吓到。现在来看,我每次都能隐约想到正解的一些东西,但难出做法,很可能是对算法理解不够深入。
但又该怎么提升呢?也许多做题是有用的。我也能感觉得出来,最近做的题质量有提升。希望这是好的开始。
首先,这题在圆上和在序列上做是没有区别的,两条在圆上相交的线段在序列上也是相交的,反之亦然。
那么,在序列上,线段相当于一段区间,而一堆有交的线段,看上去就像一个大区间。
事实上,对于一个连通块,我们考察其最左边的点
都观察到这里了,我居然想设计一个从前向后的 DP(
看来思考的时候,在草稿纸上写清楚已有的结论至关重要。
设
设
设
首先,如果
如果读者熟悉图计数的话,会知道一个计数连通块的套路:总方案减去 “
这里也是要计数连通块,我们也还是先让
然后枚举
综上所述,有转移式:
最后的答案就是
C++ - 38 lines
expand
1 |
|
Gitalking ...