0%

Pick-up sticks

思路讲解

可以假设顶层木棍不超过1000根。

这句话比较重要。于是我们选择去维护这个顶层木棍,不断用上面的木棍去看这些木棍是不是顶层木棍。

核心代码长这样。

1
2
3
4
5
6
7
8
9
10
11
12
FOR(i,0,N-1){
Line a=A[i];
for(auto it=ans.begin();it!=ans.end();){
Line t=A[*it];
auto nit=next(it);
if(isseginterline(a,t) && isseginterline(t,a)){
ans.erase(it);
}
it=nit;
}
ans.EB(i);
}

AC代码

https://vjudge.net/solution/63275995

心路历程(WA,TLE,MLE……)