【JZOJ 4711】Binary

使用CubeMX生成的项目在Keil下添加DSP库并包含arm_math头文件后报错的解决办法 问题描述: 最近使用Cube生成工程后,在Keil中使用Manage Runtime Environment即绿色小饼干按钮添加CMSIS的DSP库后编译报错。很有意思的是,STM32论坛上有外国朋友报告的同样的错误,都是30个Errors,5个Warning。 问题分析: 参考国内论坛某帖子(具体想不起来了),认为因该是Cube复制了库后,Keil从原始Packs目录下引用DSP库导致和Cub... 阅读详情

Description

这里写图片描述

Solution

比赛的时候想了半天的线段树,结果发现....

有结论:
当y的第i位为1,并且:

2i⩽(a+x)mod2i+1⩽2i+1−1

时,a的第i位二进制有效,
移项:
设x′=xmod2i+1
2i−x′⩽(amod2i+1)⩽2i+1−1−x′

再判断一下中间项超出模时的情况,
所以对于所有数的每位二进制,只要统计在[2i−x′,2i+1−1−x′]和[2i−x′,2i+1−1−x′]这两个区间的合法个数即可判断此二进制位合法的个数,
修改就直接修改,
这个可以用树状数组来做,。
复杂度:O(nlog2(n))

Code

#include<cstdio>
#include<cstdlib>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define NX(q) ((q)&(-q))
using namespace std;
typedef long long LL;
const int N=100500,M=20,M1=1<<M;
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n;
LL ans;
int a[N];
int er[M+3];
int f[M+3][M1+1];
int min(int q,int w){return q<w?q:w;}
void change(int E,int q,int e){q++;while(q<=M1)f[E][q]+=e,q+=NX(q);}
int find(int E,int q)
{
    int ans=0;q++;q=min(q,M1);
    while(q>0)ans+=f[E][q],q-=NX(q);
    return ans;
}
int main()
{
    er[1]=1;fo(i,2,M+2)er[i]=er[i-1]<<1;
    int q,w,e;
    read(n),read(m);
    fo(i,1,n)
    {
        read(a[i]);
        fo(j,1,M)change(j,a[i]%er[j+1],1);
    }
    fo(i,1,m)
    {
        read(q),read(w),read(e);
        if(q==1)
        {
            fo(j,1,M)if((a[w]%er[j+1])!=(e%er[j+1]))change(j,a[w]%er[j+1],-1),change(j,e%er[j+1],1);
            a[w]=e;
        }
            else
            {
                ans=0;
                fo(i,1,M)if(er[i]&e)ans+=(LL)er[i]*(find(i,er[i+1]-1-w%er[i+1])-find(i,er[i]-1-w%er[i+1])+find(i,er[i+1]+er[i+1]-1-w%er[i+1])-find(i,er[i+1]+er[i]-1-w%er[i+1]));
                printf("%lld\n",ans); 
            }
    }
    return 0;
}
【Halcon-2D测量】set_metrology_object_param 函数功能(用于配置计量对象常规参数) HALCON算子 set_metrology_object_param 是2D计量模块的核心配置工具,用于动态修改计量对象的测量区域、边缘检测和几何拟合参数。该算子需在检测前调用,支持批量或单独修改对象参数,包含三类关键参数:测量区域(如长度、间距)、边缘检测(如平滑Sigma、阈值)和几何拟合(如RANSAC阈值、最小分数)。使用时需注意参数互斥规则(如measure_distance优先于num_measures)和多线程同步要求。算子无输出参数,仅修改计量模型内部状态,需配合apply_metrolo 阅读详情

相关推荐

Multisim新手必看:从零搭建数字时钟仿真电路(附完整原理图)

本文详细介绍了如何使用Multisim从零开始搭建数字时钟仿真电路,涵盖晶振电路设计、计数电路实现、校时功能配置等关键步骤。通过完整的原理图和实用技巧,帮助新手快速掌握Multisim仿真设计,实现精准的数字时钟功能。

ios99的博客 328

【JZOJ 4711】 Binary

Description Analysis对于这种有xor,and,or的题都有经典套路:拆位维护,计算。 这题亦是如此。 若当前二进制位y=0,显然不用管。 然后呢? 正解是一个很劲的做法。 注意到x and 2ix\ and\ 2^i的值是循环出现的,2i−12^{i-1}个00和2i−12^{i-1}个2i−12^{i-1}交替出现。 那一个数xx的第i−1i-1位要为1,即x m

LYD729 515

大模型蒸馏实战:让小模型获得大模型的知识

本文为初学者提供了一份大模型蒸馏实战指南,通过情感分析任务演示如何将 BERT 的知识迁移到轻量级 TextCNN。文章结合原理图解与 PyTorch 代码,详解软标签生成、温度调节和双损失设计等核心概念,并对比蒸馏前后的性能差异(准确率提升 4.6%,推理速度达 1200 句 / 秒)。内含可直接运行的代码片段、训练技巧及常见问题解答,助力开发者快速掌握模型压缩核心技术,实现工业级部署效率。适合 NLP 入门者学习实践。

1368

Jzoj4711 Binary

如果没有这个+x的话应该都能想到是按位拆开每一位处理吧 现在考虑这个+x如何处理 一个数v加上x,如果有(v+x)%2^i>2^(i-1)的话,那么就必然第i位为1 所以我们考虑,对于每一个询问的y,若有y&(1<<i)为true,就将所有的数mod (1<<i+1)的值在区间[2^i-x,2^(i+1)-1-x...

dianning8393的博客 181

JESD204B Subclass 1的SYSREF机制

SYSREF 是一个系统级同步脉冲信号,用于对齐 JESD204B 中的 LMFC(Local Multi-Frame Clock),从而实现每次建链的延迟一致性。核心点内容说明是系统参考跨多个芯片、多通道实现精确同步控制 LMFC决定所有设备的 LMFC 对齐点仅用于 Subclass 1是 JESD204B 实现确定性延迟的前提条件一般通过时钟芯片生成推荐使用 AD9528、LMK04828,支持 JESD204 专用输出建链过程中关键作用。

weixin_41230430的博客 1829

一文搞懂深度学习:最全神经网络介绍

本文是深度学习系列文章的第二篇,我们将深入探讨各种类型的人工神经网络,探索它们独特的特性和应用。

2402_82802238的博客 2800

JZOJ4711Binary 树状数组+二进制处理

这题花了我一个下午+半个晚上,结果改到最后我发现是空间开小了。。。mdzz 好累啊,,我直接贴了。。 题解: 代码:var //i,j,k,p,n,m:longint; c:Array[0..21,0..2150005]of longint; a:Array[0..100005]of longint; b:array[0.

老臣 353

通义千问语言模型Qwen2.5架构详解

此外,将基于API的模型 Qwen-Plus 与领先的专有和开源模型进行了对比,包括 GPT4-o、Claude-3.5-Sonnet、Llama-3.1-405B和DeepSeek-V2.5。Qwen2.5-Math-72B-Instruct的整体性能超越了Qwen2-Math-72B-Instruct和GPT4-o,甚至是非常小的专业模型如 Qwen2.5-Math-1.5B-Instruct也能在与大型语言模型的竞争中取得高度竞争力的表现。近来也出现了明显的转向小型语言模型(SLMs)的趋势。

搏博的专栏 1万+

JZOJ4711. 【NOIP2016提高A组模拟8.17】Binary

题目输入输出样例输入6 6 8 9 1 13 9 3 1 4 5 2 6 9 1 3 7 2 7 7 1 6 1 2 11 13样例输出45 19 21数据范围分析如果在x=0的情况下,我们知道转换成二进制之后,每一位的贡献是互不影响的。所以,我们可以用一个树状数组来就来在某个区间,2i2^i 是1 的数的数量。那么答案显然。-现在来考虑x≠0的情况,如果某一个位置,它加上x,这个

lijf2001的博客 2089

去面试游戏测试工程师,面试官看着我的简历呆住了

!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

MXB1220的博客 7329

建设银行核心系统建设历程全网最详细记录

中国建设银行核心系统数字化转型之路 摘要:中国建设银行自1954年成立以来,其核心系统经历了从分散到集中、再到分布式架构的演进历程。2002-2005年完成的数据大集中工程(DCC)实现了全行业务统一管理,2010年启动的"新一代核心系统"构建了企业级架构,率先实现"一次研发,全行共享"。2020年起全面推进主机下移战略,通过分布式架构改造,攻克八大关键技术难题,于2024年7月完成境内外全量核心业务下移,日均同步数据8亿条,实现金融核心系统完全自主可控。这一转型不仅

银行信息系统应用架构详解 4872

【JZ雅礼联考】Binary 题解

题目大意      ~~~~~~给定一个长度为n的整数数列a和q次操作:       ~~~~~~修改操作:形如 1 x y,表示将axa_x的值修改为y;       ~~~~~~询问操作:形如 2 x y,表示询问∑n1(ai+x) and y\sum_1^n(a_i+x)~and~y的值。【40%】n,q<=5000      ~~~~~~

Four's 1222

AI编码规则:从提示工程到自动化,提升大模型生成代码质量

在软件工程领域,代码质量是保障软件可维护性、安全性和团队协作效率的核心。其背后遵循着从基础语法规范到架构设计原则的一系列工程实践。随着大语言模型(LLM)在代码生成任务中的广泛应用,如何确保AI生成的代码符合这些工程标准,成为一个关键的技术挑战。这涉及到将人类工程师积累的最佳实践,转化为机器可理解、可执行的明确约束。通过系统化的**编码规则**定义与集成,例如构建涵盖安全、风格、架构的多层次规则集,并将其融入**提示工程**或自动化工作流,可以显著引导AI产出更健壮、规范的代码。这种方法的价值在于,它能将模

weixin_42525189的博客 642

【JZOJ4711】Binary

【JZOJ4711】Binary题解

sadnohappy 692

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[JZOJ4711] Binary

Description Solution60%因为区间固定,所以并不需要线段树维护一个数组,记录每个二进制位是1的有多少个。然后修改就暴力改,询问就直接询问就好100%继续按照上面的思路,如果x>0x>0怎么办?还是按照每一位来,我们只需要看看减去了这个数每一位还有多少个1可以每一位维护一个树状数组,以原数组值作为下标,第ii位维护00~2i+1−12^{i+1}-1,大于2i+1−12^{i+1

Never give in. 438

visio安装包

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

JZOJ4711. Binary

题目大意 略 Data Constraint n,q≤10^5,ai<2^20

Akakii的博客 535

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【jzoj4711】【Binary】【树状数组】

题目大意解题思路每一位分别考虑,没有加操作时直接开个计数器查找就可以了。有了加操作,我们要考虑加对二进制的影响。一位一位考虑,保存当前位及以下的状态,存到数据结构里,y是1才有可能有贡献。不进位时2^(i-1)<=ai+x<=2^i-1。进位时2^i+2^(i-1)<=ai+x<=2^(i+1)-1。code#include<set> #include<cmath> #include<cstdio>

inklutcuah’s blog 394

【挖坑记】JZOJ 4711 Binary

题目大意      ~~~~~~给定一个长度为n的整数数列a和q次操作:       ~~~~~~修改操作:形如 1 x y,表示将axa_x的值修改为y;       ~~~~~~询问操作:形如 2 x y,表示询问∑n1(ai+x) and y\sum_1^n(a_i+x)~and~y的值。       n,q<=105~~~~~~n,q<=10^5       0<=ai,x,y<=2

baidu_34015648的博客 416

JZOJ 4711 Binary【NOIP2016提高A组模拟8.17】

Binary题目描述数据范围题解看到数据范围, 这暗示着我们要把aia_i拆成20位的二进制来做。 如果aia_i化成二进制后第j位上是1,那么必满足 2j2^j<=aia_i modmod 2j+12^{j+1}<=2j+12^{j+1}-11 (显然,想一想不等式代表的含义就知道为什么,请读者自行思考)询问时就是问有多少个aia_i满足2j2^j<=(aia_i+xx) modmod 2j

XianHaoMing的博客 1841

【JZOJ4711】【NOIP2016提高A组模拟8.17】Binary

题目描述输入输出样例输入6 6 8 9 1 13 9 3 1 4 5 2 6 9 1 3 7 2 7 7 1 6 1 2 11 13样例输出45 19 21数据范围解法40%暴力即可; 60%分段暴力,对于20%的数据,由于没有x,所以y二进制下,每有一个1,就计算对应位置有多少1就可以了。 100%基于60%的想法,如果y&(1<<(i-1))有值(y在二进制下的第i位是1)

=w= 381

[jzoj4711]【NOIP2016提高A组模拟8.17】Binary

DescriptionSolution拆位考虑 设当前考虑第 i 位 2i≤(a+x)%2i+1<2i+1 2^i \leq (a+x) \% 2^{i+1} < 2^{i+1}2i−x≤a<2i+1−x 2^i -x \leq a < 2^{i+1} -x可以用树状数组解决每次每位 查询[2i−x,2i+1−x)[2^i -x ,2^{i+1} -x)树状数组解决Code#include <cst

FarmerJohn 432

JZOJ 4711. 【NOIP2016提高A组模拟8.17】Binary

树状数组

Luckfort 475

【JZOJ4710】【NOIP2016提高A组模拟8.17】Value

题目描述输入输出样例输入5 8 2 10 7 5 1 11 8 13 3样例输出27数据范围解法选定一些物品a[1],a[2],a[3]…a[num],尝试交换a[i],a[j],那么对答案的贡献是: -(v[i]-xsum)-(v[j]-w[i]-xsum)+(v[j]-xsum)+(v[i]-w[j]-xsum) (xsum为sigma(w[1..i-1])); 整理后可得+w[i

=w= 456

JZOJ 4710 Value【NOIP2016提高A组模拟8.17】

Value题目描述数据范围题解一开始,先按照ww数组的值从小到大排一下序,这样就能保证从前往后选时是最优的。 接下来,我们可以考虑动态规划,但是动态规划从前往后做的话我们就不知道后面选某个物品时他此时的价值为多少了。 所以我们倒着做。 F[ii][jj]表示物品ii~nn已经选择完毕,从中选了jj件物品时的最大价值。 动态转移方程显然为FF[ii][jj]=maxmax(f[kk][jj-1

XianHaoMing的博客 1840

【NOIP2016提高A组模拟8.17】Binary

//终于把这道@#¥%¥#¥%…#@*&@¥#&的题目切了(ˉ▽ ̄~) 一开始打超多细节打错,改了超久题目 Input Sample Input 6 6 8 9 1 13 9 3 1 4 5 2 6 9 1 3 7 2 7 7 1 6 1 2 11 13 Output Sample Output 45 19 21 Data Constraint 题目の大意现

Marcus 564

【NOIP2016提高A组模拟8.17】(雅礼联考day1)Binary

【NOIP2016提高A组模拟8.17】(雅礼联考day1)Binary

chen1352 585
上一篇: 【JZOJ 4710】Value
下一篇: 【JZOJ 3083】塔(加强)
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值