CSP 模拟 44

news/2024/10/10 20:05:57/文章来源:https://www.cnblogs.com/Ishar-zdl/p/18457020

A 02表示法

简洁高精度

B 子串的子串

做法一:数颜色,考虑经典套路,记 \(pre\),然后成了三维数点问题,CDQ,跟暴力同分。
做法二:还是三维数点,但是能 \(n^2\) 的题为啥要上高级东西,暴力固定住右端点,暴力检查左端点,然后对于每个串能贡献的是 pre 到左端点的一段合法区间,然后成了区间的并,再暴力扫一遍,时间复杂度 \(\mathcal{O}(n^2)\)
做法三:都 \(n^2\) 了为啥还要想能扩展到更一般的做法,还是暴力固定,暴力检查,不过不记 pre 了,记个 suc,表示最后一次出现的位置的左端点,然后每个位置记一下他是 \(c_i\) 个串最后出现的 suc,区间 \([l,r]\) 就是这一段的 \(c_i\)
做法四:为啥总想记一些东西来扫描做,直接考虑 \([l,r]\) 的答案 \(ans_{i,j}\),对于字符串 \([l,r]\) 的上一次出现位置为 \(x\),则他会使所有左端点在 \([1,x]\),右端点在 \([j,n]\) 的区间答案减 \(1\),二维前缀和差分即可,\(ans_{x,j}--\),做完之后前缀和处理出来每个区间减少的贡献即可,但是我今天才知道二维前缀和直接 \(f_{i,j}=f_{i,j-1}+f_{i-1,j}+f_{i-1,j-1}\) 就行,所以直接这么写也行。

C 魔法咒语

前后缀要不重,自然想到 trie 树,这样他们前后缀就是不重的,建出前后缀的两棵 trie 树,然后考虑什么时候会重,发现当前缀节点的子节点有字母 \(x\) 使,他是不能和后缀 \(x\) 匹配的,因为它的下一个节点也能组合出来这个字符串,所以记一下这个直接统计就可以,但是有例外,当后缀只有一个字母时,它不会受上面的情况限制,因为不能选空前后缀,判一下这个即可,最后就是给出的只有一个字母的串也不能匹配出来,去重后加上即可。

D 表达式

如果询问是定值,直接线段树维护即可。然后发现模数给出,分解质因数后发现是套路 CRT,然后单独维护每个互质因子用 CRT 合并就行。

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

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

相关文章

【Azure Event Hub】诡异现象之Event Hub无法删除的根源

问题描述 遇见一个诡异的现象。在Event Hub 事件中心中删除了一个Event Hub后,会立马被重建,多次删除发现都是同样的问题。 这是什么情况呢? 问题解答 经过对Event Hub调查发现,使用了Kafka客户端持续的发送/消费事件。而Kafka客户端自带属性auto.create.topics.enable = …

实验一 现代C++编程初体验

实验结论: 任务一: task1.cpp1 // 现代C++标准库、算法库体验2 // 本例用到以下内容:3 // 1. 字符串string, 动态数组容器类vector、迭代器4 // 2. 算法库:反转元素次序、旋转元素5 // 3. 函数模板、const引用作为形参6 7 #include <iostream>8 #include <string&g…

玩玩虚拟化-KVM

1、讲在前面(玩这个的心历路程) 最近一段时间想玩一些集群之类的东西,学习搞一下K8s,集群啥的,但是我没有多台服务器,如果购买云服务器成本太高,后来想到了买台台式机弄点虚拟机来玩,于是我就在某鱼上淘了台二手台式机(24核+32G+512G+4G显卡),价格1280。后来想到要装虚…

欢迎加入Web3交流群

加入群聊后先看 群公告,入群二维码会及时更新的哈! 微信内长按二维码图片即可识别入群!

初步认识vue脚手架

初步认识vue脚手架 脚手架的优势统一的项目目录 本地程序调试 热部署 单元测试 集成打包上线 vue脚手架会产生统一的项目目录,能够支持热部署,就是不重新调试也可以更新数据。其他几点我还不是很理解。对脚手架的分析node_modules表示目录包 public 表示静态包 src 为源代码 …

闲话 10.10(有更新)

杂项乱写 10.10想到什么写什么昨晚CTH(大喊):HDK! HDK(大喊):CTH! CTH(愣了一下):干啥?2-SAT 定义 给出若干个形如 \(a\lor b\) 的限制条件,询问是否有满足条件的一组解。 人话:给出 \(n\) 个集合,每个集合两个元素,再给定若干个限制条件 \(\left \langle a,b\…

2024秋软件工程结对作业(第二次)

软件工程 班级链接:https://edu.cnblogs.com/campus/fzu/SE2024作业要求链接 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13281作业目标 开发一套跨专业合作平台,为大学生提供发起和参与跨学科项目的渠道。学号 102201313Github项目地址 https://github.com/KeepUp…

06-蓝图实战(图书数据搜索与查询),编写get和post请求,同时应用WTForms参数验证

需求:之前的路由请求格式,不是通用的请求格式,转化为get 和 post请求之后,可以通过request方法获取其中的参数 参考格式 04-使用 Flask 框架实现 POST和GET接口 - 马铃薯1 - 博客园 (cnblogs.com)@web.route(/book/search/<q>) def search(q):pass 第三方插件库,WT…

2024.9.30 CSP

模拟赛 赛后看着分哗啦啦的往下掉。 T1 median 找中位数,赛时假做法 A 了, 没想到直接搜。。。code #include<bits/stdc++.h> using namespace std; const int N = 1e5+5,mod = 998244353; int n; int a[6][N],ans,f[6][4]; unordered_map<int,bool> mp; int dfs…

VMware Workstation 17.6.1 发布下载,修复 4 个已知问题

VMware Workstation 17.6.1 发布下载,修复 4 个已知问题VMware Workstation 17.6.1 发布下载,修复 4 个已知问题 VMware Workstation 17.6.1 Pro for Windows & Linux - 领先的免费桌面虚拟化软件 基于 x86 的 Windows、Linux 桌面虚拟化软件 请访问原文链接:https://sy…

android开发编译openssl源代码生成libcrypto.so和libssl.so两个动态库用于android ndk项目开发使用

openssl编译本篇文章的操作是在Linux环境之下,在虚拟机ubuntu 20版本上操作的步骤1. openssl下载解压tar包openssl下载地址:https://openssl-library.org/source/下载完解压:tar -zxvf openssl-3.3.2.tar.gz // 我这里下载openssl-3.3.2.tar.gz版本2. 编译openssl库,得到l…