首页 > 其他分享 >YC309A [ 20240627 CQYC省选模拟赛 T1 ] 或(or)

YC309A [ 20240627 CQYC省选模拟赛 T1 ] 或(or)

时间:2024-07-03 19:19:43浏览次数:16  
标签:省选 T1 overline 20240627 答案 ans 集合 subseteq

题意

给定一个可重集 \(S\),求所有的前缀的集合的代价。

定义一个集合的代价为:

\[\max_x \left( (\max_i b_i \lvert x) - (\min_i b_i \lvert x)\right) \]

\(n \le 10 ^ 6, V \le 2 \times 10 ^ 6\)

Sol

首先看到这个式子直接开划。

称较大的数为 \(b_i\),较小的数为 \(b_j\)。

直接考虑二进制位,发现 \(x\) 会取到所有 \(b_{j, k} = 1\) 而 \(b_{i, k} = 0\) 的位置上。

我们发现答案的值域很小,集中注意力,思考答案会满足什么样的性质。

事实上答案 \(ans\) 满足 \(ans \subseteq b_i\) 以及 \(ans \subseteq \overline b_j\)。

这个玩意是充要条件。

接下来就很简单了,直接考虑维护两个集合 \(Sx\), \(Sy\),分别表示加入 \(x \subseteq b_i\),\(y \subseteq \overline b_j\),即可。

假如一个数 \(x\) 同时出现在了两个集合中,直接更新答案即可。

标签:省选,T1,overline,20240627,答案,ans,集合,subseteq
From: https://www.cnblogs.com/cxqghzj/p/18282412

相关文章

  • YC307B [ 20240625 CQYC省选模拟赛 T2 ] 一个题(ynoi)
    题意你需要维护一个可重集\(S\),支持插入删除以及查询最大的方案使得给定正整数\(k\),划分为\(k\)个非空子集的按位与结果之和最大。\(n\le10^5\)Sol先上个trie。然后考虑一次查询怎么搞。先转化一下,如果需要划分为\(k\)个子集,显然需要合并\(n-k\)次。我们只......
  • 2024/7/2 T1
    题意:分析:记\(S_{i}\)表示目前第\(i\)个集合里的元素个数。集合之间互不区分,强制钦定必须满足\(S_{i}\leS_{i+1}(i<k)\)。经搜索发现,这样的状态数量最多约为\(1.8\times10^5\)。极差可以这样处理:将\(a\)排序,\(S_{i}\)第一次加入某个元素\(x\),则贡献加上\(-x\)......
  • 【嵌入式DIY实例】- LCD ST7735显示DHT11传感器数据
    LCDST7735显示DHT11传感器数据文章目录LCDST7735显示DHT11传感器数据1、硬件准备与接线2、代码实现本文介绍如何将ESP8266NodeMCU板(ESP-12E)与DHT11(RHT01)数字湿度和温度传感器连接。NodeMCU从DHT11传感器读取温度(以°C为单位)和湿度(以r......
  • PART1-Oracle关系数据结构
    2.Oracle关系数据结构2.1.表和表簇2.1.1.模式对象简介数据库模式是数据结构的逻辑容器,这些数据结构称为模式对象。模式对象的例子有表和索引。模式对象是通过SQL创建和操作的。一个数据库用户拥有密码和各种数据库权限。每个用户拥有一个与其同名的模式。模式包含了属于......
  • 联合省选 2024 游记
    省流:abs(__int128)纯属去体验一下。FJ-S0124,谁都比不上我八倍队线。Day1上场。看T1。这个题目背景咋和题目一点关系都没有。。。盯了一会儿发现可以把\(x,y\)加起来判断就可以了。然后花十分钟码了一个直接枚举答案的,发现答案可能很大,于是开始拆贡献。这里其实已经有想过......
  • Luogu P9542 [湖北省选模拟 2023] 棋圣 alphago
    2023.08.19:修改了一处笔误。手玩发现对于一颗生成树,如果存在至少一个点的度数\(>2\)(即不为链),那么肯定能使得所有棋子都在一条边的两个端点上。因为有度数\(>2\)的点的存在,这里就可以合并与其相连的点的棋子。先考虑非链的情况的答案,记两部分棋子黑白棋子颜色分别为\(c(a/......
  • GESP 202406 四级认证 T1 题解
    大意:一个只包含000和111的矩形,边长为......
  • HDLBits练习Shift18 Verilog逻辑右移和算数右移的区别
    算术右移时,移入的是移位寄存器中数字(本例中为q[63])的符号位,而不是逻辑右移时的零。右移n位,即加入n位符号位。即若符号位为1,在左边补1;若符号位为0,就补0。算术右移的另一种思路是,它假定被移位的数字是带符号的,并保留符号,因此算术右移是右移n位将带符号的数字除以2的n次幂。......
  • C++题解(1) 信息学奥赛一本通 1003:对齐输出 洛谷 B2004:对齐输出 土豆编程 T1003:对
    【题目描述】读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。【输入】只有一行,包含三个整数,整数之间以一个空格分开。【输出】只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。【输入样例】......
  • YC307A [ 20240622 CQYC省选模拟赛 T1 ] 划船(boat)
    题意给定一个有向图\(G\),以及将所有边反向重连的无向图\(T\)。你最多可以在\(T\)上连续走\(k\)条边,走过每条边的代价都为\(1\),然后必须在\(G\)的对应点上走一条边以恢复体力。若当前对应点没有出边,则停留在该点\(1\)代价。求每个点到\(n\)的最小代价。Sol考......