CodeForces - 706D Vasiliy‘s Multiset( 01字典树)

LS-DYNA中的流固耦合 在LS-DYNA中对流固耦合问题的求解提供了两种方法,ALE流固耦合和基于ICFD的流固耦合。本文将对两种方法的各自特点进行分析。 ALE方法的流固耦合 适用范围 ALE求解器主要用于层流。ALE求解器也不是完全的NS求解器,因此不考虑边界层的影响,比如阻力。流体粘性效应仅通过材料模型获得,也就是*mat_null的MU。ale求解器是为了求解高压高速度梯度的短时问题而开发的。该求解器并不适用于求解低压力梯度问题比如声学,也不适用于长时间问题(秒的尺度甚至更长)。时间的限制是显式时... 阅读详情
题目链接:点击进入
题目

在这里插入图片描述
在这里插入图片描述

题意

q次操作:
1:+ x 集合加一个x
2:- x 集合删一个x
3:? x 查询集合中与 x 异或的最大值
( 默认集合初始有 0 !!! )

思路

异或最大值,01字典树,插入、删除、查询功能。
插入时对于每个节点统计使用多少次 cnt [ p ] ,删除操作就是对 x 经过的点 cnt [ p ] --。

代码
// Problem: Vasiliy's Multiset
// Contest: Virtual Judge - CodeForces
// URL: https://vjudge.net/problem/CodeForces-706D
// Memory Limit: 262 MB
// Time Limit: 4000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

//#pragma GCC optimize(3)//O3
//#pragma GCC optimize(2)//O2
#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<stack>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define best 131 
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define lowbit(x) x & -x
#define inf 0x3f3f3f3f
// #define int long long
//#define double long double
//#define rep(i,x,y) for(register int i = x; i <= y;++i)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double pai=acos(-1.0);
const int maxn=6e6+10;
const int mod=1e9+7;
const double eps=1e-9;
const int N=5e3+10;
/*--------------------------------------------*/
inline int read()
{
    int k = 0, f = 1 ;
    char c = getchar() ;
    while(!isdigit(c)){if(c == '-') f = -1 ;c = getchar() ;}
    while(isdigit(c)) k = (k << 1) + (k << 3) + c - 48 ,c = getchar() ;
    return k * f ;
}
/*--------------------------------------------*/

int q,t[maxn][2],tot;
int val[maxn],cnt[maxn];

void insert(int x)
{
	int p=0;
	for(int i=31;i>=0;i--)
	{
		int to=(x>>i)&1;
		if(!t[p][to])
			t[p][to]=++tot;
		p=t[p][to];
		cnt[p]++;
	}
	val[p]=x;
}
void del(int x)
{
	int p=0;
	for(int i=31;i>=0;i--)
	{
		int to=(x>>i)&1;
		p=t[p][to];
		cnt[p]--;
	}
}
int find(int x)
{
	int p=0;
	for(int i=31;i>=0;i--)
	{
		int to=(x>>i)&1;
		if(t[p][to^1]&&cnt[t[p][to^1]])
			p=t[p][to^1];
		else
			p=t[p][to];
	}
	return val[p];
}


int main() 
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);cout.tie(0);
	cin>>q;
	insert(0);
	while(q--)
	{
		char op;
		int x;
		cin>>op>>x;
		if(op=='+') 
			insert(x);
		else if(op=='-')
			del(x);
		else if(op=='?')
			cout<<(x^find(x))<<endl;
	}
    return 0;
} 
Qt5+Ros+GUI界面 在之前建立的工程的基础上添加一个gui界面。 在ros包中新建一个文件夹,名字叫gui 右击gui文件夹添加一个文件,选择Qt->Qt设计师界面类 选择MainWindow 选择下一步 最后在gui中生成三个文件 mainwindow.cpp、mainwindow.h、mainwindow.ui 但此时,这些新创建的文件和原本的ros工程还没建立任何关系,只是目录下多出了几个文件而已... 阅读详情

相关推荐

Hyper-V显卡直通实战:手把手解决Windows 11虚拟机错误码43(附完整参数配置)

本文详细解析了在Windows 11 Hyper-V虚拟机中配置显卡直通时遭遇错误码43的根源,并提供了从环境检查、核心PowerShell命令(如Set-VMGpuPartitionAdapter)配置到虚拟机内驱动替换的完整实战解决方案,帮助用户彻底解决显卡驱动无法加载的问题。

weixin_29238147的博客 898

01字典树模板(带删除)

hdu4825 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long long LL; typedef pair<int, int> P; typedef pair<P, ll> LP; const ll inf = 1e9 + 100; const in...

- 回忆゛ 442

单细胞转录组分析(scRNA-seq)

单细胞转录组测序(Single-cell RNA sequencing,scRNA-seq)是一种高通量测序技术,可以在单细胞水平解析基因表达情况,揭示细胞异质性,探索稀有细胞类型,并研究细胞状态转换及动态调控机制。与传统的。

大甘的博客 6149

Chip Factory (01字典树+删除操作)

Chip Factory(HDU 5536)和Xor sum(HDU 4825)一样都是01字典树,不过多了一个删除操作,HDU4825只有插入操作,而HDU 5536有删除操作 这里讲解一下删除操作: 定义一个judge[]数组判断每一个节点是否存在即可 在插入的时候令judeg[root]+=1 删除的时候令judge[root]-=1即可 当judge[root]<=0时以该roo...

yangzijiangac的博客 611

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2580

Windows平台MuJoCo仿真环境配置与Qt集成实战

本文详细介绍了在Windows平台上配置MuJoCo物理仿真环境并与Qt框架集成的完整实战流程。内容涵盖从环境准备、库文件配置、项目创建到核心代码编写的每一步,重点解决了Windows下常见的编译链接错误和路径问题,帮助开发者在Windows系统中高效搭建机器人仿真与可视化控制开发环境。

weixin_29221753的博客 172

codeforces 706d (01字典树求xor最大值)

D. Vasiliy's Multisettime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAuthor has gone out of the stories about Vasiliy, so here is just a formal ta...

yjt9299的博客 354

Anki小白必看:手把手教你打造高颜值个性化笔记模板(附Leaflyer模板下载)

本文为Anki新手提供详细的个性化笔记模板设计指南,从基础配置到高级定制技巧,帮助用户打造高效记忆系统。特别推荐Leaflyer模板下载,通过视觉优化和功能强化,显著提升学习体验和记忆效率。

weixin_28717969的博客 433

codeforces-706D (异或trie树)

题意:给定一种集合支持一下操作1.加入一个数2.删除一个数3.给定一个数,在集合中找出一个数,使得这两个数异或值最大,输出最大值题解:    这道题可以作为异或trie树的模板题。把每一个数扩充成30位从最高位开始建树,删除的操作是为每一个节点保存一个值,如果该值不为0说明该节点存在,否则不存在。查询的时候从最高位开始,0对1,1对0进行查找,最后的结果一定是最优的。代码:#include&lt;...

GrimCake的博客 369

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知 文章目录Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知1.实现思路2.新增钉钉机器人并测试消息的发送2.1.新增钉钉机器人2.2.测试发送消息到钉钉3.在Jenkins中新建一个构建任务3.1.新建任务3.2.配置任务时增加参数化构建过程3.3.配置任务添加git地址3.4.配置构建触发器生成gitlab webhook使用的token3.5.配置任务构建过程中执行的She

江晓龙的博客 3809

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 688

codeforces 706D (字典树)

题目链接:http://codeforces.com/problemset/problem/706/D 题意:q次操作,可以向多重集中增添,删除,询问异或最大值。 思路:转化为二进制用字典树存储,数字从高位开始,并全部固定位30位。 #include<bits/stdc++.h> using namespace std; const int N=2e5 + 5; int...

weixin_30254435的博客 202

使用 MATLAB/Simulink 搭建一个 无人机群间数据交换与协同控制仿真系统

本文提供了一份详细的Simulink无人机群协同控制仿真教程。主要内容包括:无人机群系统架构设计(去中心化网络、通信分层)、三维运动建模、空-空通信链路实现(距离判断、无线信道)、分布式Consensus控制算法开发,以及性能评估指标设定。教程采用模块化设计思路,通过ModelReference构建多无人机并行模型,并给出了MATLAB函数实现关键算法。最后展示了预期仿真结果(收敛时间<15s、位置偏差<2m)和进阶应用方向(编队飞行、AI协同等),帮助读者掌握群体智能系统的建模与仿真方法。

amy_mhd的博客 155

01字典树模板

题意: 输入n n次操作: + x:插入x - x:删除x ? x:查询已经插入的某个数与x异或的最大异或和 思路: 01字典树模板题 恰好遇到这题,更新一下自己的模板(以前的太丑了) ps: 这题有个坑点是字典树为空的情况下可能会查询,所以开始的时候先插入一个0 code: #include<bits/stdc++.h> using namespace std; #define i...

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 318

visio安装包

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

codeforces | c++ | 706D | Vasiliy‘s Multiset

​​​​​​Vasiliy's Multiset

iCling的博客 270

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

codeforces 706D(字典树)

D. Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Author has gone out of the stories about Vasili

hi 334

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

codeforces 706D(01字典树)

给出很多操作,能向一个集合里增加元素,也能减少元素,查询某一个值在这个集合里的最大异或值 01字典树,在节点上新开一个记录节点出现的次数,查询的时候用次数做判断,没有出现的话就相当与没有这个节点就好了。 #include #include using namespace std; const int N=200005; struct node { int val[2]; i

HOrchard 414

codeforces 706D. Vasiliy's Multiset 带删除操作的字典树(真模版)

D. Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Author has gone out of the stories about Vasili

swust_fang 904

codeforces 706D trie树 或 muliset

题意:插入,删除,询问三个操作。 分析:显然trie树都支持这三个操作,但是代码比较长,用muliset更短小精悍。但是两者的本质都是一样,都是找与二进制不同的,尽量凑成全是1. muliset #include using namespace std; multiset dp; bool check(int a,int b) { auto it = dp.lower_bound(a);

Sun_shiney的博客 583

Codeforces 706D Vasiliy's Multiset(异或字典树)

D. Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Author has gone out of the stories about Vasili

yasolx的博客 1327

Codeforces 706d 字典树+贪心

Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Author has gone out of the stories about

black_miracle的博客 504

Codeforces-706D Vasiliy's Multiset

题目大意: 最开始的时候有一个集合,集合里面只有一个元素0,现在有q次操作,操作分为3种: + x: 表示向集合中添加一个元素x - x:表示删除集合中值为x的一个元素 ? x:表示查询集合中与x异或的最大值为多少 解题思路: 乱搞。 可以用一个multiset来维护这个集合。这样前两个操作就是非常简单的了,关键在于最后一个操作。 对于异或来说,比如说如果给你一个数11,另外一个数

Wilbert的博客 1023

Binary Table (Hard Version)-(思维)

题目描述:点击进入 题意 给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。 你可以进行这样的操作: 选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。 你的任务是使表中的所有符号都等于0。您最多可以进行 nm次 操作。 你不需要最小化操作的数量。 思路 这是上一题的加强版,操作次数变为 nm 了,我上一次的代码过不去,无奈只能优化,但也只是对边界处理优化了一下,却神奇过了(神奇神奇,用xy哥的话来说那就是可蒸馏啊)

Cosmic_Tree的博客 1780

k-LCM ( easy version && hard version ) -( 思维 - 构造 )

题目链接(easy):点击进入 题目链接(hard):点击进入 题目 题意 长度为 k 的数组,整个数组的和为 n ,整个数组的最小公倍数不超过 n / 2,让你构造这样一个数组 简单版本k=3,困难版本 3 <= k <= n。 思路 简单版本: 因为明确告诉你了 k = 3 ,同时要求三个数的最小公倍数不能超过 n / 2,所以我们可以根据 n 来构造这个三个数。 首先根据 n 的奇偶性分类讨论 如果 n 是奇数,那么三个数可以变为 n / 2 , n / 2 , 1 ; 如果 n 是偶

Cosmic_Tree的博客 1189

Binary Table (Easy Version)-(思维)

题目描述:点击进入 题意 给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。 你可以进行这样的操作: 选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。 你的任务是使表中的所有符号都等于0。您最多可以进行 3nm次 操作。 你不需要最小化操作的数量。 思路1 通过找找规律,我们可以知道一个 2*2 的矩阵 不包含0的可以通过一次操作变为包含3个0的, 包含3个0的通过一次操作可以变为包含2个0的, 包含2个0的通过一次

Cosmic_Tree的博客 840

Codeforces Beta Round #68 - B- Train ( 贪心模拟 )

题目链接:点击进入 题目 题意 偷渡者和控制者玩以下游戏。 火车由 n 节车厢表示,车厢从头到尾用 1 到 n 的正整数编号。偷渡者和控制者最初在两辆不同的货车中。火车每分钟都可能处于两种状态移动或空闲。控制者每分钟都在移动。 控制器有运动方向——火车头或火车尾。在移动期间,控制者对应于其移动方向移动到相邻的货车。如果在他的移动结束时,控制者进入第 1 辆或第 n 辆货车,那么他将移动方向更改为另一侧。换句话说,控制者在整个游戏过程中循环地从火车的头部到尾部然后再返回,在每次移动期间移动一辆车。请注意,

Cosmic_Tree的博客 747
上一篇: HDU - 2072 单词数( 字典树 )
下一篇: CodeForces - 985F Isomorphic Strings(哈希)
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值