大一暑假集训最终考试(一)(2019.8.31)
D题nefu 1866 这是一道难题思路树状数组模板题。还有就是树状数组的单点修改只支持加减不支持直接修改修改时先减去原来的数再加上修改后的数即可。坑的地方没说查询时一定满足xyAC代码#includebits/stdc.husing namespace std;typedeflonglongll;constintN1e510,mod1e97;ll tr[N];intn,m,a[N],x,y,opt;voidadd(inti,intk){while(in){tr[i]k;i(i-i);}}llsum(inti){ll s0;while(i){str[i]%mod;i-(i-i);}returns%mod;}intmain(){scanf(%d%d,n,m);for(inti1;in;i){scanf(%d,a[i]);add(i,a[i]);}while(m--){scanf(%d%d%d,opt,x,y);if(opt0){add(x,-a[x]);//先减去原来的数add(x,y);//再加上现在的数a[x]y;//修改原数组}else{if(xy)swap(x,y);//巨坑这个地方wa了4次printf(%lld\n,sum(y)-sum(x-1));}}return0;}B题nefu 1878 Alice和Bob的分组游戏(一)思路sg函数打表。AC代码#includebits/stdc.husing namespace std;constintN1e410;typedeflonglongll;bool vis[N];intn,m,x,t;ll sg[N],sum;voidget_sg(){memset(sg,0,sizeof(sg));for(inti2;iN;i)//有i个糖果{memset(vis,0,sizeof(vis));for(intj2;jmin(i,m);j)//分成j堆{if(i%j0){ti/j;//每堆t个if(j1)vis[sg[t]]1;//奇数堆后继状态的sg值为sg[t]elsevis[0]1;//偶数堆后继状态的sg值为0}}for(intj0;;j)if(vis[j]0){sg[i]j;break;}}}intmain(){while(scanf(%d%d,n,m)!-1)//没有多组输入wa了一发气死我了{get_sg();sum0;for(inti1;in;i){cinx;sum^sg[x];}if(sum)printf(Alice\n);elseprintf(Bob\n);}return0;}E题nefu 1870 这是一道签到题思路找规律异或值显然与[x,y]区间长度的奇偶有关。查询时用线段树维护。设dy-x1当d为奇数时说明x、y均为奇数或者x、y均为偶数此时F(x,y)a[x]^a[x2]^…^a[y-2]^a[y]比如区间[1,5]F(1,5)a[1]^a[3]^a[5]当d为偶数时F(x,y)0恒成立。对于d是奇数的情况我们可以用两个线段树分别维护x、y均为奇数以及x、y均为偶数时的区间异或值。还有这根本就不是签到题难度啊啊啊啊AC代码#includebits/stdc.husing namespace std;typedeflonglongll;constintN1e510;ll n,d,m,x,y,opt,cnt1,cnt2,a1[N],a2[N],tre1[4*N],tre2[4*N];voidpushup(ll tr[],ll i){tr[i]tr[2*i]^tr[2*i1];}voidbuild(ll tr[],ll a[],ll i,ll l,ll r){if(lr){tr[i]a[l];return;}ll midlr1;build(tr,a,2*i,l,mid);build(tr,a,2*i1,mid1,r);pushup(tr,i);}voidupdate(ll tr[],ll i,ll l,ll r,ll x,ll y){if(xr||xl)return;if(lrlx){tr[i]y;return;}ll midlr1;update(tr,2*i,l,mid,x,y);update(tr,2*i1,mid1,r,x,y);pushup(tr,i);}llquery(ll tr[],ll i,ll l,ll r,ll x,ll y){if(ly||rx)return0;if(lxry)returntr[i];intmidlr1;returnquery(tr,2*i,l,mid,x,y)^query(tr,2*i1,mid1,r,x,y);}intmain(){ios::sync_with_stdio(false);while(cinnm){cnt1cnt20;for(ll i1;in;i){cinx;if(i1)a1[cnt1]x;//a1保存下标为奇数的值方便之后查询[x,y]x、y均为奇数的情况elsea2[cnt2]x;//a2保存下标为偶数的值方便之后查询[x,y]x、y均为偶数的情况}build(tre1,a1,1,1,cnt1);//tre1保存a1数组的区间异或值build(tre2,a2,1,1,cnt2);//tre2保存a2数组的区间异或值for(ll i1;im;i){cinoptxy;if(opt0){if(x1)update(tre1,1,1,cnt1,(x1)/2,y);elseupdate(tre2,1,1,cnt2,x/2,y);}else{if(xy)swap(x,y);dy-x1;if(d%20)printf(0\n);else{if(x1)printf(%lld\n,query(tre1,1,1,cnt1,(x1)/2,(y1)/2));elseprintf(%lld\n,query(tre2,1,1,cnt2,x/2,y/2));}}}}return0;}C题nefu 1867 why的考号思路根据递推方程构造矩阵再用矩阵快速幂。递推方程(n3)f[n]2*f[n-2]f[n-1]n3设矩阵相乘等式为A*BC难点就是怎么去构造A矩阵。首先不能像我这样构造我们要想办法把(n1)3用B矩阵的元素表示出来但是这样A矩阵有一个元素[(n1)/n]3显然是不行的因为A矩阵中有元素[(n1)/n]3再快速幂误差很大正确做法是把(n1)3拆开(n1)3n33*n23*n1要想(n1)3用B矩阵的元素表示出来需要增添B矩阵的元素在B矩阵下方再加三个数n2、n、1。那么A*BC就变成了这样最后再处理一下OK数学公式推导到此结束。把上面的那个最终公式推出来代码就很好写了。AC代码#includebits/stdc.husing namespace std;constintmod123456789;typedeflonglongll;ll n,t,cas,ans;structnode{ll m[6][6];};node s,A{0,2,0,0,0,0,1,1,1,0,0,0,0,0,1,3,3,1,0,0,0,1,2,1,0,0,0,0,1,1,0,0,0,0,0,1};nodemul(node x,node y)//两矩阵x、y相乘{node s;memset(s.m,0,sizeof(s.m));for(inti0;i6;i)for(intj0;j6;j)for(intk0;k6;k)s.m[i][j]x.m[i][k]*y.m[k][j]%mod;returns;}nodequickpow(node a,ll b)//矩阵快速幂求矩阵a的n次方{memset(s.m,0,sizeof(s.m));for(inti0;i6;i)s.m[i][i]1;//s初始化为单位矩阵while(b){if(b1){b--;smul(s,a);}amul(a,a);bb/2;}returns;}intmain(){ios::sync_with_stdio(false);cint;while(t--){cinn;printf(Case %d: ,cas);if(n1){printf(000000001\n);continue;}squickpow(A,n-2);//n2anss.m[1][0]*2%mods.m[1][1]*2%mods.m[1][2]*27%mods.m[1][3]*9%mods.m[1][4]*3%mods.m[1][5]%mod;printf(%09lld\n,ans%mod);}return0;}【未完待续。。。】

相关新闻

和小白一起学数据结构六之基本概念总结

和小白一起学数据结构六之基本概念总结

一起学数据结构之绪论基础概念 五天前甚至对markdown语法,都不是很熟悉,现在却觉得没有这个语法的创作页面没有灵魂哈哈。其实这个东西一年前就有人推荐给博主了,当时只是看一下觉得麻烦,没怎么走几步,回过头来才发现因…

2026/7/28 18:20:06阅读更多 →
Markdown编辑器使用说明

Markdown编辑器使用说明

欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

2026/7/28 18:20:06阅读更多 →
Diablo Edit2:暗黑2存档编辑的终极解决方案,3步掌握角色自定义艺术

Diablo Edit2:暗黑2存档编辑的终极解决方案,3步掌握角色自定义艺术

Diablo Edit2:暗黑2存档编辑的终极解决方案,3步掌握角色自定义艺术 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾在暗黑破坏神2中花费数周时间刷装备却一无所获&…

2026/7/28 18:18:06阅读更多 →
技术架构深度解析:ESPTOOL串口烧录工具架构设计与性能优化

技术架构深度解析:ESPTOOL串口烧录工具架构设计与性能优化

技术架构深度解析:ESPTOOL串口烧录工具架构设计与性能优化 【免费下载链接】esptool Serial utility for flashing, provisioning, and interacting with Espressif SoCs 项目地址: https://gitcode.com/gh_mirrors/es/esptool ESPTOOL是Espressif Systems官…

2026/7/28 19:38:20阅读更多 →
QT遇到问题

QT遇到问题

1、QT网络编程QT Socket通信出现无法连接的一个特殊原因(奇怪了,昨天还可以,今天就不行了,把以前可以的也试试,都不行)j就在网上搜索,搜到一个办法,本来pro是这样的修改为&#xff1…

2026/7/28 19:38:20阅读更多 →
布林画线 同花顺期货通指标

布林画线 同花顺期货通指标

今天给大家带来是一款同花顺期货通指标,并且已经上架到同花顺期货通的指标广场上了。喜欢的朋友可以去指标广场安装试用!!友情提示:(指标只是辅助,不作建议)拼多多店铺:指标公式编写…

2026/7/28 19:38:20阅读更多 →
表面粗糙度分析

表面粗糙度分析

表面粗糙度分析 一、技术背景 表面粗糙度是衡量材料表面微观几何形状误差的重要指标,在SEM图像分析中用于评估样品表面质量。传统粗糙度测量需要触针式仪器,而基于图像的方法通过分析灰度变化来近似计算粗糙度参数。 在SEM项目中,calcuateRA方…

2026/7/28 19:38:20阅读更多 →
通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边

通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边

通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边 首先介绍一下GlobeLand30影像数据分幅命名规则: 南北纬缩写(1位)+6度带号(2位)+“”+起始纬度(2位)+“”+产品年代(4位)+LC(地表覆盖缩写)+分辨率(3位)。* 北纬缩写为“N”,南纬缩写为“S”。 6度代号:图幅所在…

2026/7/28 19:38:20阅读更多 →
Binge-和时间做朋友

Binge-和时间做朋友

Binge-和时间做朋友 引言:时间的悖论在技术世界中,我们常常陷入一种矛盾:一方面追求即时反馈,希望每一行代码都能立即运行;另一方面,又渴望构建能经得起时间考验的稳定系统。这种矛盾源于我们对时间的误解—…

2026/7/28 19:36:20阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →