51nod 算法马拉松29 C题 美丽的集合

基于Java17、SpringBoot、vue3、antdv-next、uniapp等主流技术构建的全场景极速开发平台 MDP内置3个web端、1个移动端 重点解决用户中心、开发者平台、管理后台3个应 MDP-主数据平台,后端项目。专注于单点登录解决方案。内置用户中心、开发者平台、管理后台3个应用。包含:单点登录、Oauth2 登录、用户身份管理、应用申请、应用接入、主数据维护、主数据订阅、主数据广播、应用接口调用、接口管理管理和查看、系统配置等功能。 立即下载

原题链接。

这其实是我第一次在算马上交题,但是我太弱了,除了这题,都不会。

每次合并两个集合其实就是把一个集合的元素弄到一个集合里去做01背包。

竟然有集合合并,那显然要启发式合并了,这样最多提出n log n个元素。

但是如果暴力01背包每次的复杂度是10^5,难以接受。

注意到这个01背包非常特殊,它只要求是否能够凑成这个体积,所以这是一个布尔值。
于是bitset就可以用了,每次暴力左移,再或上去就行了。

复杂度 O(n log n mΩ)≈31250000

Code:

#include<bitset>
#include<cstdio>
#include<algorithm>
#define fo(i, x, y) for(int i = x; i <= y; i ++)
using namespace std;

const int N = 1005;

int n, Q, z, x, y, a[N], s[N], f[N], d[N][N];
bitset<100001> b[1001], c, c2;

int find(int x) {
    return f[x] == x ? x : f[x] = find(f[x]);
}

int main() {
    scanf("%d", &n);
    fo(i, 1, n) f[i] = i;
    fo(i, 1, n) scanf("%d", &a[i]), d[i][++ s[i]] = a[i], b[i][a[i]] = 1, b[i][0] = 1;
    for(scanf("%d", &Q); Q; Q --) {
        scanf("%d", &z);
        if(z == 1) {
            scanf("%d %d", &x, &y);
            if(find(x) == find(y)) continue;
            x = find(x); y = find(y);
            if(s[x] < s[y]) swap(x, y);
            fo(i, 1, s[y]) {
                c2 = b[x] << d[y][i];
                b[x] |= c2;
            }
            fo(i, 1, s[y]) d[x][++ s[x]] = d[y][i];
            f[y] = x;
        } else {
            scanf("%d", &x);
            x = find(x);
            printf("%d\n", b[x].count());
        }
    }
}
科技中介服务机构想要提升服务效率,需要哪些数智工具支持?.docx 科技中介服务机构想要提升服务效率,需要哪些数智工具支持? 立即下载

相关推荐

usb 扩容盘检测修复工具源码,编译产物

usb 扩容盘检测修复工具源码,编译产物

51nod 2026 Gcd and Lcm

原题链接.题目大意:设f(n)=∑d|nμ(d)∗df(n) = \sum_{d|n}μ(d)*d。 求∑ni=1∑nj=1f(gcd(i,j))∗f(lcm(i,j))\sum_{i = 1}^n \sum_{j = 1}^n f(gcd(i, j)) * f(lcm(i, j)) 1<=n<=1091<=n<=10^9题解:把μ(d)*d看作一个整体,这是一个积性函数,卷了一个恒等函数,那么

Cold_Chair的博客 970

融合UWB和IMU割草机定位EKF研究(Matlab代码实现)

内容概要:本文主要介绍了一个名为“Plecs全桥LLC谐振变换器仿真模型”的技术资源,该资源聚焦于电力电子领域中的LLC谐振变换器建模与仿真,涵盖开环、闭环控制、软启动设计及参数优化等核心内容。文档不仅提供了LLC变换器的详细建模方法与仿真案例,还系统梳理了其在高效电源转换系统中的应用,包括隔离型全桥拓扑结构的设计与性能分析。此外,资源汇总了大量Matlab/Simulink仿真模型及相关科研方向,涉及新能源并网、储能控制、电机驱动等多个前沿领域,全面展示LLC谐振变换器在现代电力系统中的关键技术实现路径。同时,文档附带多种学习资料获取途径,如网盘链接和公众号资源,便于研究人员深入实践与拓展研究。; 适合人群:具备扎实的电力电子、自动控制理论基础,从事新能源发电、开关电源设计、电力系统仿真等相关领域的研究生、工程师及科研人员。; 使用场景及目标:①深入理解LLC谐振变换器的工作原理、建模方法与控制策略;②开展电力电子变换器的仿真验证与参数优化设计;③支撑科研项目、学位论文或工程项目的系统仿真与方案验证; 阅读建议:建议结合所提供的仿真模型与参考文献,使用Plecs或Simulink软件进行动手实践,重点掌握LLC谐振变换器的建模流程、闭环控制设计、软启动机制及参数调试技巧,以全面提升在实际工程中的应用与创新能力。

51nod 1318 最大公约数与最小公倍数方程组

原题链接.题解:首先分解质因数,gcd就相当于指数的min,lcm就相当于指数的max。于是问题变成了这样: 给出一坨类似于以下的限制: min(a,b) = c max(a,b) = c 问是否有解?以min为例.min(a,b) = c 即(a >= c) and (b >= c) and (a = c or b = c)注意到指数是很小的,c不超过三十。于是可以把x拆成31(0->3

Cold_Chair的博客 778

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)内容概要:本文主要介绍了基于Plecs的全桥LLC谐振变换器仿真模型,涵盖变频控制下的多相交错LLC谐振变换器闭环仿真、V2G电动汽车ACDC整流与双向CLLC谐振变换器充放电仿真、LLC谐振变换器的开环与闭环软启动设计,以及储能系统中双向Buck-Boost变换器结合模型预测电流控制和电压下垂控制的仿真研究。同时,文档列举了多种电力电子系统与控制策略的Simulink/Plecs仿真案例,涉及三相交错并联Buck变换器、三电平Buck直流变换器、单相Boost PFC电路等,展示了丰富的电力变换器建模与控制技术。此外,还包括参数设计报告、计算书及相关参考文献,适用于从事电力电子、新能源发电、电动汽车充放电系统等领域的研究人员和技术开发人员。; 适合人群:具备电力电子、自动控制理论基础,从事新能源、电动汽车、电力系统等相关领域研究的研发人员、高校研究生及高年级本科生。; 使用场景及目标:① 学习和掌握LLC谐振变换器及其他典型电力电子变换器的工作原理与建模方法;② 实现闭环控制策略如变频控制、软启动、模型预测控制、下垂控制等的仿真验证;③ 支持科研项目、毕业设计或工程开发中的系统仿真与优化设计。; 阅读建议:建议结合文中提供的仿真模型、设计报告与参考文献,逐步搭建并调试相应系统,重点关注控制策略的实现细节与参数整定过程,以深入理解系统动态响应特性与控制性能。

Win10或Win8下ObjectARX2015 Wizard向导创建项目失败解决方法

[原创]objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法总结 by edata @2017-5-1 objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法 因为Win8/Win10对系统盘(默认c:)使用了高级权限管理,所以在此盘下操作文件的修改工作都需要管理员权限才行。 基于这个原因,导致非管理员安

edata的博客 7029

51nod 1238 最小公倍数之和 V3

题目描述: 求: ∑ni=1∑nj=1lcm(i,j)\sum_{i = 1}^n \sum_{j = 1}^n lcm(i, j) 题解: ∑ni=1∑nj=1lcm(i,j)\sum_{i = 1}^n \sum_{j = 1}^n lcm(i, j) =(∑ni=1∑ij=1lcm(i,j))∗2−n∗(n+1)/2=(\sum_{i = 1}^n \sum_{j = 1}^i l

Cold_Chair的博客 773

华为海思2026届数字IC秋招笔试高频考点解析与实战技巧(2025最新版)

本文深入解析华为海思2026届数字IC秋招笔试的高频考点与实战技巧,涵盖时序优化、低功耗设计、DFT规则等核心模块。针对2025年最新真题,提供详细的解题思路和工程经验,帮助考生高效备考。特别关注SystemVerilog约束随机测试等新增考点,助力考生在秋招笔试中脱颖而出。

m2n3o4p5的博客 416

Miller-Rabin和Pollard-Rho算法学习小记

前言: 很早前就看到这两个算法了,但是之前没有看懂。 好吧,模拟赛遇到了,不学不行啊。 Miller-Rabin测试: 我们知道常用的最快的判断质数的办法约是O(n−−√)(n)(\sqrt n)的。 Miller-Rabin测试是一种随机的算法,可以通过...

Cold_Chair的博客 763

CMAC算法原理

2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;

sky的博客 1658

CoppeliaSim(原V-REP)新手上路

CoppeliaSim(原V-REP)是一个机器人仿真平台,里面有很多来自别的公司的机器人模型以及完备的物理引擎,我们可以通过python,c++,matlab等语言控制里面的机器人。,您也可以在官网中Downloads里找您需要的版本,一般只需要下载EDU版本就可以了,我下载的是v4.1.0 windows EDU版本。在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。

qq_37051669的博客 4万+

51nod 1190 最小公倍数之和V2

题目大意: 给出2个数a, b,求LCM(a,b) + LCM(a+1,b) + .. + LCM(b,b)。 1 T组数据,1 且数据为随机,没有构造的卡人数据。 题解: 这一题我是不会的,去网上看了下题解,发现了一个奇怪的反演姿势。 必要结论: ∑d|nμ(d)=(n=1)\sum_{d | n} μ(d) = (n = 1) 证明略。 Ans=∑bi=alcm(i)Ans

Cold_Chair的博客 709

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1042

51nod 1244 莫比乌斯函数之和

题目描述:求∑bi=aμ(i)\sum_{i = a}^b μ(i) 1<=a<=b<=10^10 题解:杜教筛的裸题。 设s(n) = ∑ni=1μ(i)\sum_{i=1}^n μ(i)我们在学莫比乌斯反演的时候曾经证明过: ∑i|nμ(i)\sum_{i | n} μ(i) = (n = 1)∑ni=1∑j|iμ(i)\sum_{i=1}^n \sum_{j | i} μ(i) = 1

Cold_Chair的博客 683

置顶必读(1) |《滚雪球学SpringBoot 3.x》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot 3.x》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 12万+

手把手教你学Simulink——机器人力控场景实例:基于Simulink的永磁同步电机重力补偿力矩控制仿真

本文介绍了基于Simulink的机器人重力补偿力矩控制仿真方法。针对机器人悬停时电机发热、抖动等问题,提出通过前馈补偿重力转矩的解决方案。文章详细阐述了从机器人动力学建模、重力补偿计算、PMSM转矩控制到系统集成的完整实现流程,并以2-DOF机械臂为例验证了补偿效果。结果表明,重力补偿能显著降低电机电流和拖拽力,提高系统柔顺性。文中还提供了高级功能扩展方向,如参数辨识、摩擦补偿等,为实际工程应用提供了参考框架。

MHD0815的博客 154

默慈金数学习小记 && 51nod 1556 计算

参考博客:ACdreamers.事实上默慈金数很偏门,据说早就渗入ACM竞赛中了(庆幸我才初中)。默慈金数定义:在一个圆上有n个不同的点,画出彼此互不相交弦的方案数(可以不画)即是第n个默慈金数。递推公式: M(1)=1,M(2)=2M(1)=1,M(2)=2 M(n+1)=M(n)+∑n−1i=0M(i)∗M(n−1−i)M(n+1)=M(n)+\sum_{i=0}^{n-1}M(i)*M(n

Cold_Chair的博客 679

【agent实战教程】OpenClaw多个agent一文通

一个合格的独立agent,必须具备6个完全独立的专属组件独立组件路径规则核心要求不独立的严重后果唯一agentId配置文件中全局唯一,不能重复,建议用英文+数字,不要有特殊字符agent配置冲突,消息派单错误,会话串线独立工作区(workspace)建议每个agent一个独立文件夹,不要共用人设、记忆、规则混在一起,agent人设崩塌,对话串线独立状态目录(agentDir)固定系统自动生成,绝对禁止多个agent复用同一个agentDir。

海兰 649

51 nod 1188 最大公约数之和 V2(狄利克雷卷积+线性筛法)

六级算法题的不一样做法

Cold_Chair的博客 673

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

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

51nod 1835 完全图

原题链接. 比赛时我怎么都不会做这一题。旁边人表过了。显然的状态是fi,jf_{i,j}表示用了序号前i个,有j块的方案数。显然可以枚举第i个放的块的大小来转移。fi,j=∑i−(j−1)k=1fi−k,k−1∗fk−1,1∗Ck−1i−1f_{i,j} =\sum_{k=1}^{i-(j-1)}f_{i-k,k-1}*f_{k-1,1}*C_{i-1}^{k-1}这条方程神奇之处在于自我调用fk

Cold_Chair的博客 670

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

51nod 1237 最大公约数之和 V3

题目大意:G=0; for(i=1;i<=N;i++) for(j=1;j<=N;j++) { G = (G + gcd(i,j)) % 1000000007; }题解:杜教筛。 这里提供两种反演姿势,之后我们会发现一个神奇的东西。 在此之前你得会杜教筛φ。反演1:∑ni=1∑nj=1gcd(i,j)\sum_{i = 1}^n \sum_{j = 1}^n gcd(i, j) =2∗

Cold_Chair的博客 637

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

51nod 1769 Clarke and math2

题目大意:他突然想算这么一个式子,给出 f(i),1≤i≤n ,要求算 g(i)=∑i1∣i∑i2∣i1∑i3∣i2⋯∑ik∣ik−1f(ik) mod 1000000007 (1≤i≤n,ij∈N+) 题解:设c(i)为i经过k轮变换后为1的方案数。 那么显然可以这样求g(i*j) += f(i) * c(j) (1 <= j <= ⌊n/i⌋\lfloor n / i \rfloor).

Cold_Chair的博客 610

51nod 1239 欧拉函数之和

题目描述:求: ∑ni=1φ(i)\sum_{i = 1}^n φ(i) 1 <= n <= 10题解:杜教筛第二道裸题。必要结论: ∑i|nφ(i)=n\sum_{i|n} φ(i) = n证明: 设f(n) = ∑i|nφ(i)\sum_{i|n} φ(i) 将n分解质因数,n = ∏pqii\prod_{{p_i^{q_i}}} 利用莫比乌斯函数里学到的一个性质,可以得到: f(

Cold_Chair的博客 604

51nod 1515 明辨是非 && 2017百度之星初赛第一场第二题(并查集+启发式合并)

题目:原题链接 给n组操作,每组操作形式为x y p。 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等;否则输出NO,并忽略此次操作。 当p为0时,如果第x变量和第y个变量可以不相等,则输出YES,并限制他们不相等 ;否则输出NO,并忽略此次操作。 n<=1*10^5题解:暑假打百度之星时还傻傻地以为这题就是奇偶游戏(奇偶游戏中变量的值只能是0,1)。等于有传递性

Cold_Chair的博客 592

51nod 1643 小Q的家庭作业

Description:定义 f(n) 表示 1 到 n 这 n 个数,同 n 的最大公约数的和。 例如 f(1)=1,f(2)=3,f(3)=5,f(6)=15 ,比如 n=6 时 1,2,3,4,5,6 同 6 的最大公约数分别为 1,2,3,2,1,6 ,它们的和是 15 。 小Q遇到了一个问题,Nod老师要求他回家计算 g(n)=∑d|nf(d) 这个函数模 1000000007 的值,

Cold_Chair的博客 578

51nod 1323 完美平方

题目链接. 异或方程组高斯消元例题。 每个元素选与不选设为未知数。 同一行同一列搞个方程。 至于是完全平方数就分解质因数,对每个质因子建一个方程。 答案是2的自由元个数次幂。 自由元个数=元的个数-有用方程的条数。 其实我到现在才知道高斯消元非三角矩阵的打法,感觉以前学了假的消元。 可以用bitset优化,很简单,这里不讲。 算法竞赛入门经典这本书里有一道类似的题,打法也是从那里...

Cold_Chair的博客 538
上一篇: 自然数幂和(差分表法)
下一篇: 51nod 1323 完美平方
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值