2008 Asia Regional Beijing Ping pong

2023-12-03 18:38

本文主要是介绍2008 Asia Regional Beijing Ping pong,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ping pong

题目

在这里插入图片描述

样例

在这里插入图片描述

思路

树状数组提速,对每一个人当裁判时,计算左小*右大+右小 *左大。

代码

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int MAX_N=100010;
const int maxn=20005;
long long C[MAX_N];
long long a[maxn],b[maxn],d[maxn]; 
int lowbit(int x)
{return x&(-x);
}
int getsum(int x)
{int res=0;for(;x>0;x-=lowbit(x)){res+=C[x];}return res;
}
void change(int x,int c)
{for(;x<=MAX_N;x+=lowbit(x)){C[x]+=c;}
}
int main()
{int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);memset(C,0,sizeof(C));for(int i=1;i<=n;i++){change(a[i],1);b[i]=getsum(a[i]-1);//左小	}memset(C,0,sizeof(C));for(int i=n;i>0;i--){change(a[i],1);d[i]=getsum(a[i]-1);//右小	}long long int sum=0;for(int i=2;i<n;i++)sum+=b[i]*(n-i-d[i])+d[i]*(i-1-b[i]);printf("%lld\n",sum);}return 0;
}

这篇关于2008 Asia Regional Beijing Ping pong的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/450447

相关文章

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

Regionals 2004 Asia - Beijing Argus 小根堆

点击打开链接 小根堆 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokeni

C# 如何同时Ping多个IP地址

在C#中,如果需要同时ping多个IP地址,可以采用多线程或异步编程的方式来实现,以便可以同时进行多个ping操作。以下是两种常用的方法: 方法一:使用多线程(Task 或 Thread) 使用Task是更现代和推荐的方式,因为它内置了更好的线程管理和异常处理机制。以下是一个使用Task的示例,展示如何同时ping多个IP地址: using System; using System.Co

Linux Ubuntu 能PING IP但不能PING主机域名的解决方法

------------------------------------------------------------------------------- ------------------------------------------------------------------------------- vi /etc/nsswitch.conf hosts: file

linux下 ping: unknown host www.baidu.com” 解决方法

问题现象 :   ping 和 telnet 都无法正常使用   而nslookup 可以正常解析到域名 $ ping  www.baidu.com  ping: unknown host  www.baidu.com $ telnet baidu.com 80  baidu.com/80: Name or service not known

2014 Asia AnShan Regional Contest 题解

B:5071Chat 暴力模拟即可。注意Bye的时候先和always on top说bye。还有注意long long。 代码如下: #include <set>#include <cstdio>#include <cstring>#include <algorithm>using namespace std ;#pragma comment(linker, "/ST

vc++ 2008 Redistributable Setup Error 1935.An error occurred during the ...

如标题提示一般是因为.net 3.5 无法安装造成的。需要安装 .net后就可以正常安装。.net 安装需要开启windows update 服务要不然安装失败。 如果windows update 界面显示为空,或者下载失败。则是服务未开启,开启就行。 保证上图两个服务开启 .net 就可以正常安装。vs 2008 组件也就可以正常安装。

深入理解 Linux 的 ping、telnet 和 curl 命令

深入理解 Linux 的 ping、telnet 和 curl 命令 在 Linux 系统中,网络调试和测试是日常运维工作的重要部分。ping、telnet 和 curl 是常用的网络命令工具,用于测试网络连接、访问远程服务器和发送 HTTP 请求等操作。本文将详细介绍这些命令的语法、使用场景和区别,尤其是 curl 命令中的 GET 和 POST 请求。 1. ping 命令 1.1

全国地市未来产业水平数据集(2008-2023年)

未来产业,作为驱动经济社会高质量发展的核心引擎,是指依托科技创新和模式创新,引领全球新一轮科技革命和产业变革,具有前瞻性、先导性、战略性的新兴产业领域。也是实现生产力大解放,推动生产力质的跃迁并形成新质生产力的关键 参照栗向阳(2024)的做法,统计城市层面的机器人渗透率和人工智能企业数量,衡量地级市的未来产业水平 一、数据介绍 数据名称:地级市-未来产业水平数据 数据范围:2

虚拟机无法查看ip地址,ping不通百度的解决思路

一、虚拟机centos中ifconfig看不到ens33的ip地址解决方案 1、检查网络适配器是否为"桥接模式"     2、查看网络配置文件 cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33   其中HWADDR,为ifconfig查看到的ens33网口的物理地址 将ONBOOT设置为yes 重启网络:service ne