Jzoj4711 Binary

使用libx265对YUV进行h265编码 阅读详情

如果没有这个+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]的个数统计出来,让后乘上2^i就是这一位的贡献,注意特殊处理一下,因为x是在mod (1<<i+1)的意义下的,所以有可能右端点在左端点左边,这时候要拆开来统计

具体实现可以用fenwick树

(一个小小的常熟优化,不要用%2^i而要用&(2^i-1))

#pragma GCC opitmize("O3")
#pragma G++ opitmize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define f(k) (1ll<<k)
#define g(k) (f(k+1)-1)
using namespace std;
int w[22][1<<20],n,m,v[100010];long long A=0;
inline void add(int i,int x,int k){ for(++x;x<=f(i+1);x+=x&-x) w[i][x]+=k; }
inline int sum(int i,int x,int s=0){ for(++x;x;x^=x&-x) s+=w[i][x]; return s; }
int main(){
	scanf("%d%d",&n,&m);
	for(int x,i=1,j;i<=n;++i){
		scanf("%d",v+i);
		for(int j=0;j<20;++j) add(j,v[i]&g(j),1);
	}
	for(int o,x,y;m--;){
		scanf("%d%d%d",&o,&x,&y);
		if(o==1){
			for(int j=0;j<20;++j)
				add(j,v[x]&g(j),-1),add(j,y&g(j),1);
			v[x]=y;
		} else {
			A=0;
			for(int j=0;j<20;++j) if(y&f(j)){
				int l=f(j)-1,r=g(j);
				l=(l-x+f(20))&g(j);
				r=(r-x+f(20))&g(j);
				if(l<=r) A+=f(j)*(sum(j,r)-sum(j,l));
				else A+=f(j)*(sum(j,r)+sum(j,f(j+1))-sum(j,l));
			}
			printf("%lld\n",A);
		}
	}
}

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设 阅读详情

相关推荐

【笔记】2022.6.7 数据分析概论

已完结

SpriteNym的博客 1372

【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

Ecg信号QRS波峰检测:A Real-Time QRS Detection Algorithm (Pan-Tompkins法)

Pan-Tompkins法是R峰检测的经典方法,被引量高达6000+次。 Pan J, Tompkins W J. A real-time QRS detection algorithm[J]. IEEE transactions on biomedical engineering, 1985 (3): 230-236. 本文对论文流程进行了总结,并参考BioSigKit项目,复现了论文代码。 流程图: 代码如下: 第一部分是信号读入,这里使用MIT_BIH信号的100,读入10000个数据点 第二部分

weixin_42870380的博客 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的博客 2088

Zephyr RTOS -- 学习笔记总述

文章目录摘要1. 开发基础部分2. 内核服务入门 本笔记基于 Zephyr 版本 2.6.0-rc2 摘要 1. 开发基础部分 2. 内核服务入门 2.1 线程简介 2.2 线程 2.3 工作队列线程 2.4 调度 2.5 中断 2.6 轮询 API 2.7 信号量

思想给了我们太多的自由,而我们拖累了思想...... 4824

避开SAM3安装大坑:手把手教你用国内镜像和Modelscope权重快速跑通Demo

本文详细介绍了如何在国内环境下快速部署SAM3视觉大模型,包括使用国内镜像加速Python包安装、通过Modelscope获取权重文件以及解决CUDA 11.8等低版本适配问题。手把手教你避开常见安装陷阱,实现高效Demo运行。

weixin_30642561的博客 1406

【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

HX720/HX711 数据采集实战:从硬件配置到姿态解析(附源码详解)

本文详细解析了HX720/HX711数据采集传感器的硬件配置与姿态解析实战技巧,包括选型指南、电路设计避坑、抗干扰方案及源码实现。通过优化驱动代码和数据处理算法,提升采样率与精度,适用于动态称重和工业检测等场景。附源码详解,助力开发者快速掌握高精度数据采集技术。

weixin_30752699的博客 655

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

对族实例进行任意的矩阵变换,需要什么样的族?

问:一个小问题,想向您请教一下。 能不能实现一个这样的操作:创建了一个常规模型的FamilyInstance,然后知道旋转和平移的矩阵,能否根据变换矩阵更新FamilyInstance的位置,绕任意轴旋转任意角度。 请问什么样的实体才能在revit项目文件中任意旋转?貌似一般的实例只能在XY平面内旋转,并且LocationPoint中只有一个Rotation参数。答:您好,因为Revit里面的构件

我爱Revit —— BIM应用及BIM应用软件解决方案专栏 3626

解决Office 365 SMTP问题:C#邮件发送详解

本文介绍了如何在C#中使用Office 365 SMTP服务发送邮件。重点讲解了正确配置SMTP客户端的关键参数:必须使用587端口并启用TLS加密(EnableSsl=true),同时通过NetworkCredential进行身份验证。虽然SmtpClient已不推荐用于新项目,但本文提供的代码示例仍适用于临时项目或系统维护,并建议未来可考虑使用MailKit等现代邮件库。文章还包含了错误处理机制,确保程序健壮性。

2501_90323865的博客 141

【JZOJ4711】Binary

【JZOJ4711】Binary题解

sadnohappy 692

USB_TYPE-C 母座电路设计

本文详细介绍了USB Type-C接口(C2765186)的电路设计要点,重点解析了电源、识别和数据三部分的关键连接方案。电源部分需并联VBUS和GND引脚并加宽走线以承载3A电流;识别部分必须为CC1/CC2引脚配置5.1kΩ±1%精度的下拉电阻,这是触发PD充电的核心条件;数据部分通过短接正反插引脚实现盲插功能。文档还提供了完整的引脚对照表,并强调PCB布局需注意ESD防护、差分走线阻抗控制等要点,为Type-C接口设计提供了实用指导。

在读研究生,FPGA电路设计与功能开发。 579

[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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

【JZOJ 4711】Binary

Solution 比赛的时候想了半天的线段树,结果发现.... 有结论: 当y的第i位为1,并且: 2i⩽(a+x)mod2i+1⩽2i+1−12^i\leqslant (a+x)\mod 2^{i+1} \leqslant2^{i+1}-1 时,a的第i位二进制有效, 移项: 设x′=xmod2i+1x'=x\mod 2^{i+1} 2i−x′⩽(amod2i+1)

570

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JZOJ4711. Binary

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

Akakii的博客 535

WINCC7.3破解文件

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

【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
上一篇: Jzoj4710 Value
下一篇: Jzoj4713 A
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值