MX S27

news/2024/11/14 4:32:30/文章来源:https://www.cnblogs.com/winter2020/p/18541057

snake

考虑 \(q=1\) ,先预处理出每个方格是否被毒蛇覆盖,若覆盖则设方格权值为 \(1\) ,否则设为 \(0\) 。然后求解 \((1,1)\)\((n,n)\) 的最短路即可。用 dijkstra 复杂度则为 \(\mathcal O(n^3+n^2\log n)\)

由于网格大小为 \(n\times n\) ,那么 \(n\) 秒以后的网格都是一样的。所以 \(q\not =1\) 只需要对 \(t=1,2...n\) 分别求求解即可,时间复杂度 \(\mathcal O(n^3+n^3\log n)\)

而方格权值要么为 \(0\) ,要么为 \(1\) ,使用 01BFS 即可使时间复杂度降为 \(\mathcal O(n^3)\)

array

注意到 \(a_i\leq 10\)

枚举每类数,强制这类数在区间 \([L,R]\) 中出现次数大于一半。

假设当前枚举的数为 \(c\)

那么把 \(a_i=c\) 看成 \(+1\)\(a_i\not=c\) 看成 \(-1\),满足条件的区间等价于区间和大于 \(0\)

设前缀和数组为 \(b_i\) ,那么有 \(b_R>b_{L-1}\),使用归并排序,线段树或者树状数组求出这样的逆序对个数即可。

时间复杂度 \(\mathcal O((\max a_i)n\log n)\)

fac

由于每个元素的答案是独立的,所以只需要对于每个 \(A_i\) 求解答案然后求和即可。

\(f(x,k)\) 表示 \(x\) 经过操作 \(k\) 次后的答案,那么有:

\[f(x,k)=\sum_{d|x}f(d,k-1) \]

直接递推即可做到 \(\mathcal O(Vk\log V)\)。其中 \(V=\max a_i\)

对于 \(A_i\) 质因数只有一种,直接递推即可。

\[f(p^x,k)=\begin{cases} 1&{\rm if}(x=0)\\ p\times f(p^{x-1},k)+\binom{k-1+x}{x}&{\rm otherwise} \end{cases} \]

对于 \(n=1\) 的问题,可以把所有转移建边。得到的图除去自环就是一张 DAG 。那么问题变成从 \(A_1\) 出发,走 \(k\) 步到达的点权和。

\(g(x,i)\) 表示没有走过自环,走 \(i\) 步到达 \(x\) 的方案数。然后把剩下 \(k-i\) 步分配到每个点走自环数量上,插板法即可。

最后发现这个函数是积性函数,即对于 \(\gcd(x,y)=1,\)\(f(x,k)\times f(y,k)=f(xy,k)\)

所以预处理所有 \(p^x\) 处的值即可。

perm

\(f(i,j,S)\) 表示确定 \(1,2,\cdots,i\)\(b\) 中的位置,其中有 \(j\)\(c\) 确定为 \(1\)\(i-j\) 个为 \(2\)),\(S\) 为剩余没填数的 \(b\) 位置集合。

1、\(c=1\)$$f(i,j,S)=\sum_{k\in S,|i+1-k|\le 1}f(i+1,j+1,S-{k})$$

2、\(c=2\)$$f(i,j,S)=\sum_{k\in S,|i+1-k|\le 2}f(i+1,j,S-{k})$$

注意到 \([i+3,n]\) 一定属于 \(S\),并且 \([1,i]\) 的所有空位都是一样的,所以 \(S\) 只要记 \([i+1,i+2]\) 即可。复杂度 \(O(n^2)\)

tree

模拟题意暴力比较两两字典序,复杂度 \(\mathcal O(qn^2)\)

首先 \(L\) 至少是 \(P_1\) 的一个前缀。否则会有 \(L>P_1\),不满足 \(L\) 是字典序最小的条件。在 \(L\)\(P_1\) 前缀的前提下,\(|L|\) 越小,则 \(L\) 字典序也越小。

\(a_i\) 是排列的情况下,若 \(sz_x=k\) ,则要求 \(1\sim k\) 全部在 \(sz_x\) 的子树内。这里给出一种做法:对于 \(i\in[1,n-1]\) ,设 \(a_x=i,a_y=i+1\),对 \((x,y)\) 路径上除了 \(y\) 的点执行 \(+1\) 操作。那么上述要求等价于 \(x\) 的权值等于一。树剖线段树维护子树最小值(第一关键字按权值排序,第二关键字按 \(sz\) 排序)即可。时间复杂度 \(\mathcal O(n\log^2 n)\)

\(a_i\) 不是排列时,就无法用上述方法了。我们需要找到更简便的,描述前缀这个限制:定义 \(d_u\) 表示 \(u\) 当前子树和与满足条件的子树和之差。也就是说 \(d_u=\sum_{v\in sub(u)}a_v-\sum_{i=1}^{sz_u}P_{1_i}\)

于是问题转化为需要找到 \(sz\) 最小的,且 \(d=0\) 的点。同样用树剖线段树来实现,时间复杂度 \(\mathcal O(n\log^2 n)\)

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

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

相关文章

Ftrans文件自动化传输方案:释放双手,让数据流动更自由!

随着企业业务不断扩大发展,数据传输和汇集逐渐成为其业务链中的一个重要环节。在企业内部,一般会存在多台文件存储服务器,基于业务开展需要,存在将不同服务器上的不同数据文件自动化传输到同一台文件存储服务器上的场景需求。当下企业选择较多的文件自动化传输方式如FTP、R…

项目UML图

1.用例图2.类图3.时序图

【Unity】UGUI中ScrollView的设置

UI实现横向滚动展示元素,并可以点击指定项增加元素。UI实现横向滚动展示元素,并可以点击指定项增加元素。 成果展示Scene部分ScrollView的设置此案例取消了纵向的滚动条,可以直接删除对应的Scrollbar,然后取消勾选Scroll Rect中的Vertical属性; MovementType属性选择了Cla…

基于surging的木舟平台如何构建起微服务

一、概述木舟平台分为微服务平台和物联网平台, 上面几篇都是介绍如何通过网络组件接入设备,那么此篇文章就细致介绍下在木舟平台下如何构建微服务。木舟 (Kayak) 是什么?木舟(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支…

PYCHARM-pycharm工具激活

通过百度网盘分享的文件:pojie.zip 链接:https://pan.baidu.com/s/1FGafhVPF4TwL83u9_3sPUw 提取码:sky1

使用 C# 入门深度学习:Pytorch 基础

教程名称:使用 C# 入门深度学习 作者:痴者工良 地址: https://torch.whuanle.cn 1.2 Pytorch 基础 本文内容介绍 Pytorcn 的基础 API,主要是数组的创建方式和运算方式,由于相关内容跟 Numpy 比较相似,并且 Numpy 类型可以转 torch.Tensor,因此对 Numpy 感兴趣的读者可以…

IBM 开源的文档转化利器「GitHub 热点速览」

上周的热门开源项目,Star 数增长犹如坐上了火箭,一飞冲天。短短一周就飙升了 6k Star 的多格式文档解析和导出神器 Docling,支持库和命令行的使用方式。全新的可视化爬虫平台 Maxun,则在刚开源时便轻松斩获了 4k Star。而本地优先的个人理财工具 Actual,支持 Docker 自托管…

百度机器翻译SDK实验

1.先登录 https://ai.baidu.com/ai-doc/index/MT https://console.bce.baidu.com/

Mysql篇-Buffer Pool中的三大链表

为什么要有 Buffer Pool? 虽然说 MySQL 的数据是存储在磁盘里的,但是也不能每次都从磁盘里面读取数据,这样性能是极差的。 要想提升查询性能,那就加个缓存。所以,当数据从磁盘中取出后,缓存内存中,下次查询同样的数据的时候,直接从内存中读取。 为此,Innodb 存储引擎设…

SonarQube 10.5 for macOS, Linux, Windows 下载 - 代码质量、安全与静态分析工具

SonarQube 10.5 for macOS, Linux, Windows 下载 - 代码质量、安全与静态分析工具SonarQube 10.5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具 SonarQube Data Center Edition (Java App for macOS, Linux, Windows) 请访问原文链接:https://sysin.org/blog/sona…

双十一购物攻略:如何利用爬虫技术获取历史价格趋势,理性购物不踩雷

双十一购物狂欢节即将到来,作为程序员,利用爬虫技术查询商品的历史价格趋势,似乎是一个合理的需求,毕竟这只是为了自己参考,不涉及商业用途。然而,小伙伴们在进行爬虫操作时一定要谨慎小心,尤其是在数据采集和使用的过程中,务必遵守相关法律法规与平台的使用规范。 每次…

推荐7款程序员常用的API管理工具

前言 现如今API接口的编写与调试已成为开发人员不可或缺的技能,工欲善其事,必先利其器,选择一款优秀的API管理工具显得尤为重要。本文大姚给大家推荐7款程序员常用的API管理工具,大家可以根据自身和团队情况按需选择一款进行使用。 使用情况投票统计 微信使用情况投票统计:…