首页 > 其他分享 >C. Concatenation of Arrays

C. Concatenation of Arrays

时间:2024-10-22 21:10:30浏览次数:7  
标签:Arrays Concatenation int 传递性 ord 排序

  • 进行排序的运算符必须满足严格弱序(满足传递性和不可比性的传递性)
  • 按逆序对数排序显然不满足不可比性的传递性,如(1,5)(3,3)(2,6)
  • 同一个组内的两个数的相对大小不影响答案,应该猜想按较小值排序
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int a[100005][2];
int ord[100005];
bool cmp(int u,int v)
{
	return min(a[u][0],a[u][1])<min(a[v][0],a[v][1])||min(a[u][0],a[u][1])==min(a[v][0],a[v][1])&&max(a[u][0],a[u][1])<max(a[v][0],a[v][1]);
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T;
	cin>>T;
	while(T--)
	{
		int n;
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			cin>>a[i][0]>>a[i][1];
			ord[i]=i;
		}
		sort(ord+1,ord+n+1,cmp);
		for(int i=1;i<n;i++)
		{
			cout<<a[ord[i]][0]<<" "<<a[ord[i]][1]<<" ";
		}
		cout<<a[ord[n]][0]<<" "<<a[ord[n]][1]<<endl;
	}
	return 0;
}

标签:Arrays,Concatenation,int,传递性,ord,排序
From: https://www.cnblogs.com/watersail/p/18493744

相关文章

  • Codeforces Round 980 (Div. 2) C. Concatenation of Arrays
    题目:给定n个数组a1,a2,…,an。每个数组的长度都是2。因此,ai=[ai,1,ai,2]。你需要将这些数组连接成一个长度为2n的单一数组,以便使结果数组中的逆序数最小。注意,你不需要实际计算逆序的数量。更正式地说,你需要选择一个长度为n的排列p,使得数组b=[ap1,1,ap1,2,......
  • 六,Arrays
    Arrays类详解Arrays类是Java标准库中提供的一个工具类,专门用于对数组进行各种操作。这个类提供了一系列静态方法,用于排序、搜索、比较数组以及将数组转换为字符串等。这些方法适用于所有对象数组和原始类型数组。Arrays类的特点工具类:Arrays类是一个工具类,只包含静态方......
  • 常用类:包装类,System类,Random类,Arrays
    包装类--integer相关包装inti1=Integer.parseInt("100");//String->intSystem.out.println(i1);Integeri2=Integer.valueOf("100");//String->IntegerSystem.out.println(i2);Integeri3=In......
  • Java数组工具类Arrays
    Arrays工具类将数组内容转为字符串对数组内容进行排序判断是否相同数组的复制查找特定值的索引用指定元素存满数组数组转列表Arrays工具类提供了一系列方便、高效的方法来操作和处理数组,大大简化了Java中对数组的常见操作。将数组内容转为字符串使用Arrays......
  • java.util.Arrays#sort
    基本数据类型数组/***java.util.Arrays#sort(int[])*publicstaticvoidsort(int[]a){*DualPivotQuicksort.sort(a,0,a.length-1,null,0,0);//DualPivotQuicksort*}*/Obje......
  • Arrays常用API
    Arrays常用API本文主要总结了JAVA的Arrays工具类的常见使用方法,该工具类在机试刷题、面试过程中经常被问到,阅读完建议自己实践实践。1.常见API:1Arrays.toString()//输出数组的内容(基本数据类型)2Arrays.sort(arr);//排序,默认是升序3Arrays.binarySearch(int[]......
  • Arrays类的使用
    1.Arrays在IDEA中有一个叫Arrays的类,它可以执行数组的一系列操作2.Arrays.toString该代码用于执行数组的打印,因为数组的打印用sout并不能输出出来(数组面向于对象),所以得用该代码输出3.Arrays.sort将数组的数字从小到大排序4.Arrays.fill将数组中的数字用其他数字覆盖掉......
  • Arrays.asList方法
    Arrays.asList() 是Java中的一个静态方法,它属于 java.util.Arrays 类。这个方法的作用是将一个数组转换成一个固定大小的列表(List)。需要注意的是,这个列表是由原始数组支持的,因此这个列表的大小是固定的,并且不支持添加或删除元素的操作,因为这样的操作会改变列表的大小,而底......
  • 题解:AT_abc369_c [ABC369C] Count Arithmetic Subarrays
    很水的一道题,但是硬控我半个小时呜呜呜。它问等差数列的数量,我们发现只要找到所有的等差数列,那么答案一定包含在这些数列的连续子序列中。求所有等差数列显然可以线性,我们求出每个等差数列的长度\(n\),那么连续子序列个数即为\(n(n+1)\over2\)。至于求的话我定义了两个指针,每......
  • LeetCode //C - 350. Intersection of Two Arrays II
    350.IntersectionofTwoArraysIIGiventwointegerarraysnums1andnums2,returnanarrayoftheirintersection.Eachelementintheresultmustappearasmanytimesasitshowsinbotharraysandyoumayreturntheresultinanyorder. Example1:......