2024.7

news/2024/7/7 20:36:18/文章来源:https://www.cnblogs.com/cwhfy/p/18280701

1.Um_nik mod 998 244 353 Contest

F.Is This FFT?

不妨令最后形成的链是 \(1-2-3-\dots -n\) ,然后令 \(p_i\)\(i-{i+1}\) 被删的时间。

如果枚举了 \(p\) 形成的大根笛卡尔树,怎么算答案呢,你发现我们的限制形如,父亲要后于儿子加入;设左子树大小为 \(x\) 右子树为 \(y\) ,则有 \((x+1)(y+1)-1\) 条边必须要在这个点后面加入。连出这些限制,你发现它不考虑方向就形成了一棵树,经典的考虑容斥,等同于钦定一些非树边在对应的树边前面。

对着这个 dp ,你发现是卷积的形式,具体的就是 \(G_i(x)=\sum\limits_{j=0}^{i-1}F_j(x)F_{i-1-j}(x)(1-x)^{(j+1)(i-j)-1},[x^j]F_i(x)=\frac{1}{j}[x^j]G_i(x)\)

考虑每算出一个 \(F_i(x)\) 后就对其 DFT ;对于 \((1-x)^{k}\) ,将其拆成 \(k=na+b\) ,然后预处理出 \((1-x)^{na}\)\((1-x)^b\) DFT 后的结果,这是 \(O(n^3\log n)\) 的;我们就容易据此算出对 G DFT 后的结果,IDFT 回去之后就能得到 G ,这是 \(O(n^4)\) 的,总复杂度即 \(O(n^4+n^3\log n)\)

K.4

算 K4 的个数。首先使用一种处理无向图的经典方法:将所有点按度数从小到大重标号,考虑一个点有多少大于它的与之相连,可以发现最多只有 \(\sqrt{2m}\) 个点,设这个点数是 \(d_x\)

于是枚举 K4 中最小的点 \(x\) ,再枚举两个与之相连的比它大的点 \(y,z\) ,其中要满足 \(y,z\) 相连,现在数有多少合法的 \(w\) ,直接 bitset 数就好了。注意到这里我们只需处理与 \(x\) 相连的 \(w\) ,这里 bitset 长度就是 \(d_x\) 的,单次求 \(w\) 个数就是 \(O(\frac{d_x}{w})\) 的;于是总算量就是 \(\frac{\sum d_i^{3}}{w}\) ,由于 \(d_i\le \sqrt{2m}\)\(\sum d_i\le m\) ,这个式子最大值就是 \(O(\frac{m^2}{w})\) 了。

G.MIT

猜测出选 \(k\) 对点的最优点集是由 \(k-1\) 对点拓展而来,我们考虑怎么选这两个点最大化答案。不要拘泥于原形式,把这个最大值看成是 \(\sum dis(p_i,p_{i\bmod m+1})\) 的 max ,这样就能定义选奇数个点的最大值。考虑加入一个点 \(x\),对答案的贡献是什么,取出新的带权中心 \(rt\),那么贡献就是 \(dis(rt,x)\) 。问题是每加入一个点新的带权中心可能不一样,怎么办呢。直接用原来的带权中心充数即可。这样会算错点集大小是奇数时的答案,但偶数一定是对的。

现在相当于找剩余的点中哪个离 \(rt\) 最远,线段树维护剩余点的直径即可。怎么算新的带权中心呢?注意到这个一定在 \(rt\)\(x\) 的路径上,于是取 \(1\)\(rt\) 中最深的 \(2sz_f>sz_1\) 的点,\(1\)\(x\) 同理,然后比哪个更深即可。复杂度 \(O(n\log^2n)\)

2.CF1375H Set Merging

交换一下值域和下标,我们要解决的是,对一个序列只考虑值在 \([l,r]\) 的位置的信息,从左往右加起来的结果。且这个”信息“不满足交换律,只满足结合律。

分块,对每个块将其内部值离散化后尝试算出 \(f_{l,r}\) 为:值在 \([l,r]\) 的信息加起来的结果。这个不难分治解决,有 \(T(n)=2T(n/2)+\frac{n^2}{2}\) ,所以这一部分就是 \(\frac{n}{B}*B^2=nB\) 的。每次询问把对应的信息加起来就好了,就是 \(q*\frac{n}{B}=\frac{qn}{B}\) 的。取 \(B=\sqrt{q}\) 即可平衡至 \(n\sqrt{q}\)

3.loj2461 完美的队列

观察询问的形式,发现只关心每个操作插入的数多久会被全部弹出。考虑把每次操作用线段树拆开,离线下来,对每个节点的操作分别计算其被完全弹出的时间。

现在相当于是有若干次区间加操作,然后还有一些询问形如,从某个操作出发,到哪个操作才会使得每个位置值的增加量都 \(\geq a_i\) 。这个显然能双指针算。但可以发现这里的区间加操作是很多的,怎么办呢,你发现全局加的操作都是其祖先带来的,其他操作都是其子树内的点带来的。于是按 dfs 的顺序做这些点,用 BIT 来维护这些祖先带来的修改,双指针就只对剩下的这些操作做,计算准确的答案时在 BIT 上求 kth 即可。

分析一下这剩下的操作的总和,它相当于是每个操作插入时经过的节点个数之和,这是 \(O(n\log n)\) 的,总复杂度即 \(O(n\log^2n)\)

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

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

相关文章

[IOT2050 question] Unable to listen on http://127.0.0.1:1880/ 端口被占用错误

1. 背景第一次连接node-red的时候,一直出现错误Unable to listen on http://127.0.0.1:1880/。如下:2. 原因分析估计是早前利用iot2050setup小工具把node-red设置为开机自动启动项了,导致1880端口一直被占用。3. 验证首先查看端口是否真的被占用,利用sudo netstat -ltup命令…

实战篇——SQL注入sqli-labs-master靶场实战二

实战篇——SQL注入sqli-labs-master靶场实战(2) SQL注入的高级利用 (1) 宽字节注入 有时后端会对用户输入的特殊字符进行转义处理,这时普通的注入方式就会失效。对于成对的单引号,可以通过十六进制编码的方式绕过转义;而对于单个的单引号,当数据库的编码格式为GBK时,就要用…

代码随想录算法训练营第四十五天 | 打家劫舍

198.打家劫舍 题目链接 文章讲解 视频讲解dp[j]: 表示投到第j家最多能偷dp[j]的钱 递推公式: dp[j] = max(dp[j-2] + nums[j], dp[j-1]) 初始化:dp[0] = nums[0], dp[1] = max(dp[0], dp[1]) 遍历顺序:从小到大 打印dp数组class Solution { public:int rob(vector<int>…

使用开源ntfy消息推送服务发布通知实现全平台接收通知

说明:ntfy源代码:https://github.com/binwiederhier/ntfy.git 官方未编译Windows版本,本人编译最新版本:(链接:https://pan.baidu.com/s/1pMsfqNb5FKHawTLUBTgjQA?pwd=f84u提取码:f84u) 服务部署系统:Windows Server 2019或其他Windows系统简介 ntfy是一个开源的消息…

上海市小区地下室非机动车辆(电动自行车、自行车)坡道设计评级指南 All In One

上海市小区地下室非机动车辆(电动自行车、自行车)坡道设计评级指南 All In One 非机动车辆地下夹层坡道反人类设计 为什么要这么设计? 设计的参考依据是什么? 设计师有去亲身体验自己的设计成果吗? 非机动车(电动自行车、自行车)坡道设计评级指南上海市小区地下室非机动车辆…

【Linux系列】修改ssh端口

#Linux #等保 场景:在CentOS 7.9操作系统上,修改默认的ssh端口。ssh默认22端口,在实际开展业务中的生产环境中,通常会修改为指定端口号,以满足规范。 版本:CentOS 7.9 1.修改sshd_config配置文件 修改命令:vi /etc/ssh/sshd_config 修改内容:Port 100222.重启sshd服务3…

stable diffusion ControlNet使用介绍与进阶技巧

ControlNet是什么?固定构图、定义姿势、描绘轮廓、单凭线稿就能生成一张丰满精致的插画……它几乎无所不能。 有人把它称为AI绘画界的“革命性”突破,但在我看来,它不过是StableDiffusion迈向“工业化”的第一步。 ControlNet扩展与模型下载地址 扩展地址: https://github.…

前端实现根据模版导出word【docxtemplater】

场景 有的时候我们需要根据后端提供的数据,然后结合word模版来生成word。我们可以使用第三方库docxtemplater 效果代码 App.vue <template><div class="app"><el-divider content-position="center">1.基本使用</el-divider><…

Mysql MVCC多版本解析

1.首先各行数据,都有一个trx_id(事务ID)和回滚指针,形成一个链表数据结构的数据。其实这便是undo.log(回滚日志) 2.当select查询数据的时候,还会生成视图数据。 其中包含未提交的最小事务、未提交事务ID数组、应该分配下一个的事务ID、创建视图的事务ID 首先会生成read …

Linux的访问权限详解

题目解读访问权限 rw-r--r--分别代表什么东西 r:代表可读 w:可写 e:可执行 方便起见进行拆分rw- 代表文件所属用户的权限 r-- 代表同组用户的权限 r-- 代表其他用户的权限同时我们可以用2进制来表示: r:4 w:2 e:1 也即是3位二进制数则可以表示 chmod 命令 更改对应的文件的权…

Linux统计日志中有多少个不同的IP登录

题目解析 知识点: 1、awk -F {print $3} 指定空格是分隔符进行分割,取第三个。(不指定默认分隔符也是空格) 2、uniq -c(uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。参数 - c :进行计…

WebAPI项目框架仓储模式+导入SqlSuag

仓储(Respository)是对数据库访问的一个封装 解决方案新建Respository文件夹,新建类库Web.Core.IRepository,Web.Core.Repository 解决方案新建Services文件夹,新建类库Web.Core.IServices,Web.Core.Services 在类库Web.Core.Model下面新建Entity文件夹SqlSugar是国人开发者…

操作系统内存管理学前补充知识

操作系统内存管理学前补充知识 目录操作系统内存管理学前补充知识什么是内存,有什么作用数据的数量单位指令的工作原理3种装入的方式(逻辑地址—>物理地址)绝对装入静态重定位动态重定位从写程序到程序的运行链接的三种方式 什么是内存,有什么作用 手机有内存,电脑中也…

Nginx proxy manager反向代理docker hub

1.域名解析 用作反向代理的域名要提前解析,如果使用外国的DNS域名提供商的话,最好提前一天解析好。 2.配置NPM 2.1.Details选项卡2.2.SSL选项卡2.3.Advanced选项卡 location / {# Docker hub 的官方镜像仓库proxy_pass https://registry-1.docker.io; proxy_set_header Host…

cJSON:构建JSON

使用cJSON库构建比较简单的JSON类型: create_json.c #include <stdio.h> #include <string.h> #include <stdlib.h>#include "cJSON.h"static int create_json_type_1(void) {char *json_str = NULL;cJSON *root = NULL;root = cJSON_CreateObjec…

【esp32 学习笔记】将lvgl融入esp-idf项目中

lvgl科普 lvgl 主要特点:Github库整体了解版本号编排原则屏幕兼容性LVGL 问题处理: lvgl 与 FreeRTOS 由于esp-idf本身带了 FreeRTOS系统,因此需要关注一下操作系统相关的内容:void lvgl_thread(void) {while(1) {uint32_t time_till_next;time_till_next = lv_timer_hand…

QT6 CMake项目配置 (Visual Studio)

QT6 CMake项目配置 (Visual Studio) 上一节已经编译好了动态和静态的QT库,接下来在CMake中引入。 这边主要介绍使用Visual Studio的配置方法 测试环境 首先使用VS创建一个项目来测试CMake能否正常使用。 如果是首次打开VS会有个配置主题的界面,自己选一下就好了 首先我们来创…

ssrf+结合redis 写入crontab或者公钥(两种环境)

REDIS redis作为一种数据库 其实是会真的将数据写入到内存中的 我们利用ssrf请求 请求redis 实现服务器对自己的公钥或任务计划写入 实现无密码登录 或反弹bashredis监听所有地址时 才能被外部访问 否则只能127.0.0.1 本地访问 而且开启保护模式后会导致目标端口只能本地访问 这…

ffmpeg常用命令汇总

最近在学习ffmpeg,将基础命令做一次汇总,便于自己以后查阅: 1. ffmpeg 常用命令 ffmpeg 帮助信息查看 // 查看 ffmpeg 的基础信息。 ffmpeg --help// 查看高级参数部分。 ffmpeg --help long// 查看全部的帮助信息。 ffmpeg --help full转封装 // -hide_banner: 隐去 ffmpeg …

麻烦问一下xpath标签定位的这个索引是做什么用的?

大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【杨又串🍻】问了一个Python网络爬虫的问题,问题如下:老师,麻烦问一下xpath标签定位的这个索引是做什么用的,我听网课把这个知识点跳过了? 二、实现过程 后来【隔壁😼山楂】给了一个指导:这个过去出…