2025.10.3 NOIP 模拟赛

news/2025/10/4 10:35:59/文章来源:https://www.cnblogs.com/zengziquan/p/19125072

前言

这回一改上次颓势。

T1一眼,T3思考2h+后场切。

但 T2 只有接近正解的 50 pts,T4 常数大挂了 20pts。

A

给定 \(n,k\),对 \([1,n]\) 建线段树后,求线段树上所有节点长度的 \(k\) 次方之和。

Solution

发现线段树上长度不同节点数量不会太大 \((O(\log n) \text{的样子})\)

于是直接 map 存 (长度,出现次数) 的 pair,一层层做即可。

\(O(T\log n\log k\log\log n)\)

B

image

image

发现一个序列经历 \(O(\log \log n)\) 次操作可以被改成第一个数 \(=1\),其余全 \(0\) 的序列。

\(50\) pts 可以对每个前缀离线直接改。

\(100\) pts 加入数字的时候递归更改变化的位置即可。

\(O(n\log^2 n)\)

namespace Subtask2 {int f[20][N],tot,S[20]={0};void Add(int o,int x,int v) {if(o>10) return ;if(f[o][x]) Add(o+1,f[o][x],-1);f[o][x]+=v;S[o]+=v;if(f[o][x]) Add(o+1,f[o][x],1);}void solve() {FOR(i,1,q) {int l=read(),k=read();vec[l].eb(k,i);}FOR(i,1,n) {Add(1,a[i],1);sort(vec[i].begin(),vec[i].end());for(auto p:vec[i]) {int k=p.fr,id=p.se;if(k>10) ans[id]=1;else ans[id]=S[k];}}FOR(i,1,q) printf("%d\n",ans[i]);}
}

C

image

image

Solution

发现当 \(k=1\) 时等价于查询树状数组的那个 \(c\) 数组的第 \(x\) 项。

我们把树状数组那个树建出来。

我们发现,一次查询 \(x\; k\),必定是 \(x\) 的子树中所有点的权值乘上某个系数 \(q_x\) 之和。

\(ans_{x,k}=\displaystyle\sum_{y\in \operatorname{Tree}(x)} a_y\times q_y\)

发现 \(q\) 即相当于初始 \(q_x=1,q_i=0(i\ne x)\),之后在树上对 \(q\)\(k\) 次前缀和。

\(f_{i,j}\) 表示考虑到前缀和第 \(i\) 项,当前是第 \(j\) 次前缀和,\(q_i\) 的值。

\(f_{0,0}=1\)

\[f_{i,j}=f_{i-1,j}+f_{i,j-1} \]

发现这玩意很像网格左上角走到 \((i,j)\) 的方案数转移方程,故 \(f_{i,j}=C_{i+j-2}^{j-1}\)

于是 \(ans_{x,k}=\displaystyle\sum_{y\in \operatorname{Tree(x)}} C_{dep_y+k-2}^{k-1}a_y\)

考虑拆式子。

\[\begin{aligned}&\sum_{y\in \operatorname{Tree(x)}} C_{dep_y+k-2}^{k-1}a_y\\=&\sum_{dp}C_{dp+k-2}^{k-1}\sum_{y\in \operatorname{Tree(x)}} a_y[dep_y=dp]\\\end{aligned} \]

由于树状数组的树深度不超过 \(O(\log n)\),故可以枚举深度,此时前面的组合数为定值。

而后面一项可以预处理。

单点增加直接暴力跳父亲更新即可。\(O((n+m)\log n)\)

赛时代码。

namespace Subtask2 {int fa[N],dep[N];LL power(LL a,LL b) {LL res=1;for(;b;b>>=1) {if(b&1) res=1LL*res*a%Mo;a=a*a%Mo;}return res;}LL s[N][23],Invdp[30];void Add(LL &x,int y) {x+=y;while(x>=Mo) x-=Mo;}void Upt(int x,int v) {int dp=1;while(x) {Add(s[x][dp],v);++dp;x=fa[x];}}LL Ask(int x,int k) {LL Answer=0,C=1;FOR(dp,1,21) {Answer=(Answer+1LL*s[x][dp]%Mo*C%Mo)%Mo;C=C*Invdp[dp]%Mo*(dp+k-1)%Mo;}return Answer;}void solve() {FOR(i,1,21) Invdp[i]=power(i,Mo-2);FOR(i,1,n) if(i+(i&-i)<=n) fa[i]=i+(i&-i);FOR(i,1,n) Upt(i,a[i]);while(m--) {int op=read(),x=read(),v=read();if(op==1) Upt(x,v);if(op==2) printf("%lld\n",Ask(x,v));}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(最新原创毕设)基于SpringBoot的分布式存储平台/10.3(白嫖源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案 - 指南

(最新原创毕设)基于SpringBoot的分布式存储平台/10.3(白嫖源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案 - 指南pre { white-space: pre !important; word-wrap: nor…

Python 之操作excel

一、常用方法 Workbook():创建新的工作簿create_sheet():创建工作表 append():加入一行数据详细:https://openpyxl.readthedocs.io/en/stable/api/openpyxl.html 二、示例代码import openpyxl from openpyxl.style…

大语言模型中的“推理”:基本原理与构建机制解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站模板商城网站如何换空间

PFA洗气瓶是一种常用于净化和干燥各种气体的实验室器皿&#xff0c;以去除其中的水分、油脂、颗粒物等杂质&#xff0c;从而使需要用到的气体满足实验要求。 PFA气体吸收瓶 PFA洗气瓶的工作原理&#xff1a; 主要是通过液体吸收、溶解或发生化学反应来去除气体中的杂质。在洗气…

找产品做代理都有哪个网站国际军事新闻视频

今天跟大家谈一谈越来越火爆的店群模式&#xff0c;现在大部分做跨境电商的卖家都会建立自己的店群&#xff0c;其中很多做 Shopee的卖家时常会听到一个名词“ Shopee 店群模式”&#xff0c;但很多人都不知道怎么去做&#xff0c;或者在犹豫要不要做&#xff0c;所以东哥我会从…

国家生物信息数据下载

001、ascp -P33001 -i /home/data/t200558/NPCdata/HRA003340/aspera01.openssh -QT -l100m -k1 -d aspera01@download.cncb.ac.cn:gsa-human/HRA003340 ./

隆昌网站建设小程序哪家公司代理

一. 背景 在刚接触开发的头几年里&#xff0c;说实话&#xff0c;根本不考虑多线程的这个问题&#xff0c;貌似那时候脑子里也有没有多线程的这个概念&#xff0c;所有的业务都是一个线程来处理&#xff0c;不考虑性能问题&#xff0c;当然也没有考虑多线程操作一条记录存在的并…

装修网站怎么做的好网站后端开发语言

题目&#xff1a; Bessie听说有场史无前例的流星雨即将来临&#xff1b;有谶言&#xff1a;陨星将落&#xff0c;徒留灰烬。为保生机&#xff0c;她誓将找寻安全之所&#xff08;永避星坠之地&#xff09;。目前她正在平面坐标系的原点放牧&#xff0c;打算在群星断其生路前转…

站长查询工具网站建设功能定位

很多时候需要用到连续的id进行数据对比&#xff0c;如判断是否连续等问题。那么&#xff0c;生成连续整数的方式有多种&#xff0c;首先容易想到的是逐步循环&#xff0c;如果想生成1kw条记录&#xff0c;则需要循环1kw次进行插入&#xff0c;那么有没有其他方式呢&#xff0c;…

linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令

linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令 日志路径问题PM2默认日志路径为/root/.pm2/logs/,若该目录权限不足或磁盘空间已满会…

详细介绍:LeetCode 391 完美矩形

详细介绍:LeetCode 391 完美矩形pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

[NOI2025] 集合 题解

[NOI2025] 集合 题解去不了 NOI 的菜鸡终于把集合看懂了,写个博客加深一下印象。 [NOI2025] 集合 要求: \[ans=\sum_P \sum_Q [f(p)=f(Q)][P\cap Q = \emptyset] \prod_{i\in P\cup Q} a_i \]先处理这题比较特殊的 \…

网站模板下载百度云链接怎么做的crm管理系统定制

本文由云社区发表本文作者&#xff1a;许中清&#xff0c;腾讯云自研数据库CynosDB的分布式存储CynosStore负责人。从事数据库内核开发、数据库产品架构和规划。曾就职于华为&#xff0c;2015年加入腾讯&#xff0c;参与过TBase(PGXZ)、CynosDB等数据库产品研发。专注于关系数据…

做文案策划需要用到的网站化妆品网站设计

常量是一个特殊的符号&#xff0c;它有一个从不变化的值。定义常量符号时&#xff0c;它的值必须能在编译时确定。确定之后&#xff0c;编译器将常量的值保存到程序集的元数据中。这意味着只能为编译器认定的基元类型定义常量。在C#中一下类型都是基元类型&#xff0c;可用于定…

详细介绍:Linux 自定义shell命令解释器

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

bi数据报表发送周期,周报和月报获取日期时间

bi数据报表发送周期,周报和月报获取日期时间bi数据报表发送周期,周报和月报获取日期时间 1.今天是周四,获取上周四-本周三的日期,格式为yyyyMMddHHmmssString startTime = "";String endTime = "&q…

自己站网站可以做h5游戏的网站

一.压榨历史 1.单进程人工切换。纸带机。只能解决简单的数学问题。 2.单道批处理。多进程批处理。多个任务批量执行。解决手动操作时需要人工切换作业导致的系统利用率低的问题 3.多进程并行处理。把程序写在不同的内存位置来回切换。当一个作业在等待I/O处理时&#xff0c;…

美工网站设计门户网站创新的方式有

利用两个管道进行进程间双向通信在第一篇练习已经大致作出说明&#xff0c;下面将进行一个更为综合的练习 首先看题目&#xff1a; 设有二元函数f(x,y) f(x) f(y) 其中&#xff1a; f(x) f(x-1) * x (x >1) f(x)1 (x1) f(y) f(y-1) f(y-2) (y> 2) f(y)1 (y1,2) 请编…

郑州机械网站建设导航滑动整屏网站

一、为什么要进行数据归一化 定义&#xff1a;把所有数据的特征都归到 [0,1] 之间 或 均值0方差1 的过程。原则&#xff1a;样本的所有特征&#xff0c;在特征空间中&#xff0c;对样本的距离产生的影响是同级的&#xff1b;问题&#xff1a;特征数字化后&#xff0c;由于取值…

电脑科技网站模板外链工具在线

1.Java语言的特点&#xff1f; 1.一面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff1b;2.平台无关性&#xff08; Java 虚拟机实现平台无关性&#xff09;&#xff1b;(类是一种定义对象的蓝图或模板)3.支持多线程&#xff08; C 语言没有内置…