HDU5239 Doom

【专业书1】量化交易——从入门到精通 股票季节性策略几乎失效了,但商品期货的仍有效,因为其季节性需求源于真实的经济需求而非投机。交易策略获利的前提:交易价格处于均值回归(低价时买入)或动量状态(降价时先做空后以更低价买入),否则在随机游走状态下是无法有效交易的。构建交易策略实际上是在决定:在特殊条件、特定时间尺度下价格趋势的呈现(均值回归/趋势走势),以及用什么价格作为初始判断的参考价格。如果以高夏普比率为目标,需要更高的交易频率:基于大数定律,押注越多,偏离均值收益的偏差就越小。买同比最好的股票,卖同比最差的股票。但在不同的时间尺度下可以。 阅读详情
最后的结果忘记取模 WA到要哭。。



题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5239
这个是典型的线段树区间替换题目。
注意的是mod太大,会爆unsigned long long,需要用模乘法。
还有就是一个数取mod到一定次数会开始重复。(当A*A%mod==A)时就开始重复
用个数组v去判断。如果开始重复就v[...]=1;
然后如果两个子节点都开始重复不变了,那么父节点也是会开始重复不变。
AC代码如下:
#include<iostream> 
#include<algorithm>
#include<cstring>
#include<cstdio>
#define lson o<<1,l,m
#define rson (o<<1)|1,m+1,r
#define maxn 1000005
#define ll unsigned long long
#define U unsigned
const ll mod=9223372034707292160Ull;
using namespace std;
ll sumv[maxn<<1],a[maxn];
int v[maxn];
ll multi_mod(ll a,ll b)//模乘法 
{
	ll ans=0;
	while(b)
	{
		if(b&1) ans=ans+a;
		if(ans>=mod) ans-=mod;
		a<<=1;
		if(a>=mod) a-=mod;
		b>>=1;
	}
	return ans;
}
void build(int o,int l,int r)
{
	v[o]=0;
	if(l==r)return;
	int m=(r+l)>>1;
	build(lson);
	build(rson);
}
ll update(int o,int l,int r,int ql,int qr)
{
	if(v[o]&&ql<=l&&r<=qr)//区间覆盖且该区间不变了则返回值 
	{
		return sumv[o];
	}
	ll ans=0;
	if(l==r)//叶节点要更改值 
	{
		ans=a[l];
		a[l]=multi_mod(a[l],a[l]);
		if(a[l]==ans)//判断叶节点的值是否开始重复不变了 
		{
			sumv[o]=ans;
			v[o]=1;
		}
		return ans;
	}
	int m=(l+r)>>1;
	if(ql<=m)ans+=update(lson,ql,qr);
	if(qr>m)ans+=update(rson,ql,qr);
	if(ans>=mod)ans-=mod;
	if(v[o<<1]&&v[(o<<1)|1])//左右区间不变 父节点也不变 
	{
		sumv[o]=sumv[o<<1]+sumv[(o<<1)|1];
		if(sumv[o]>=mod)sumv[o]-=mod;
		v[o]=1;
	}
	return ans;
}
int main()
{
	int n,m,T;
	scanf("%d",&T);
	for(int t=1;t<=T;t++)
	{
		scanf("%d%d",&n,&m);
		for(int i=1;i<=n;i++)scanf("%llu",&a[i]);
		build(1,1,n);
		ll ans=0; 
		printf("Case #%d:\n",t);
		while(m--)
		{
			int a,b;
			scanf("%d%d",&a,&b);
			ans+=update(1 , 1 , n , a , b );
			if(ans>=mod) ans-=mod;
			printf("%llu\n",ans);
		}
	}
	return 0;
}


半导体AMHS系统振动控制技术演进:从0.5G到超低振动的工艺革命 在半导体制造进入埃米级时代后,AMHS的振动控制能力将成为区分厂商技术等级的标尺。国内企业通过“弹性机械设计-混合主动控制-智能调度”的三重创新,正逐步突破0.2G阈值,支撑12英寸晶圆厂向3nm/2nm制程升级。未来,振动抑制不再仅是物流系统的性能参数,而是与光刻、刻蚀等核心工艺深度耦合的基础能力,这将重塑半导体设备产业的竞争格局。 阅读详情

相关推荐

C# WPF多页面间的数据共享(经典)

实现页面间的数据共享有很多方法,比如:①事件的发布订阅 ②委托③ioc容器④静态类等,这节主要通过静态的集合实现数据的添加和获取。

sf315418的博客 639

HDU - 5239(又遇区间升级)

首先,来说明本题目的特殊性,其实打表找规律,最多迭代次数不超过50就可以使得每个点结果不再改变。 那么就变成了经典的区间升级问题,同 HDU3954 这里,要特别说明一下,思想就是,在加新的一次标记的时候旧的标记能升级的已经被升级完毕,所以标记可以叠加更新。 注意:标记下推的定义,当前位置的标记已经更新当前线段,但并未下推标记。

playwfun的专栏 814

IBM x3650M4服务器更换主板后,导入原有硬盘阵列信息

x3650m4服务器主板坏了,更换好的主板,需要导入原来硬盘的里面的阵列信息 1、开机有提示信息,按C导入配置 2、按Y继续 3、点击start进入阵列卡配置 4、选择configurations 1,点击preview 5、预览硬盘的阵列信息,点击import导入 6、导入成功,可以查看到阵列信息 7、重启服务器,进入操作系统 如果重启找不到操作系统,重启按f12,手动选择从onboard sas controller启动,进入系统一次后面重启就会自动找到并引导系统了。 8、有时候导入阵列

zds00virtue的博客 2万+

HDU5239(线段树,找规律,快速乘法)

题意是给n个数,m个询问,每次输出之前的值加上此时询问区间的值,然后区间的数字都平方。 然后发现所有的数字平方到一定次数以后如果继续平方取模就不会变化了,用这个规律可以在线段树节点维护平方次数,大于某一值时可以以后的更新可以直接忽略。 坑点是模数很大,需要把平方转化成类似快速幂的加法。 #include using namespace std; #define maxn 111111 #d

morejarphone~ 526

用STM32L552驱动AD9102:一个硬件工程师的实战避坑指南(附完整代码)

本文详细介绍了如何使用STM32L552微控制器驱动AD9102任意波形发生器芯片,从硬件设计到波形生成的完整实战指南。内容包括电源架构、时钟电路设计、输出调理电路等关键硬件设计要点,以及软件驱动架构、波形存储优化和典型波形生成实例。通过实战经验分享,帮助硬件工程师避开常见设计陷阱,提升开发效率。

weixin_30889885的博客 333

【八股】JUC并发编程篇

👉抽象队列同步器,就是一种锁,内部维护的是一个先进先出的双向队列,队列中存储的是排队的线程,用state来标识是否有线程获得锁【0是无锁状态】👉流程:当一个线程拿到锁后会修改state = 1,这时如果有其他线程访问则会进入队列进行排序,直到state变成0后,队头线程才会拿到锁。在对state进行修改时,用的是CAS操作,所以可以保证原子性。👉它可以实现公平锁或非公平锁【默认】,上述是一个公平锁。如果新线程和队头线程抢锁资源就是非公平锁。

qq_44768318的博客 552

ACM训练——hdu5239(线段树区间修改+巧妙剪枝)

题目链接:https://vjudge.net/contest/365414#problem/D 此题用线段树去修改每次访问的区间,但是100000次暴力访问肯定超时,这里可以有个 巧妙剪枝:如果一个数平方取模之后还是不变,那么这个数就可以直接返回;同样,如果一个区间是由这种数组成的,那么这个区间可以直接返回;看代码。。。。 #include<stdio.h>...

小糊涂的博客 360

27930-2015+充电协议解析

对2015+充电与2015充电进行硬件电路对比、通信协议对比和2015+通信协议解析。

manjixingkong1234的专栏 236

hdu 5239 Doom - 线段树 +特殊取模

hdu 5239 Doom - 线段树 +特殊取模THE END IS COMINGGGGGG!Mike has got stuck on a mystery machine. If he cannot solve this problem, he will go to his doom.This machine is consist of ncells, and a screen. The i-th cell contains a number ai(1≤i≤n). The screen also con

ly59782的博客 521

手把手教你学PCIE--固件与BIOS配置 - BIOS设置对PCIe性能的影响

本文详细分析了BIOS设置对PCIe性能的影响,并提供了优化建议。通过合理调整链路参数、功耗管理策略和高级功能配置,可以显著提升系统的性能和稳定性。本文将进一步分析BIOS设置如何影响PCIe设备的性能,并提供优化建议。BIOS(或UEFI)是系统启动时的第一个控制层,其设置直接决定了PCIe设备的工作状态和性能表现。BIOS中的功耗管理选项(如C-States、P-States)会影响PCIe链路的低功耗模式(L0s/L1)。MSI/MSI-X中断具有更高的性能和更好的可扩展性,应作为首选方案。

MHD0815的博客 996

大模型知识边界探索:LLM设计的极限测试

最优化理论是数学中的一个分支,主要研究如何从给定的一组约束条件下找到最优解。目标函数:定义了需要优化的指标,可以是最大化或最小化。约束条件:定义了在优化过程中需要满足的限制条件。无约束优化:目标函数和约束条件都不存在。有约束优化:目标函数存在,但存在约束条件。多目标优化:同时需要优化多个目标函数。极限测试(Ultimate Test)是一种系统性的方法,用于评估大型模型(如LLM)在极端条件下的性能和稳定性。极端数据分布:与模型训练数据分布显著不同的数据集。极端计算资源。

AI天才研究院 432

HDU 5239 Doom

思路:打个表之后发现最多操作29次,之后区间的值就不会再改变,然后就是一个线段树了 #include using namespace std; #define LL long long #define ULL unsigned long long #define maxn 100005 + 10 #define mod 9223372034707292160ULL #define lso

围巾的ACM博客 684

系统分析师论文范文(三)微服务

摘要(300字) 2024年4月,我作为系统分析师参与某省三甲医院云影像系统建设项目,负责系统分析与设计工作。该项目旨在响应国家"无胶片化"医疗政策,解决传统影像系统数据孤岛、调阅效率低等问题。系统基于DICOM 3.0和HL7国际标准,采用B/S架构与Spring Cloud Alibaba微服务技术栈,包含影像采集、智能分析、数据安全等核心模块,实现全院影像资源的云端统一管理与多端调阅。在架构设计上,通过微服务拆分、分布式事务控制及多层次安全防护机制,保障了系统的高可用性与数据一致性。系统于2024年1

echo的博客 221

Doom HDU - 5239 (找规律+线段树)

题目链接: D - Doom HDU - 5239 题目大意:首先是T组测试样例,然后n个数,m次询问,然后每一次询问给你一个区间,问你这个这段区间的加上上一次的和是多少,查询完之后,这段区间里面的每个数变为原来的平方。 具体思路:这个模数,和正常的模数不一样。 然后通过打表能发现,每个数不断自身平方对p取模后经过有限次 就不会变化了, 测试少于30次 所以...

diaomeijiao3430的博客 179

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HDU 5239 DOOM 线段树

HDU 5239 DOOM 线段树标签(空格分隔): 线段树题目链接:hdu5239 题意:给定长度为N的序列,有Q个操作,每次操作询问区间[l,r]的和,并将区间的值平方,每次输出所有之前查询答案的和对2^63-2^31取模。 思路:找规律发现任何数平方30次之后模mod都不再变化。于是用线段树维护区间内平方次数最少的元素为多少,弱最小的大于30则不进行操作,直接返回区间和,反之则继续递归直至

alpc_paul的专栏 1081

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU 5239 Doom [线段树,更新有上界]【数据结构】

好久没有更新博客了 更新一波吧,,,题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5239——————————————————————————————————————DoomTime Limit: 12000/6000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) T

Tabris的博客 709

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

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

HDU5239.Doom——线段树

http://acm.hdu.edu.cn/showproblem.php?pid=5239转:http://blog.youkuaiyun.com/zava_1087/article/details/46040747 任意数的平方,最多29次模上p,都会不变#include <bits/stdc++.h> #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1c

fsdcyr 1061

hdu 5239__Doom

Doom Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 705    Accepted Submission(s): 171 Problem Description THE END IS COMINGGGG

Han_zhenyu的博客 731

hdu 5239 Doom 线段树

DoomTime Limit: 12000/6000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 806    Accepted Submission(s): 200 Problem DescriptionTHE END IS COMINGGGGGG! Mike

acm 499

HDU 5239 Doom(线段树)

题意:给出一个长度为n的序列,和m次查询,每次查询一个区间的和,但查询之后把区间内每个点的值平方一次,所有的结果模上9223372034707292160。 其实这题一点也不难。。。 一个数又平方又模的次数多了以后,会维持在一个固定的值不动。打表可以发现规律,但是仔细想想也是可以想明白的。如果x的素因子的集合包含模的素因子集合,那么经过足够多的次数之后,取模会直接为0;反之,据费马小定

Just One Last Coding~♬ 1040

Doom HDU - 5239

点击打开链接 题目给的这个模数很神奇 其实是2^63-2^31这个值 找规律发现 在摸这个数的前提下 对任何一个数平方运算不超过30次就变为一个恒定值 就可以用剪枝搞一搞 类似于开根号的题型 难在找规律 #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; using namespace std...

sunyutian1998的博客 406

hdu 5239 Doom

题意:给n个数,每次查询[l,r]的和,然后[l,r]之间的数都会由ai变为ai^2,开始计数器为0,每次在上一次的基础上,为计数器+sum[l,r],答案%9223372034707292160 分析:猜想一个数的平方%p应该会很快进入静止,即ai^2%p=ai,这样这个数就不会更新,用java跑了一发,发现最多更新29次,其实这个无所谓,猜想到这个性质就可以了,然后就是解决下一个问...

weixin_30929195的博客 94

hdu 5239 Doom(线段树+数论)

题意: 给出n个数和一个初始值为0的答案。每次操作给出一个区间[l,r],把区间所有的数加到答案中,之后把区间的每个数都平方。每次操作都需要输出答案 mod 9223372034707292160(2 ^ 63 - 2 ^ 31) 思路 这题的做法和 hdu 4027 类似 首先,应该想到这个题可以用线段树来维护区间的和,然后对于(2 ^ 63 - 2 ^ 31)这个数,即任意数的平方

小G的ACM之路 1192

Doom HDU - 5239(线段树+思维)

THE END IS COMINGGGGGG! Mike has got stuck on a mystery machine. If he cannot solve this problem, he will go to his doom. This machine is consist of n cells, and a screen. The i-th cell contains a num...

starlet_kiss的博客 262

HDU 5239 Doom(线段树)

Doom Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 1547 Accepted Submission(s): 426 Problem Description THE END IS COMINGGGGGG! Mik

妍恐龙的博客....^~^眼熟我 471

hdu5239Doom 线段树+找规律

//给出n个数据 , 对于每次[l,r] //操作,s加上[l,r]区间的所有数 //之和,并且将[l,r]区间的所有数 //都平方 //输出s%9223372034707292160 //打表可以发现对于每个数在做一定操作 //后其值一定不变 //所以只需要维护一个标记就行 #include<cstdio> #include<cstring> #include<iostream> using n

ijbuhv的专栏 695
上一篇: HDU1536 S-Nim(博弈入门暴力打SG表)
下一篇: 莫比乌斯反演模板
overload1997
博客等级 码龄11年 328粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值