zoukankan      html  css  js  c++  java
  • 【BZOJ5071】[Lydsy十月月赛]小A的数字 发现性质

    【BZOJ5071】[Lydsy十月月赛]小A的数字

    题解:一般遇到这种奇奇怪怪的操作,常用的套路是将原序列差分一下,或者求个前缀和什么的。本题就是直接对原序列求前缀和,然后发现一次操作相当于交换两个相邻位置,所以将a数组和b数组求完前缀和排个序看一下每位是否都相同即可。

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    typedef long long ll;
    const int maxn=100010;
    ll a[maxn],b[maxn];
    int n,T;
    inline int rd()
    {
    	int ret=0,f=1;	char gc=getchar();
    	while(gc<'0'||gc>'9')	{if(gc=='-')	f=-f;	gc=getchar();}
    	while(gc>='0'&&gc<='9')	ret=ret*10+gc-'0',gc=getchar();
    	return ret*f;
    }
    void work()
    {
    	int i;
    	n=rd();
    	for(i=1;i<=n;i++)	a[i]=a[i-1]+rd();
    	for(i=1;i<=n;i++)	b[i]=b[i-1]+rd();
    	sort(a+1,a+n+1),sort(b+1,b+n+1);
    	for(i=1;i<=n;i++)
    	{
    		if(a[i]!=b[i])
    		{
    			printf("NO
    ");
    			return ;
    		}
    	}
    	printf("YES
    ");
    }
    int main()
    {
    	T=rd();
    	while(T--)	work();
    	return 0;
    }
  • 相关阅读:
    局部组件
    flex布局
    Websocket
    关于Javascript夜里再来分析下
    go build、go mod等命令
    websocket
    FileSystemWatcher使用
    DataGridView双缓冲
    C#读INI文件
    c 通过 COM接口调用 Excel.Application 问题终于解决
  • 原文地址:https://www.cnblogs.com/CQzhangyu/p/7750057.html
Copyright © 2011-2022 走看看