首页 > 其他分享 >二进制或序列

二进制或序列

时间:2024-09-16 17:45:41浏览次数:1  
标签:二进制 text 元素 int 序列 长度

二进制或序列

题意

给出长度为 \(n\) 的序列,任意两个数进行或运算后加入序列。

问进行无数次操作后,序列去重后的长度。

思路

定义 \(f_i\) 表示数 \(i\) 可以被序列中的元素或出的值。

若 \(f_i=i\) 表示 \(i\) 可以被序列中的元素或出来,答案加一。

从小到大枚举每个 \(i\),将 \(f_{i \text{ or } 2^j} \gets f_{i \text{ or }2^j} \text{ or } f_i\)。

因为若 \(i\) 能被或出 \(f_i\),\(i \text{ or } 2^j\) 也能被或出 \(f_i\)。

时间复杂度:\(O(w \log w)\)。

代码

#include <bits/stdc++.h>
using namespace std;
int f[1 << 20], n, ans;
int main() {
    cin >> n;
    for (int i = 1; i <= n; i ++) {
        int a; cin >> a;
        f[a] = a;
    }
    for (int i = 1; i < (1 << 20); i ++) {
        if (f[i] == i) ans ++;
        for (int j = 0; j < 20; j ++) f[i | (1 << j)] |= f[i];
    }
    cout << ans << "\n";
    return 0;
}

标签:二进制,text,元素,int,序列,长度
From: https://www.cnblogs.com/maniubi/p/18416471

相关文章

  • 蓝牙BLE开发——如何将二进制数据进行分包发送?
    如何将二进制数据进行分包发送最近忙的比较少更新,中秋佳节即将来临,祝大家中秋节快乐!前段时间有个需求,读取.bin文件,完成设备升级功能…,记得当时读取文件大小约9万多个字节,必然少不了对传输数据进行分包的操作。今天分享如何对数据分割为所需的大小,如果没有别的需求的,就......
  • 求序列中最长不升子序列的长度和不升子序列的个数
    狄尔沃斯定理(Dilworth'stheorem)该定理表述为:在一个有限的偏序集 P 中,最大抗链的大小等于最小覆盖的大小。换句话说,若 P 是一个有限的偏序集,且 α 是 P 中的一个最大抗链(即其中任意两个元素不可比较),而 β是 P 的一个最小覆盖(即覆盖所有元素的最小链),则有:∣α∣=∣β......
  • 完整代码——SASRec 基于自注意力的序列推荐
    关于“SASRec基于自注意力的序列推荐”这篇论文的学习笔记和代码复现可以看之前写的这两篇:学习笔记——SASRec基于自注意力的序列推荐-CSDN博客代码复现——SASRec基于自注意力的序列推荐-CSDN博客这次是关于这篇论文的代码展示,全文一万六千多字,难免会有所疏漏,有任何问题......
  • 数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
    时间序列概况在日常生活和专业研究中都很常见。简而言之,时间序列概况是一系列连续的数据点 y(0),y(1),...,y(t) ,其中时间 t 的点依赖于时间 t-1 的前一个点(或更早的时间点)。在许多应用中,研究者致力于预测时间序列概况的未来行为。存在各种建模方法。这些模型通常基......
  • 信息学奥赛初赛天天练-90-CSP-S2023基础题2-离散数学、染色、完全三叉树、平面图、边
    PDF文档公众号回复关键字:202409152023CSP-S选择题1单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)6以下连通无向图中,()一定可以用不超过两种颜色进行染色A完全三叉树B平面图C边双连通图D欧拉图7最长公共子序列长度常常用来衡量两个序列的相......
  • Hetao P1391 操作序列 题解 [ 绿 ] [ 二维线性 dp ]
    操作序列:简单的二维dp。观察我们每次操作可以让\(x\)变为\(2x-1\),或者当\(x\)为奇数时让\(x\)变为\(\frac{x+1}{2}\)。显然,执行第一种操作,会使\(x\)变成奇数。那一旦我们连续执行两次操作,\(x\)就会变为:\[\frac{(2x+1)-1}{2}=\frac{2x}{2}=x\]也就是说,当\(x\)......
  • 学习笔记——MMSR 自适应多模态融合的序列推荐
    AdaptiveMulti-ModalitiesFusioninSequentialRecommendation Systems前几天当我在阅读这篇论文的时候,在网上找到的相关资料很少,所以当时我读这篇论文的时候特别痛苦,精读了两天半.....所以现在我将自己学习笔记分享出来,给后面需要的小伙伴借鉴借鉴。我目前也是处于学习的......
  • 加法时间序列模型原理及Python实践
    加法时间序列模型是一种经典且广泛应用的时间序列分析方法,其原理主要基于将时间序列数据分解为几个相互独立的组成部分,以便更好地理解、分析和预测时间序列的特征和规律。以下是加法时间序列模型原理的详细阐述:一、模型定义加法时间序列模型假设时间序列数据Y[t]由四个基......
  • 乘法时间序列模型原理及Python实践
    乘法时间序列模型是时间序列分析中的一种重要方法,其原理主要基于将时间序列数据分解为多个相互关联的组成部分,并通过乘法关系将它们组合起来以描述和预测时间序列的变动。以下是对乘法时间序列模型原理的详细阐述:一、模型定义乘法时间序列模型假设时间序列数据Y[t]由四个......
  • 【视频讲解】线性时间序列原理及混合ARIMA-LSTM神经网络模型预测股票收盘价研究实例
    原文链接:https://tecdat.cn/?p=37702 原文出处:拓端数据部落公众号 分析师:DongzhiZhang 近年来人工神经网络被学者们应用十分广泛,预测领域随着神经网络的引入得到了很大的发展。本文认为单一神经网络模型对序列所包含的线性信息和非线性信息的挖掘是有限的,因此本文为了进一......