题目大意

给定 n n n 条解析式为 a x + b y + c = 0 ax+by+c=0 ax+by+c=0 的直线,选出最少的直线去覆盖所有交点。

解题思路

显然,没有删掉的直线一定是互相平行的,否则一定有至少一个交点没有被删掉。

所以其实就是要选出最多的直线使它们两两平行。

对于每一条直线暴力找出有多少条直线与它平行,取最大值即可。

unordered_map 维护,时间复杂度 O ( n log ⁡ n ) \mathcal O(n \log n) O(nlogn)。

CODE

#include <bits/stdc++.h>using namespace std;#define int long longinline int read()
{int x = 0, f = 1;char c = getchar();while (c < '0' || c > '9'){if (c == '-')f = -1;c = getchar();}while (c >= '0' && c <= '9'){x = x * 10 + c - '0';c = getchar();}return x * f;
}int n;int a[100007], b[100007], c;map<pair<int, int>, int> mp;int ans;int A, B;signed main()
{n = read();for (int i = 1; i <= n; ++i){a[i] = read(), b[i] = read(), c = read();mp[make_pair(a[i], b[i])]++;if (a[i] == 0)A++;if (b[i] == 0)B++;}if (A + B == n){cout << min(A, B) << "\n";return 0;}for (int i = 1; i <= n; ++i)ans = max(ans, mp[make_pair(a[i], b[i])]);cout << n - ans << "\n";return 0;
}

[Kubic] Lines相关推荐

  1. 调整命令行的列数和行数 mode con: cols=100 lines=10000

    mode con: cols=100 lines=10000 转载于:https://www.cnblogs.com/passer1991/archive/2013/03/25/2980285.htm ...

  2. K - Anton and Lines CodeForces - 593B

    K - Anton and Lines CodeForces - 593B 思路 求出两个边界处,每条线对应的 y,如果出现(y1i - y1j)* (y2i - y2j) < 0, 则相交 复 ...

  3. R语言可视化散点图(scatter plot)、并在散点图中叠加回归曲线、叠加lowess拟合曲线(linear and lowess fit lines)、使用plot、line、abline函数

    R语言可视化散点图(scatter plot).并在散点图中叠加回归曲线.叠加lowess拟合曲线(linear and lowess fit lines).使用plot函数.line函数和ablin ...

  4. R语言使用plot函数和lines函数可视化线图(line plot)时、图之间的主要区别是由选项type产生的、type参数常用参数说明、不同type生成的可视化图像对比

    R语言使用plot函数和lines函数可视化线图(line plot)时.图之间的主要区别是由选项type产生的.type参数常用参数说明.不同type生成的可视化图像对比 目录

  5. R语言使用R原生函数plot和lines可视化线图、并使用lty参数自定义线条类型、lwd自定义设置线条的粗细、col参数自定义线条颜色(Change R base plot line types)

    R语言使用R原生函数plot和lines可视化线图.并使用lty参数自定义线条类型.lwd自定义设置线条的粗细.col参数自定义线条颜色(Change R base plot line types) ...

  6. R语言ggplot2可视化基本散点图(设置X轴使用对数坐标)、并把成对的数据点用线条(line)连接起来、自定义配置线条颜色(Connecting Paired Points with lines)

    R语言ggplot2可视化基本散点图(设置X轴使用对数坐标).并把成对的数据点用线条(line)连接起来.自定义配置线条颜色(Customizing Scatterplot Connecting Pa ...

  7. R语言ggplot2可视化分面图(faceting):自定义分面图可视化、ggplot2可视化分面图并移除分面图之间的边框线条(Remove Panel Border Lines in a facet

    R语言ggplot2可视化分面图(faceting):自定义分面图可视化.ggplot2可视化分面图并移除分面图之间的边框线条(Remove Panel Border Lines in a facet ...

  8. R语言ggplot2可视化自动换行适配长文本图例(legend)实战:Multiple Lines for Text per Legend Label

    R语言ggplot2可视化自动换行适配长文本图例(legend)实战:Multiple Lines for Text per Legend Label #导入包及数据处理 library(string ...

  9. R语言ggplot2可视化在lines线图的尾端添加线图标签、并且去除图例实战

    R语言ggplot2可视化在lines线图的尾端添加线图标签实战 目录 R语言ggplot2可视化在lines线图的尾端添加线图标签实战 #仿真数据

最新文章

  1. Kindeditor视频上传问题处理
  2. 汇编语言之寄存器使用(bx,si,di,bp)
  3. WIN32多线程抢红包练习
  4. ThreadLocal原理
  5. 【Linux系统编程】Linux文件操作
  6. wget: unable to resolve host address “http”
  7. 倒计时 1 天 | 2019 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...
  8. Echarts.js+jquery.js+china.js实现中国疫情地图
  9. 地域和地方的区别_都是大米做的有什么区别?不少人被难倒,米线米粉差别还不少...
  10. 如何使用PowerShell在Azure中创建SQL虚拟机
  11. winapi里的createthread函数 和linux,Windows API---CreateThread函数
  12. Springboot集成BeanValidation扩展二:加载jar中的资源文件
  13. 2.2 Java内存介绍-运行时数据区
  14. python 笔记 冒泡排序
  15. 开源截图录屏软件Captura
  16. 仿layui风格漂亮easyui主题皮肤美化
  17. 5输入的多数表决器(结构化建模)
  18. getc()、getchar()、getch() 和 getche() 的区别
  19. 我的世界 Java1.12.2联机下载_我的世界1.12.2
  20. php warning: file_get_contents,解决PHP Warning: file_get_contents failed to open stream

热门文章

  1. Boost串口通信 boost::asio::serial_port基本使用
  2. 华为算法工程师面试经历汇总
  3. 联想笔记本Fn+Q性能调节模式失效
  4. 你可得知道物理地址与IP地址
  5. 【计算机毕业设计】50.课程设计管理系统
  6. BUUCTF-web极客大挑战
  7. Unicode和GB2312编码表并转换为ASCII字符
  8. cron表达式的含义解释、写法
  9. Web项目部署到TongWeb的注意事项,TongWeb踩过的坑
  10. 网管软件有什么?网管软件推荐