ZOJ 3870 Team Formation(数学)

联想X3650M5服务器双模式切换实战:UEFI与Legacy BIOS如何选择? 本文深入探讨了联想X3650 M5服务器在UEFI与Legacy BIOS启动模式间的选择策略。文章从技术原理、决策矩阵、实战切换步骤及后期验证等方面,为企业IT管理员提供了基于操作系统兼容性、存储架构、安全合规与运维习惯的完整决策框架,帮助其在数据中心硬件生命周期管理中做出明智选择。 阅读详情

Team Formation

Time Limit: 3 Seconds      Memory Limit: 131072 KB

For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of his university.

Edward knows the skill level of each student. He has found that if two students with skill level A and B form a team, the skill level of the team will be A ⊕ B, where ⊕ means bitwise exclusive or. A team will play well if and only if the skill level of the team is greater than the skill level of each team member (i.e. A ⊕ B > max{A, B}).

Edward wants to form a team that will play well in the contest. Please tell him the possible number of such teams. Two teams are considered different if there is at least one different team member.

Input

There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:

The first line contains an integer N (2 <= N <= 100000), which indicates the number of student. The next line contains N positive integers separated by spaces. The ith integer denotes the skill level of ith student. Every integer will not exceed 109.

Output

For each case, print the answer in one line.

Sample Input
2
3
1 2 3
5
1 2 3 4 5
Sample Output
1
6

题意:求一个序列 a亦或b >max(a,b)的组合情况,没有顺序十分


思路:先排序,然后对与一个二进制数 他可以亦或大于他的数肯定是他的二进制中0的位置对方是1,并且这一位是对方的最高位


#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>


#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8

#define fre(i,a,b)  for(i = a; i <b; i++)
#define free(i,b,a) for(i = b; i >= a;i--)
#define mem(t, v)   memset ((t) , v, sizeof(t))
#define ssf(n)      scanf("%s", n)
#define sf(n)       scanf("%d", &n)
#define sff(a,b)    scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define pf          printf
#define bug         pf("Hi\n")

using namespace std;

#define INF 0x3f3f3f3f
#define N 100005
int vis[N],a[N];
int n,ans;

inline void call(int x)
{
   int i=0;
   while(x)
   {
   	 i++;
   	 x>>=1;
   }
   vis[i-1]++;
}

inline void solve(int x)
{
    int i;
    fre(i,0,31)
     if(!(x&(1<<i)))
		ans+=vis[i];
}

int main()
{
	int i,j,t;
	sf(t);
	while(t--)
	{
		sf(n);
		fre(i,0,n)
		  sf(a[i]);

		mem(vis,0);
		sort(a,a+n);
		call(a[0]);
		ans=0;
		fre(i,1,n)
		{
			solve(a[i]);
			call(a[i]);
		}
       pf("%d\n",ans);

	}
   return 0;
}

/*

2
3
1 2 3
5
1 2 3 4 5


*/









Qt开发实战:QWebEngineView缓存路径详解与自定义配置(Windows/Linux) 本文详细解析了Qt框架中QWebEngineView组件的缓存机制,提供了Windows和Linux系统下的默认缓存路径及自定义配置方案。通过实战代码示例,展示了如何实现跨平台缓存路径管理、权限设置以及企业级应用中的多用户隔离策略,帮助开发者有效管理Web内容缓存,提升应用性能和数据安全性。 阅读详情

相关推荐

Vue3+Vite+Electron桌面应用开发:从零到打包的完整避坑指南

本文是一份详尽的Vue3+Vite+Electron桌面应用开发实战指南。文章从项目初始化、环境配置、主进程构建、Vite深度优化,到最终的打包配置与优化,系统性地讲解了使用现代前端技术栈开发跨平台桌面应用的完整流程,并重点分享了开发与打包过程中的常见“坑点”与解决方案,旨在帮助开发者高效构建稳定可交付的桌面端应用。

hh234的博客 107

ZOJ3870 Team Formation【位运算+数学】

Team Formation Time Limit: 2 Seconds      Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of

海岛Blog 1283

QGIS三维地形可视化实战:从DEM数据到炫酷3D场景(附Qgis2threejs插件配置)

本文详细介绍了如何利用QGIS和Qgis2threejs插件,将DEM数据转化为交互式三维地形场景的完整工作流。核心内容包括DEM数据准备、坐标系选择(重点对比WGS 84与UTM的差异及影响)、插件核心参数配置、卫星影像与等高线叠加等进阶技巧,并提供了成果导出与常见问题解决方案,帮助用户高效创建可用于网页展示的炫酷3D可视化成果。

mqtt6iot的博客 875

ZOJ 3870 - Team Formation(数学)

题目: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3870 题意: 给出n个数,每次选出2个数,问一共有多少种选法使得两数异或后的值大于两个数的最大值。 思路: 对于一个数x,x的最高位0改为1时,且0前的数不变,则x比原来要大。 AC. #include #include #include

Halo 587

一文解读DeepSeek训练数据集

本文重点以DeepSeek为例,详细介绍预训练数据集相关内容。大语言模型LLM(如DeepSeek、ChatGPT、文心一言等)的“智慧”源于它们学习的海量数据集。简单来说,数据集就是模型的“知识库”,通常由互联网公开的文本、图片、视频等。这些数据需满足两个特点:规模大和多样性。规模大是指数据量可达千亿级词汇,让模型学习复杂规律;多样性则涵盖多领域(如科技、文学)、多语言、多形式(对话、新闻),帮助模型适应不同场景。例如,训练数据中既有百科知识,也有日常对话,模型才能既解答专业问题,又能闲聊。

u013891230的博客 7081

学习海康VisionMaster之BLOB分析

6):软阈值(相对):是一种动态阈值分割方法,其核心思想是 基于图像局部特性(如背景或参考区域)自适应调整阈值范围,适用于光照变化明显、背景灰度不均的场景。3:拖入位置修正功能:这个非常重要,模版匹配成功后会得到新的匹配坐标,那和创建模版时候的原点坐标会组合成一个坐标变换矩阵,通过这个矩阵,那后续的blob分析窗口则可以实现精确定位来查找目标对象。(2):设定参数:这里阈值方式是blob的核心算法,根据不同的应用场景来选择不同的阈值方式。8:高级参数:是设定blob区域的特征范围,用于筛选出来特定的区域。

yuhouxiyang的专栏 3618

[水+数学] zoj 3870 Team Formation

题意: 给n个数,问从n个数中选出两个数构成二元组(a[i],a[j])且i不等j,并且(a[j],a[i])和 (a[i],a[j])算一组。 求使得  a[i]亦或a[j]>max(a[i],a[j]) 的二元组个数。 思路: bit[i]数组记录二进制最高位是i(就是最高位是第i位且是1)的数有多少个。 遍历所有的数。默认遍历的数是a[i],a[j]中较大的那个。 那么我们只要寻

Enmity_Dark 500

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3732

♥ZOJ 3870-Team Formation【异或,数学】

Team Formation Time Limit: 3 Seconds      Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of h

小I的博客 457

利用大规模生物活性挖掘,计算识别针对癌基因驱动蛋白 EGFR、BRAF 与 CDK4 的高亲和力抑制剂

背景:精准癌症治疗需要小分子抑制剂与致瘤蛋白靶点之间的精确匹配。方法:我们使用 Python 及 ChEMBL 数据库 API 开发了一套计算流程,系统性地筛选针对 EGFR、BRAF 与 CDK4 的高亲和力配体。对 IC50 < 1000 nM 的生物活性进行过滤,并检索候选化合物的分子结构(SMILES)以供后续优化。结果:本研究共识别出 [插入总数] 种独特化合物。其中,对 BRAF 激酶而言,我们挑选了一批 IC50 低至 6.0 nM 的高效实验性化合物。

u012133341的博客 95

人工智能训练师三级考试题型全解析|190道真题样例+30天备考路线

人工智能训练师三级考试并不神秘:理论考190道选择题(刷题就能过),实操考代码+方案设计(练练就会)。核心是花时间——30天系统备考,足以从容通过。如果你想从零开始系统备考,覆盖所有考点和实操技能,欢迎查看我的专栏:📖《人工智能训练师三级·从零到拿证完全指南》80篇系统化内容,覆盖报名、备考、冲刺、拿证全流程六大模块知识点逐个击破,每个考点都讲透实操代码题手把手教学,附带完整参考代码高频考点速记 + 易错题精讲 + 3套模拟试卷30天备考计划 + 冲刺复习策略。

白话机器学习 6061

数学题ZOJ3870 Team Formation(2015浙江省赛)

题目链接:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5494 题意:给定一些学生的值。两两学生组合是合法当且仅当他们的权值异或值比他们的两个值都要大。问最多有多少个合法的组合 思路:数学题。把每个权值表示成二进制(按二进制来理解就好),然后求出他的最高位。用一个数组data统计所有数最高在i位的有多少个。

beihai2013 636

芒果YOLOv8改进72:动态标签分配策略篇之ATSS:自适应训练样本选择Adaptive Training Sample Selection策略

YOLOv8代码实践|ATSS标签分配策略改进🥭

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2907

ZOJ 题目3870 Team Formation(数学,位运算)

Team Formation Time Limit: 3 Seconds      Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students

Jogging_Clown 806

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ZOJ 3870 Team Formation 第12届浙江省省赛B题 [位运算+思维]【数学】

题目链接 :http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3870Team FormationTime Limit: 3 Seconds Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Ma

Tabris的博客 827

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

zoj3870-Team Formation(异或运算+数学规律)

题意: 给出n个数,求出所有两个数异或值大于其中任何一个数的所有组合。 分析: 暴力肯定超时,(冥思苦想了许久,最后看了别人的题解才恍然大悟。)对于一个数n,如果将二进制表示形式下最左端出现0的位置变为1,那么变化之后的数肯定比原数大。 思路: 首先求出每个数二进制表示形式下最左端1出现的位置,再枚举每个数二进制表示形式下最左端0的位置,从左往右,累加上所有0与配对的情况。 下面是

常胜将军的博客 702

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ZOJ - 3870 Team Formation (位运算)

ZOJ - 3870 Team Formation Time Limit:                                                        3000MS                          Memory Limit:                                                  

yanghui07216的博客 411

ZOJ3870 Team Formation————位运算&&思维

Team Formation Time Limit: 2 Seconds Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of his uni...

鸿杰 的博客 344

位运算 ZOJ 3870 Team Formation

题目传送门 1 /* 2 题意:找出符合 A^B > max (A, B) 的组数; 3 位运算:异或的性质,1^1=0, 1^0=1, 0^1=1, 0^0=0;与的性质:1^1=1, 1^0=0, 0^1=0, 0^0=0; 4 假设A < B,一定要满足B的最高位对应A的值是0,这样才可能>B(即0^1=1)...

weixin_34405332的博客 104

ZOJ - 3870 Team Formation(异或)

题意:给定N个数,求这N个数中满足A⊕B> max{A,B})的AB有多少对。(A,B是N中的某两个数) 分析: 1、异或,首先想到转化为二进制。 eg:110011(A)和 1(B)--------A中从右数第三个数是0,若某个数B(eg:110,101,111,……)从左向右数第三个数为1,那么两个异或一定满足A⊕B> max{A,B})。 ...

Cherrychan2014的博客 131

ZOJ 3870 Team Formation(思维)

题意:两个数异或的结果大于这两个数,求有多少对这样的数。 题记:找出所有数的二进制的左边第一个1的位置。vis[i]记录下1在第i位的数的个数。然后遍历所有数,当这个数的二进制的第i位为0时异或一个左边第一个1的位置在i的数是会变大的。 例如:(二进制表示) 100111异或1xxx和1xxxx都会变大。x取0和1都不会影响结果。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5

moyangxian 165

ZOJ 3870 Team Formation 位运算

点击打开链接 Team Formation Time Limit: 3 Seconds      Memory Limit: 131072 KB For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N

代码改变世界,keep coding。 1243

Zoj 3870 Team Formation(异或运算)

题意:给出n个数,每次选2个数,问一共有多少种选法使得选出的这两个数异或后的值,这两个数中的最大值还要大。 分析:异或运算:1^1=0, 1^0=1, 0^1=1, 0^0=0。 对于一个数,如果我们把x的二进制表示中最高位的0变成1,0前面的都不变,那么得到的这个新值肯定比x大。即:如果x的第i位为1(i为x的最高位的1所在位置),y的第i位为0(i不是y的最高位所在位置),那么z=

Ezereal的博客 356

【ZOJ 3870】 Team Formation

题意 n个数,找出有几对a、b 符合 a ^ b > max(a,b) 。^表示异或号 分析 对于数a,如果它的二进制是: 1 0 1  0 0 1,那么和它 ^ 后 能比他大的数就是: 0 1 X X X X 0 0 0 1 X X 0 0 0 0 1 X 所以对应的b 在a的最高位1到后面第一次出现0之前,都为0,然后在a为0的位置里至少一个为1。 于是就是最高位1的位置有几...

weixin_33895016的博客 71

zoj 3870 Team Formation (数位统计问题)

题意: 给出n个数组成的序列,求满足这样的数对的个数,i!=j,a[i]^a[j]>max(a[i],a[j]); 题解: 这题可以从二进制的角度去观察,我们可以枚举数对中的某个数i,然后计算有多少个j满足。对于j个数的计算,通过2进制数位的分析会发现,只要小于a[i]并且最高为和a[i]的对应位是不同的数就满足条件。预处理出最高位数是1的个数,剩下就是暴力枚举i和a[i]的位。 #inc

ACM之梦 633
上一篇: ZOJ 3872 Beauty of Array(数学)
下一篇: Uva 11181 Probability|Given(概率dp)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值