2019 Multi-University Training Contest 9 Rikka with Stable Marriage —— 字典树

2024-04-07 00:08

本文主要是介绍2019 Multi-University Training Contest 9 Rikka with Stable Marriage —— 字典树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

This way

题意:

给你a,b两个数组,让他们两辆匹配,ai与bj是稳定的,当且仅当不存在ak与bl使得ai^bl>ai^bj&&ak^bj>ak^bl。问你所有稳定匹配中ai^bj之和最大的是多少

题解:

好像和6625是同一道题目(羞愧)
只需要将01,10的路劲选择放在前面即可,其它地方不变
This way

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5;
int tr[2][N*31][2],num[2][N*31];
int cnt[2];
void update(int x,int u)
{int rt=0;for(int i=30;i>=0;i--){if(!tr[u][rt][((x>>i)&1)])tr[u][rt][((x>>i)&1)]=++cnt[u];rt=tr[u][rt][((x>>i)&1)];num[u][rt]++;}
}
int query()
{int rt0=0,rt1=0,ans=0;for(int i=30;i>=0;i--){if(tr[0][rt0][0]&&tr[1][rt1][1]&&num[0][tr[0][rt0][0]]&&num[1][tr[1][rt1][1]])rt0=tr[0][rt0][0],rt1=tr[1][rt1][1],num[0][rt0]--,num[1][rt1]--,ans|=(1<<i);else if(tr[0][rt0][1]&&tr[1][rt1][0]&&num[0][tr[0][rt0][1]]&&num[1][tr[1][rt1][0]])rt0=tr[0][rt0][1],rt1=tr[1][rt1][0],num[0][rt0]--,num[1][rt1]--,ans|=(1<<i);else if(tr[0][rt0][1]&&tr[1][rt1][1]&&num[0][tr[0][rt0][1]]&&num[1][tr[1][rt1][1]])rt0=tr[0][rt0][1],rt1=tr[1][rt1][1],num[0][rt0]--,num[1][rt1]--;else if(tr[0][rt0][0]&&tr[1][rt1][0]&&num[0][tr[0][rt0][0]]&&num[1][tr[1][rt1][0]])rt0=tr[0][rt0][0],rt1=tr[1][rt1][0],num[0][rt0]--,num[1][rt1]--;}return ans;
}
int main()
{int t;scanf("%d",&t);while(t--){int n,x;cnt[0]=cnt[1]=0;scanf("%d",&n);for(int i=0;i<=n*31;i++){tr[0][i][0]=tr[0][i][1]=tr[1][i][0]=tr[1][i][1]=0;num[0][i]=num[1][i]=0;}for(int i=1;i<=n;i++)scanf("%d",&x),update(x,0);for(int i=1;i<=n;i++)scanf("%d",&x),update(x,1);ll ans=0;for(int i=1;i<=n;i++)ans+=(ll)query();printf("%lld\n",ans);}return 0;
}

这篇关于2019 Multi-University Training Contest 9 Rikka with Stable Marriage —— 字典树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/881192

相关文章

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

POJ2001字典树

给出n个单词,求出每个单词的非公共前缀,如果没有,则输出自己。 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;

AtCoder Beginner Contest 370 Solution

A void solve() {int a, b;qr(a, b);if(a + b != 1) cout << "Invalid\n";else Yes(a);} B 模拟 void solve() {qr(n);int x = 1;FOR(i, n) FOR(j, i) qr(a[i][j]);FOR(i, n) x = x >= i ? a[x][i]: a[i][x];pr2(

使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意

引言 什么是Amazon Bedrock? Amazon Bedrock是亚马逊云服务(AWS)推出的一项旗舰服务,旨在推动生成式人工智能(AI)在各行业的广泛应用。它的核心功能是提供由顶尖AI公司(如AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI以及亚马逊自身)开发的多种基础模型(Foundation Models,简称FMs)。