大一暑假集训最终考试(一)(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:10 阅读更多 →
Markdown编辑器使用说明

Markdown编辑器使用说明

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

2026/7/28 18:20:10 阅读更多 →
【干货】前端进阶应该知道的这些调试方法

【干货】前端进阶应该知道的这些调试方法

前言 平时工作量大并且很忙,也就意味着难免会在写代码的时候一不小心写出BUG。如果测试一旦没有测到,代码上到现网往往就是事故,很多同学在这种时候手忙脚乱,不知道怎么调试解决。本文就这点主要讲一下平时前端调试用的那些方法&a…

2026/7/28 18:19:09 阅读更多 →

最新新闻

企业AI定制开发踩过的坑——交付周期凭什么能压到几周

企业AI定制开发踩过的坑——交付周期凭什么能压到几周

# 企业AI定制开发踩过的坑——交付周期凭什么能压到几周## 引言企业想做AI定制开发,最常被问到的是"多久能交付"。市面上的回答从三个月到一年不等,企业听完往往打退堂鼓。其实定制开发的周期长,很多时候不是因为需求难&#xff0c…

2026/7/28 18:28:12 阅读更多 →
笔记四:常用布局:相对布局——RelativeLayout

笔记四:常用布局:相对布局——RelativeLayout

引言 在上一节中我们对LinearLayout进行了详细的解析,LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,…

2026/7/28 18:28:12 阅读更多 →
如何快速找到并安装最适合的用户脚本:Greasy Fork实用指南

如何快速找到并安装最适合的用户脚本:Greasy Fork实用指南

如何快速找到并安装最适合的用户脚本:Greasy Fork实用指南 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork Greasy Fork是一个功能强大的在线用户脚本仓库,为用户提…

2026/7/28 18:28:12 阅读更多 →
问题解决方案之VC++

问题解决方案之VC++

文|Seraph本文档主要记录VC编程过程中,经常遇到的一些问题,以供大家参考。一、开发多文档形式在初始化时,使其框架以及视图最大化 框架最大化为在应用程序类的初始化函数中添加如下代码:BOOL CMDIAppDemoApp::InitInstance() …

2026/7/28 18:28:12 阅读更多 →
7天解放双手:AzurLaneAutoScript自动化脚本终极指南

7天解放双手:AzurLaneAutoScript自动化脚本终极指南

7天解放双手:AzurLaneAutoScript自动化脚本终极指南 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为碧蓝航…

2026/7/28 18:28:12 阅读更多 →
3步解锁VK视频下载自由:告别缓冲,永久珍藏精彩时刻

3步解锁VK视频下载自由:告别缓冲,永久珍藏精彩时刻

3步解锁VK视频下载自由:告别缓冲,永久珍藏精彩时刻 【免费下载链接】VK-Video-Downloader Скачивайте видео с сайта ВКонтакте в желаемом качестве 项目地址: https://gitcode.com/gh_mirrors/vk/VK…

2026/7/28 18:27:12 阅读更多 →

日新闻

告别臃肿!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:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

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

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

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

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

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

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻