P2789 直线交点数

一眼知道答案小于300,再看数据范围就上搜索了

看了题解知道有靠谱点的dp算法

\(f[i][j]\)表示\(i\)跟直线,有\(j\)个交点的情况是否存在

枚举直线数\(i\),一开始平行的直线数\(j\)\(i-j\)条直线能产生的交点数\(k\)

因为三条直线不交于一点,所以每条平行直线与后来的直线一定有\(i-j\)个交点,他们会贡献\(j*(i-j)\)个交点,再加上\(i-j\)根直线自己贡献出的\(k\)个交点

最后递推式是

\[f[i][j*(i-j)+k]|=f[i-j][k] \]

太妙了这种思路

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2022-01-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
猜你喜欢
  • 2021-09-18
  • 2021-06-17
  • 2021-12-19
  • 2021-12-04
  • 2022-02-02
  • 2022-12-23
  • 2021-09-07
相关资源
相似解决方案