IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> cf 728 -> 正文阅读

[开发测试]cf 728

B

传送门
在这里插入图片描述
大致翻译:
给你一个数组a1,a2,…,一个由n个不同整数组成的数组。计算索引对(i,j)的数量,使i<j和ai?aj=i+j。

输入

第一行包含一个整数t(1≤T≤104)-测试用例的数量。接着是t例。

每个测试用例的第一行包含一个整数n(2≤N≤105)-数组a的长度。

每个测试用例的第二行包含n个空格分隔的整数a1,a2,…,an(1)≤人工智能≤2.?n) -阵列a。保证所有元素都是不同的。

保证所有测试用例的n之和不超过2?105

输出

对于每个测试用例,输出索引对的数目(i,j),使得i<j和ai?aj=i+j。

例子

输入副本

3 1

6 1 5

3 1 5 9 2

输出副本

注意

对于第一个测试用例,满足约束的唯一对是(1,2),如a1所示?a2=1+2=3

对于第二个测试用例,满足约束的唯一一对是(2,3)。

对于第三个测试用例,满足约束的对是(1,2)、(1,5)和(2,3)

思路:由于直接寻找会超时所以可以通过寻找数组里对应的数来间接寻找,这样时间复杂度为O(nlogn)
例如样例1中第三个:
在这里插入图片描述
剩下的不一一列举了,理解一下就好~

代码:(注意开loglong)

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxx=0x3f3f3f3f;
const int N=100010;
ll a[N];
int main()
{
	ll t;
	cin>>t;
	while(t--){
		ll n,ans=0;
		cin>>n;
		for(ll i=1;i<=n;i++){
			cin>>a[i];
		} 
		for(ll i=1;i<=n;i++){
			for(ll j=a[i]-i;j<=n;j+=a[i]){
				if(j<=i)continue;
				else if(a[i]*a[j]==i+j)ans++;
			}
		}
		cout<<ans<<endl;
	}
    return 0;
}

C

传送门
在这里插入图片描述
在这里插入图片描述

题目大意:
农夫约翰有一个农场,由n个牧场组成,这些牧场由单向道路连接。每条路都有一个权重,表示从起点到终点所需的时间。路的重量可能是负重的,牛跑得太快,以至于它们回到了过去!然而,农夫约翰保证奶牛不可能陷入时间循环中,它们可以通过一系列的道路无限地回到过去。而且,每对牧场在每个方向上最多由一条路连接。

不幸的是,农夫约翰弄丢了农场的地图。他只记得一个数组d,其中di是奶牛使用一系列道路从牧场1到达第i个牧场所花费的最小时间。他的农场的成本是每一条路的重量之和,农夫约翰需要知道一个农场的最小成本,这与他的记忆是一致的。

输入

第一行包含一个整数t(1≤T≤104)-测试用例的数量。接着是t例。

每个测试用例的第一行包含一个整数n(1≤N≤105)-牧场的数量。

每个测试用例的第二行包含n个空格分隔的整数d1,d2,…,dn(0≤di公司≤109)-数组d。保证d1=0。

保证所有测试用例的n之和不超过105。

输出

对于每个测试用例,输出与Farmer John的记忆一致的农场的最小可能成本。

例子

输入副本

0 2 3

0 1000000000

0

输出副本

-3

0

0

注意

在第一个测试用例中,可以添加道路

从牧场1到牧场2,时间为2,

从牧场2到牧场3,时间为1,

从牧场3到牧场1?3.

从牧场3到牧场2?1.

从牧场2到牧场1?2.

总成本为2+1+?3+?1+?2=?3.

在第二个测试用例中,您可以添加一条从牧场1到牧场2的道路(成本为1000000000),以及一条从牧场2到牧场1的道路(成本为1000000000)?1000000000总成本是1000000000+?1000000000=0.

在第三个测试用例中,不能添加任何道路。总成本为0。
思路:
只需要连接一条最小整数的路,其余均为负数
例如:
0 1 4 8
在这里插入图片描述
在这里插入图片描述
由例子中我们可以看到通过计算差分就可以得到最后的答案

代码:
(注意开longlong)

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxx=0x3f3f3f3f;
const int N=100010;
ll a[N],cha[N];
int main()
{
	ll t;
	cin>>t;
	while(t--){
		ll n;
		cin>>n;
		for(ll i=1;i<=n;i++){
			cin>>a[i];
		}
		sort(a+1,a+n+1);
		for(ll i=1;i<=n;i++){
			cha[i]=a[i]-a[i-1];
		}
		ll ans=a[n], sum=0;
		for(ll i=1;i<=n;i++){
			sum+=cha[i]*(i-1);
			ans-=sum;
		} 
		cout<<ans<<endl;
	}
    return 0;
}
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:31:53  更:2021-07-15 16:32:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 10:40:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码