首页 > 其他分享 >XOR=平均值

XOR=平均值

时间:2024-11-20 15:08:07浏览次数:1  
标签:dots 输出 XOR 平均值 10 leq 测试用例 oplus

XOR=平均值

每次测试时间限制:1秒

每次测试的内存限制:256 MB

输入:标准输入

输出:标准输出

题目描述

给你一个整数 \(n\) 。找出一个由 \(n\) 个整数 \(a_1, a_2, \dots, a_n\) 组成的序列,使得所有 \(i\) 和 \(1 \leq a_i \leq 10^9\) 都是 \(1 \leq a_i \leq 10^9\) 。

\[a_1 \oplus a_2 \oplus \dots \oplus a_n = \frac{a_1 + a_2 + \dots + a_n}{n}, \]

其中 \(\oplus\) 表示 bitwise XOR

证明存在满足上述所有条件的整数序列。

输入

第一行输入包含 \(t\) ( \(1 \leq t \leq 10^4\) ) - 测试用例数。

每个测试用例的第一行包含一个整数 \(n\) ( \(1 \leq n \leq 10^5\) ) 表示你要查找的序列的长度。

所有测试用例中 \(n\) 的总和不超过 \(10^5\) 。

输出

对于每个测试用例,输出满足语句中条件的 \(a_1, a_2, \dots, a_n\)。

如果有几个可能的答案,您可以输出其中的任何一个。

样例 #1

样例输入 #1

3
1
4
3

样例输出 #1

69
13 2 8 1
7 7 7

提示

在第一个测试用例中, $ 69 = \frac{69}{1} = 69 $ .

在第二个测试用例中, $ 13 \oplus 2 \oplus 8 \oplus 1 = \frac{13 + 2 + 8 + 1}{4} = 6 $ .






题解

怎么还没怎么搞懂,就把答案看完了?

当 n 为奇数时,奇数个相同的数的 异或 就等于它本身,而其平均值也为它本身,因而只需输出 n 个相同的数字即可。

当 n 为偶数时,偶数个相同的数的 异或 是 0 ,而 1 和 3 的 异或 是2。因此,只需输出以下结果

\(1, 3, \underbrace{2, \dots, 2}_{n-2\text{ 个}}\)

#include <iostream>
using namespace std;

int main() 
{
	int t;
	cin >> t;
	while (t--) 
	{

		int n;
		cin >> n;

		// 如果n是奇数,则输出n个1
		if (n % 2) 
		{
			for (int i = 1; i <= n; i++) printf("1 ");
			printf("\n");
		}
		// 如果n是偶数,则输出1 3 2 2 2 2...
		else 
		{
			printf("1 3 ");
			for (int i = 2; i < n; i++)printf("2 ");
			printf("\n");
		}
	}
	return 0;
}

标签:dots,输出,XOR,平均值,10,leq,测试用例,oplus
From: https://www.cnblogs.com/phuzzz/p/18558425

相关文章

  • LeetCode 2455[可被三整除的偶数平均值]
    题目链接LeetCode2455[可被三整除的偶数平均值]详情实例提示题解思路遍历容器,for循环遍历,vector的at方法取元素值判断能否被3整除,不能则继续遍历能被3整除则判断能否被2整除,即判断奇偶性,不能被2整除,即为奇数则继续遍历能被2整除,即为偶数,则将数值加入累加器内,即......
  • [Moectf2024 Xor(大嘘)]
    [Moectf2024Xor(大嘘)]进入主函数输入32长度的字节sub_401100(&v7);进行加密byte_404058是加密后的密文转dwordsub_401100的加密看似很简单,但其实是错的,动态调试后就会发现到return后会跳到别的函数,追到return处的汇编就会发现有花指令这里莫名其妙就retn了,nop掉对l......
  • P10856 【MX-X2-T5】「Cfz Round 4」Xor-Forces题解
    题意:给定一个长度为\(n=2^k\)的数组\(a\),下标从\(0\)开始,维护\(m\)次操作:给定\(x\),设数列\(a'\)满足\(a'_i=a_{i\oplusx}\),将\(a\)修改为\(a'\)。其中\(\oplus\)表示按位异或运算。给定\(l,r\),查询\(a\)的下标在\(l,r\)之间的子数组有多少颜色段。不保......
  • xor
    题目链接:xor。下载附件后,使用IDA打开,并反编译,定位到main函数,如下。通过查看main函数源码,可以发现该程序主要的操作如下。for(i=1;i<33;++i)__b[i]^=__b[i-1];if(!strncmp(__b,global,0x21uLL))printf("Success");即,把用户的输入进行......
  • CF1977D XORificator
    CF1977DXORificator题意给你一个二进制(仅由\(0\)和\(1\)组成)\(n\timesm\)矩阵。你可以进行以下操作任意次:反转某一行中的所有值(即用\(1\)替换\(0\),用\(0\)替换\(1\))。矩阵中的某一列如果只包含一个\(1\),则被视为特殊列。你的任务是找出最多有多少列可以同时被特......
  • clickhouse数据库,时间范围一周,周期为每一小时,聚合数据中的最新,最大值,最小值,平均值,求和
    工作中通过ai改来改去最后实现的,非常好用databaseVal举例:1HOURinterval:1WEEK最新,这里用到了ROW_NUMBER,就是编号,OVER就是分组,分组是通过一小时聚合,聚合后会有编号每一个组的,从1开始到该组结束,取每组的第一条就是最新的SELECTreport_timeAStimeInterval,cpu_usageAScpu......
  • CF963-Div2-E. Xor-Grid Problem
    CF963-Div2-E.Xor-GridProblem题意给定一个\(n\timesm\)的矩阵\(a\),有两种操作:选择一行,把每个数变成所在列所有数的异或之和。选择一列,把每个数变成所在行所有数的异或之和。求进行任意次操作后整个矩阵最小的美丽值。思路第一个发现:同一数异或两次相当于没有异......
  • [ARC084F] XorShift
    模拟赛题。考虑操作的构成,先忽略\(1\)操作,只考虑任意两个数的异或,不难发现所有能构成的数即为线性基。再考虑\(1\)操作,显然可以对开始的每个数率先进行\(1\)操作再构建线性基。记\(lim=\max(\log_2a,\log_2m)\),发现所有可能有效的数都不超过\(2^{2lim}\)。再考......
  • Xor-FWT 的另一种理解方式
    Xor-FWT的另一种理解方式学习\(\text{Fennec'sAlgorithm}\)的额外收获,顺手记录一下。假设我们要求两个长度为\(n\)的数组的异或卷积,为方便起见令\(n=2^m\),也就是类似下面的形式\[C_k=\sum\limits_{i\oplusj}A_i\timesB_j\]考虑构造\(\mathbb{Z}_2^n\)中的向......
  • 生成10个随机数并求平均值 输出小于平均值的个数
    #include<stdio.h>#include<stdlib.h>#include<time.h>intmain(){srand(time(NULL));//设置种子intarr[10]={0};//在数组中存入10个数字intlen=sizeof(arr)/sizeof(int);//计算长度ints=0;for(inti=0;i<len;i++){intnum......