首页 > 其他分享 >E. Power of Points

E. Power of Points

时间:2023-10-03 15:33:22浏览次数:42  
标签:Power int LL 距离 Points ans 点数

E. Power of Points

题意很简单:从左到右取点,输出该点到每个点的距离之和

思路:
1.对一个有序的序列进行计算,我们发现从左往右,左边点数的距离会增加,右边点数的距离会减小
2.因此我们只需暴力的计算第一个点到所有点的距离之和,接下来的点只需一步就可计算出来
2.1 ans+=左边的点数之和移动的距离,ans-=右边包括自己的点数之和移动的距离
注意
1.计算会爆int所以记得开LL
2.移动距离不用+1,比如:1->3,增加的是3,在3->4的情况下1->4,距离为4,也就是3+1(4-3).

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define LL long long
void solve() {
	int n;
	cin >> n;
	vector<pair<int, int>> v(n+1);
	for (int i = 1; i <= n; i++) {
		cin >> v[i].first;
		v[i].second = i;//记录下标
	}
	sort(v.begin(), v.end());
	LL ans = 0;
	vector<LL> res(n + 1);
	for (int i = 1; i <= n; i++) ans += v[i].first - v[1].first + 1;
	res[v[1].second] = ans;
	for (int i = 2; i <= n; i++) {
		ans += 1LL*(i - 1) * (v[i].first - v[i - 1].first );//注意会爆int,所以乘以1LL
		ans -= 1LL*(n - i + 1) * (v[i].first - v[i-1].first );//不用+1
		res[v[i].second] = ans;
	}
	for (int i = 1; i <= n; i++) cout << res[i] << ' ';
	cout << '\n';
}
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int t;
	cin >> t;
	while (t--) {
		solve();
	}
	return 0;
}

标签:Power,int,LL,距离,Points,ans,点数
From: https://www.cnblogs.com/bu-fan/p/17741183.html

相关文章

  • 如何安装 PowerShell 最新版本?
    如何安装PowerShell最新版本安装TypeScript一、安装TypeScript安装TypeScript语言最简单的方式是使用npm工具。如果你的计算机中还没有安装Node.js,则需要到Node.js的官网(https://nodejs.org/zh-cn/download)上下载LTS版本的安装包并安装(Windows:ht......
  • [转]PowerDesigner设计表时显示注释列Comment,Columns中没有Comment的解决办法
    感谢作者的分享!1、在所要编辑的表上双击,打开TableProperties窗口,并将上面的选项卡切换到Columns,如下图:2、点击CustomizeColumnsandFilter按钮,下图红框中的按钮,或者按Ctrl+U快捷键,如下图:3、在打开的CustomizeColumnsandFilter窗口中,把Comment前面的复选框打上勾,点击OK......
  • Powershell 获取AD Certificate 详细信息
    get-aduser-SearchBase$ou-Filter*-Propertiesdisplayname,usercertificate|ForEach-Object{$displayname=$_.displayname$_|select-ExpandPropertyusercertificate|ForEach-Object{$cert=[System.Security.Cryptography.X509Certifi......
  • abc212G - Power Pair
    G-PowerPair如果知道了原根的话这题就会简单很多r是p的原根\(r^a=x,r^b=y\)那么$$r^{an}\equivr^b(mod\p)$$根据原根的性质\[an\equivb(mod\p-1)\]\[an-k(p-1)=b\]令n=p-1由裴蜀定理得\((a,n)|b\)\[ans=\sum_{a=1}^n\frac{n}{(n,a)}\]\[=\sum_{d|n}\frac......
  • #POWERBI_指标监控(第二部分,周期内下降天数及日期明细)
    在指标监控的第一部分文章中,我们已经讲了,如何用DAX去查询一段周期内连续下降或者上升指标。需要复习的同学可以点击下方链接:https://www.cnblogs.com/simone331/p/17730677.html根据学友上篇文章的反馈,今天,我们来拓展学习一下,如何计算一个周期内(非连续),下降或上升天数统计,以及......
  • POWERBI_1分钟学会_连续上升或下降指标监控
    一:数据源模拟数据为三款奶茶销量的日销售数据源,日期是23.8.24-23.8.31。A产品为连续7天,日环比下降,B产品为连续3天,日环比下降,C产品为连续2天,日环比下降。二:建立基础度量值首先,我们建立两个基础度量值,计算我们的产品销量和日环比。产品销量=CALCULATE(SUM('数据源'[销量]))......
  • Linux常用命令(cat,more,less,head,tail,clear,poweroff,reboot,alias,unalias,uname,hostname,hist
    本章学习Linux基础命令数量为18个123456catmorelessheadtailclearpoweroffrebootaliasunaliasunamehostnamehistorywhitchwcwwhowhoami1.cat命令作用:连接文件并在标准输出上输出(常用于查看内容较少的,会把所以查看的内容加载到内存中)。常用......
  • 185_技巧_Power Query(M)语言快捷输入之搜狗输入法设置自定义短语
    185_技巧_PowerQuery(M)语言快捷输入之搜狗输入法设置自定义短语此前,我们发布过如何通过QQ拼音输入法来实现快速的输入PowerQuery(M)语言。参考:https://jiaopengzi.com/730.html今天我们来更新PowerQuery(M)语言在搜狗输入法中设置自定义短语的快捷输入。快捷输入效......
  • pycharm无法打开终端:open Local Terminal_Failed to start [powershell.exe]
    今天在运行pycharm的时候出现了这个问题openLocalTerminal_Failedtostart[powershell.exe]直接上解决办法1.进入设置2.选择tools下的terminal然后修改shellpath 如果没有的话需要找到本机的powershell的路径然后对其进行修改就能正常运行了  ......
  • 根据周数计算月(Power Query)
    问题:如何根据周数计算月假设:以每周第一天为标准,一周从周一开始计let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],当前年=Table.AddColumn(源,"23年",eachDate.Month(Date.AddDays(#date([年],1,1),[周]*7-7))),通用年=Table.AddColumn(当前年,......