CF76E Points 题解

2023-11-11

题目大意

给出 n n n 个点的坐标 x x x y y y,让你求出各个点的距离的平方和。

解法

两点距离公式: ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{(x_1-x_2)^2+(y_1-y_2)^2} (x1x2)2+(y1y2)2

本题是一道数学题,第一反应是枚举 ∑ i = 1 n ∑ j = i + 1 n ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sum\limits_{i=1}^n \sum\limits_{j=i+1}^n (x_1-x_2)^2+(y_1-y_2)^2 i=1nj=i+1n(x1x2)2+(y1y2)2,时间复杂度为 O ( n 2 ) O(n^2) O(n2)(跑不满),会超时,所以我们要对原式进行化简。

化简得 ( n − 1 ) × ∑ i = 1 n ( x i 2 + y i 2 ) − 2 × ( ∑ i = 1 n − 1 x i × ∑ j = i + 1 n x j + ∑ i = 1 n − 1 y i × ∑ j = i + 1 n y j ) (n-1) \times \sum\limits_{i=1}^n (x_i^2 + y_i^2)-2 \times (\sum\limits_{i=1}^{n-1}x_i \times \sum\limits_{j=i+1}^n x_j + \sum\limits_{i=1}^{n-1}y_i \times \sum\limits_{j=i+1}^n y_j) (n1)×i=1n(xi2+yi2)2×(i=1n1xi×j=i+1nxj+i=1n1yi×j=i+1nyj)

代码

#include<bits/stdc++.h>
using namespace std;
long long n,ans1,sum1,sum2,ans2;
struct node
{
	int x,y;
	node()
	{
		x=0,y=0;
	}
	void init1()
	{
		ans1+=(long long)(x*x*(n-1))+(long long)(y*y*(n-1));
		sum1+=x,sum2+=y;
	}
	void init2(int xx,int yy)
	{
		ans2+=2*x*sum1+2*y*sum2,sum1-=xx,sum2-=yy;
	}
};
node a[100010];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y,a[i].init1();
	sum1-=a[1].x,sum2-=a[1].y;
	for(int i=1;i<n;i++) a[i].init2(a[i+1].x,a[i+1].y);
	cout<<ans1-ans2;
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CF76E Points 题解 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • 如何使用 Python 调试器

    介绍 在软件开发中 调试是查找并解决阻止软件正常运行的问题的过程 Python调试器为Python程序提供了调试环境 它支持设置条件断点 一次一行单步执行源代码 堆栈检查等 先决条件 您应该在计算机或服务器上安装 Python 3 并设置编
  • 如何在 Apache 上为 Debian 8 创建 SSL 证书

    介绍 本教程将引导您完成使用 SSL 证书保护的 Apache 服务器的设置和配置 在本教程结束时 您将拥有一个可通过 HTTPS 访问的服务器 SSL 基于将大整数解析为其同样大的质因数的数学难题 使用它 我们可以使用私钥 公钥对来加密信
  • 如何在 DigitalOcean 上使用 WordPress 一键安装

    介绍 WordPress是世界上最受欢迎的内容管理和博客平台之一 可让您高效地创建和管理网站内容 本教程将指导您使用以下命令设置 WordPress 网站WordPress 一键式应用程序 一键部署 除了常规 Ubuntu 20 04 Dr
  • localStorage和sessionStorage简介

    介绍 The localStorage and sessionStorage对象是 Web 存储 API 的一部分 是用于在本地保存键 值对的两个出色工具 使用localStorage and sessionStorage用于存储是使用 c
  • vue 遍历目录下的文件,获取图片名并直接遍历渲染

    使用场景 搭了个资源网站 想直接遍历显示当前图片目录下的所有图片 但是图片名字乱七八糟花里胡哨 举例说明获取目录下的文件名 新创建一个 vue 项目 获取 views 目录下的以 vue 结尾的文件的文件名 mounted 参数 1 路径
  • web安全漏洞总结

    目录 一 网络安全常见漏洞 1 sql注入漏洞 漏洞解释与形成原因 漏洞分类 漏洞存在常见地方 漏洞利用 漏洞防御 攻击流量特征 绕开waf拦截的常用方法 2 文件上传漏洞 漏洞解释与形成原因 漏洞利用 漏洞存在常见地方 漏洞防御 绕开wa
  • 各类常用符号

    常用符号 1 几何符号 2 代数符号 3 运算符号 如加号 减号 乘号 或 除号 或 两个集合的并集 交集 根号 对数 log lg ln 比 微分 dx 积分 曲线积分 等 4 集合符号 5 特殊符号 圆周率 6 推理符号 a
  • 项目环境由pytorch1.10升级1.11中间要改的东西

    1 THC THCDeviceUtils cuh 该文件弃用 nightly missing THC THCDeviceUtils cuh include
  • VMware中CentOS7.5 启用NAT模式配置静态IP连接外网

    1 在cmd中查看本机VMnet8的ipv4地址及子网掩码 C gt ipconfig 2 在VMware里 依次点击 编辑 虚拟网络编辑器 如下图 选择NAT模式 3 取消勾选 使用本地DHCP服务将IP分配给虚拟机 这个选项 配置子网i
  • STM32与BLE蓝牙通信 Android APP配置(二)

    事务的难度远远低于对事物的恐惧 0 前言 在 Android BLE蓝牙配置全流程 一 附APP源码 中已经完成了前期的准备工作 在这里我们得到了需要连接的蓝牙设备的名字和地址 需要完成蓝牙设备的连接和数据传输功能 1 初始化界面 首先需要
  • 成都瀚网科技:抖音发作品到底需要多久的时间才能够给流量呢?

    如果在抖音平台上面发作品 那自然也需要先去了解一下抖音发作品到底应该要怎么做才能够火 另外也要清楚抖音发作品到底需要多久的时间才能够给流量呢 1 视频时长 注意视频时长问题 一般抖音用户 只能上传60秒内的视频 但严格意义上 抖音最喜欢的是
  • 2.1.1 匹配位置的元字符

    匹配位置的元字符包括 3 个字符 和 b 其中 脱字符号 通常在文章中插入字时使用 和 美元符号 都匹配一个位置 它们分别匹配行的开始和结尾 以下正则表达式匹配以 String 开头的行 即被匹配的行的第一个字符串为 String Stri
  • vue2中的mixin

    1 什么是Mixin混入 混入 Mixin 是 Vue js 中用于复用部分组件逻辑的一种技术 通过混入 你可以将组件的方法 生命周期钩子 甚至 data 都进行复用 混入的基本工作原理是把一个特定的对象 混入 到另外一个对象之中 如方法
  • Open3D——KITTI数据集.bin文件批量转.pcd点云

    目录 一 概述 二 代码实现 三 结果展示 四 批量转换 一 概述 之前的文章python KITTI数据集 bin转 pcd txt并可视化已经对Open3D进行 bin文件读取进行了简要的代码实现 本文给出使用Open3D进行 bin文
  • 【Linux问题】Linux修改文件出现错误E45:“readonly” option is set(add ! to override)退出不了vim

    出现这种错误时会退出不了vim 那么出现这种错误的原因有 1 该错误为当前用户没有权限对文件修改 2 该文件没有正确保存退出 正在打开状态 关闭后再保存 3 若该文件所有都关闭 提示有的人没有关闭 则删除该文件的临时文件则可正常打开 修改
  • 数据结构基础--复杂度计算

    一 算法的复杂度 算法在编写成可执行程序后 运行时需要耗费时间资源和空间 内存 资源 因此衡量一个算法的好坏 一般是从时间和空间两个维度来衡量的 即时间复杂度和空间复杂度 时间复杂度主要衡量一个算法的运行快慢 而空间复杂度主要衡量一个算法运
  • 数据仓库的特点

    大家好 我是曜耀 今天说一说数据仓库的几个特点 数据仓库 Data Warehouse 是一个面向主题的 集成的 稳定的且随时间变化的数据集合 用于 支持管理人员的决策 1 面向主题 主题就是类型的意思 传统数据库主要是为应用程序进行数据处
  • ERROR: No matching distribution found for tensorflow==2.4.0

  • 华为OD机试真题-事件推送-2023年OD统一考试(B卷)

    华为OD机试2023年最新题库 JAVA Python C 题目描述 同一个数轴X上有两个点的集合A A1 A2 Am 和B B1 B2 Bn Ai和Bj均为正整数 A B已经按照从小到大排好序 A B均不为空 给定一个距离R 正整数 列出
  • CF76E Points 题解

    题目大意 给出 n n n 个点的坐标 x x x 和 y y y 让你求