当前位置: 首页 > news >正文

【数三角——枚举,哈希】

题目

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pll = pair<int, int>;

#define x first
#define y second

const int N = 2010;

pll a[N];
int main()
{
    int n;
    scanf("%d", &n);

    map<pll, int> cnt;
    for (int i = 1; i <= n; i++)
    {
        scanf("%d%d", &a[i].x, &a[i].y);
        cnt[{a[i].x, a[i].y}]++;
    }

    ll ans = 0;
    for (int i = 1; i <= n; i++)
    {
        map<ll, vector<int>> lenmp;
        for (int j = 1; j <= n; j++)
        {
            ll len = 1ll * (a[i].x - a[j].x) * (a[i].x - a[j].x) + 1ll * (a[i].y - a[j].y) * (a[i].y - a[j].y);
            if (len)
                lenmp[len].push_back(j);
        }

        for (auto &u : lenmp)
        {
            vector<int> &id = u.y;
            int sz = id.size();
            if (sz < 2)
                continue;
            ans += sz * (sz - 1) / 2;

            int del = 0;
            for (int j = 0; j < id.size(); j++)
            {
              int u = id[j];
              int cx = a[i].x, cy = a[i].y;
              int x = a[u].x, y = a[u].y;
              int px = 2 * cx - x, py = 2 * cy - y;
              del += cnt[{px, py}];
            }

            ans -= del / 2;
        }
    }

    printf("%lld", ans);
}

相关文章:

  • OceanBase + DeepSeek:5分钟免费搭建企业知识库
  • K8s部署主从结构MySQL服务
  • C++的三种对象模型
  • 项目访问使用 docker bridge 网络模式(端口映射)配置详解
  • 全域旅游景区导览系统:赋能智慧旅游生态,破解行业核心难题
  • 外发抄板SCH与PCB检查系列
  • React七Formik
  • 2025.2.25学习内容
  • 【python随手记】——读取文本文件内容转换为json格式
  • 【机器学习】梯度下降法及使用一元二次方程模拟使用梯度下降法的代码实现
  • 45.matlab产生正弦叠加信号
  • 系统运维方案,系统运维的主要工作内容和运维检查单等资料,设备监控,设备运维检查(Word)
  • Redis 中有序集合(Sorted Set)的使用方法
  • java进阶学习IO流
  • 大厂都在用的前端换肤方案:多品牌适配 + 夜间模式全解析
  • Vue 3 零基础入门:从计数器应用开始你的工程化之旅 - 深入理解 Vue 3 响应式系统
  • 详解 torch.triu:上三角矩阵的高效构造(中英双语)
  • Linux 之 Centos 安装Consul
  • maven Problem shading JAR的几个解决方案
  • java进阶学习脑图
  • 好看的个人网站模板/中国软文网
  • 网站建设服务开发/湖南产品网络推广业务
  • 手机网站链接微信/seo优化培训
  • 亚马逊德国做deals 网站/线上销售方案
  • 紫搜做网站/营销策划的六个步骤
  • 飞色网站商城怎么做/谷歌推广效果怎么样