c语言兔子洞,数据结构水题选讲 - osc_y08db3kb的个人空间 - OSCHINA - 中文开源技术交流社区...

[Ynoi2011]ODT

\(O(nlog^2n)\) 的做法非常显然

直接把树重链剖分一下,每个点维护轻儿子的平衡树就行

但是这题 \(1e6\) 的数据范围使得 \(O(nlog^2n)\) 没那么容易卡过去(当然很多人卡过去了

考虑给一个点很多重儿子

那么若一个点有 \(k\) 个重儿子,修改复杂度就变成 \(O(log_knlog_2n)\),而查询复杂度变成 \(O(klog_2n)\) 了

为了均摊我们需要 \(log_kn=k\rightarrow k^k=n\),发现当 \(k=7\) 时应该是最优的

这样我们得到了一个复杂度 \(O(7nlogn)\) 的算法,已经足够通过这道题了

好像还有一个 \(log\) 的做法但是我不会也找不到讲解先咕了

[Ynoi2019]魔法少女网站

Ynoi+序列=分块

考虑把操作分块

把所有询问按照x从小到大排序,对于当前的x,把小于等于他的位置设为1,大于的位置设为0,每次x变大就把新符合的变成1

用类似链表的东西维护一下

由于需要查询区间我们考虑分块维护(因为我们需要 \(O(1)\) 插入,现在唯一的问题就是修改操作中会把1变成0

考虑一个套路就是插入之后按序撤销,初始让所有被修改的位置一直是0就行了

复杂度 \(O(n\sqrt{n})\)

[Ynoi2017]由乃的玉米田

前两个操作可以显然的用莫队+bitset做,第三个可以直接莫队,我们只考虑一下第四个

第四个操作当 \(x\ge\sqrt{n}\) 的时候显然可以直接在莫队询问的时候暴力做

当 \(x

复杂度 \(O(n\sqrt{n}+\frac{n^2}{\omega})\)

[Ynoi2016]掉进兔子洞

显然的答案就是 \(r_1-l_1+r_2-l_2+r_3-l_3+\sum\limits_a min(cnt_1[a],cnt_2[a],cnt_3[a])\)

用前几天大神讲的那个 \(bitset\) 实现取 \(min\) 的方式得到每个所需区间的 \(bitset\) 然后与一下就行了

得到每个区间的 \(bitset\) 可以直接用莫队来做(当然空间是开不下的,分多组做就行了)

CF1148H Holy Diver

对每个右端点 \(r\) 维护每个左端点 \(l\) 的 \(mex\)

显然的一件事是 \(mex\) 随 \(l\) 的增加而减小,且新加入一个 \(a_r\) 只会影响到之前所有 \(mex=a_r\) 的位置

显然的 \(mex\) 序列被分成若干段,且随着 \(r\) 的右移分界点最多增加 \(n\) 个,所以我们每次可以暴力的二分找出所有分界点来区间修改

考虑怎么维护答案,发现每次就是把一个 \(mex\) 相同的区间的 \(mex\) 集体改变

设该权值某个位置在时刻 \(t_1\) ​出现,时刻 \(t_2\) ​消失或询问,则该位置贡献为 \(t_2−t_1+1\),每次修改操作相当于区间加。

对每种权值用动态开点线段树维护一下就行了

CF704E Iron Man

考虑序列上怎么做

我们让时间为横坐标,位置为纵坐标,那么每个点相当于一条线段,我们要找的就是最小的出现相交的横坐标

考虑对横坐标做扫描线,发现如果每个时刻把存在的线段按照目前的纵坐标排序那么有交点的线段一定在某一时刻是相邻的

考虑直接用 \(set\) 维护,加入的时候和前趋后继求交点,删除的时候让前趋后继求交点

虽然纵坐标是变化的,但是显然的在出现交点之前线段之间相对位置不变,只要在横坐标 \(\ge\) 目前求出的交点时退出就行了

放到树上,直接树剖一下,每个重链跑一遍就行了,复杂度 \(O(mlog⁡mlog⁡n)\)

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

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

相关文章

centos 7.x systemd service 配置方法整理

一、存放路径/etc/systemd/system二、service配置整理2.1 zookeeper.service[Unit]DescriptionZooKeeper ServiceAftersyslog.targetAfternetwork.target[Service]#使用shell脚本启动的要用forking模式TypeforkingUserzookeeperGroupzookeeper#脚本启动ExecStart/usr/local/zoo…

MAVEN集成测试环境搭建

1. MAVEN SVN HUDSON SONAR集成测试环境搭建、1.1 软件准备 Hudson、Jenkins、Sonar1.2 软件安装 说明:本例均使用将应用程序部署至web容器下,Hudson和Sonar有其他部署启动方式,如有需要请自行使用,本文不做赘述。1.2.1 安装hu…

ubus c语言例子,openwrt之ubus例子

好一个icrootLEDE:/# ubus call test_ubus helloworld {"id":1,"msg":"hi","array":["a","b"]}{"id": 1,"msg": "hi","shuzu": ["a","b"]}文件目…

使用Spring访问Mongodb的方法大全——Spring Data MongoDB查询指南

1.概述 Spring Data MongoDB 是Spring框架访问mongodb的神器,借助它可以非常方便的读写mongo库。本文介绍使用Spring Data MongoDB来访问mongodb数据库的几种方法: 使用Query和Criteria类JPA自动生成的查询方法使用Query 注解基于JSON查询在开始前&#…

mysqldump导出备份数据库报Table ‘performance_schema.session_variables‘ doesn‘t exist

今天在bash进行本地数据库往云端数据库导数据的时候,在本地导出.sql文件这第一步就出现了错误问题,导出sql文件的命令: 1 mysqldump -u 用户名 -p 数据库名 > xxx.sql 在做这一步将数据导出的时候报了这么一个错误, 1 mysqldu…

在Identity框架中使用RoleBasedAuthorization

本文将介绍在 Identity 框架中如何使用 Sang.AspNetCore.RoleBasedAuthorization[1] 库。核心介绍Identity 和 jwt 的基本配置我们在这里不再赘述,可以参考最后的项目样例。核心的代码主要为 IRolePermission 的实现。internal class MyRolePermission : IRolePermi…

2016年印度公有云服务市场将达13亿美元

根据IT咨询公司Gartner最新调查数据显示,2016年印度公有云服务市场预计将增长35.9%,达到13亿美元。 增长最快的是云系统基础设施即服务(IaaS),2016年预计将增长45.5%;其次是平台即服务(PaaS&…

PAT 1042. 字符统计

1042. 字符统计 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车…

Magicodes.IE 2.7.0-beta发布

2.7.0-beta2022.10.27使用SixLabors.ImageSharp替代System.Drawing,感谢linch90 (见pr#454)2.6.92022.10.26fix: 动态数据源导出到多个sheet的问题 (见#449)2.6.82022.10.18Excel模板导出添加API,以支持通过…

光伏逆变器“领跑”:不止于技术

从无到有,从效率比拼到突破99%,在跟进速度上没话说的国内光伏逆变器企业难免深陷“价格战”、同质化的泥潭。随着“领跑者”计划跃居光伏主流,嗅到市场红利的企业再次蜂拥而至。 目前,鉴衡认证发布的第一批光伏并网逆变器“领跑者…

Ubuntu 18.04上Qmmp安装教程

Qmmp,一个开源的基于Qt的多媒体播放器。它具有多种音频文件格式支持,DSP效果,视觉效果;输出系统支持(OSS4(FreeBSD),ALSA(Linux),Pulse Audio,JAC…

android自动跑马灯,Android-最强跑马灯

Android--最强跑马灯Android 跑马灯已经有很多版本,从最基本的TextView,到重写TextView使TextView取消焦点限制,还有重写TextView利用ScrollTo方法写的,基本都能满足一般需要。然而在使用过程中,发现一些意外---有时会…

python:软件目录结构规范

为什么要设计好目录结构? “设计项目目录结构”,就和“代码编码风格”一样,属于个人风格问题。对于这种风格上的规范,一直都存在两种态度: 1.一种认为,这种个人风格问题“无关紧要”。理由是能让程序work就…

开启智能生活新时代 河北省智慧社区建设从各个击破

智慧社区作为智慧城市的重要组成部分,是城市智慧落地的触点,是城市管理、政务服务和市场服务的载体。随着智慧城市的推广以及新一代技术的普及,智慧社区的项目必将迎来新一轮的快速发展。2016年智慧社区成为企业业务落地的承载点,…

C# WPF 表格控件的前后台数据交互?

概述GridControl控件使用我们已经进行了实例讲解,这节内容我们列举一个特殊的应用场景:表格中有一列CheckBox,默认都处于勾选状态,当用户通过界面操作后,我们要确保用户至少选择了一项,相当于一次数据验证&…

Java(C#)基础差异-语法

1、long类型 Java long类型,若赋值大于int型的最大值,或小于int型的最小值,则需要在数字后加L或者l,表示该数值为长整数,如long num2147483650L。 举例如下: public static void main(String[] args) {/** …

android防止左向右滑出程序,Android——ViewPager禁止左右滑动的实现

目录1 背景用ViewPagerBottomNavigationView多个Fragment快速搭建的页面切换架构,一个有四个页面,因为测试需要,需要屏蔽掉中间的两个,做法是:设置不可点击选择:xml布局文件中,BottomNavigation…

Yii2 的快速配置 api 服务 yii2-fast-api

yii2-fast-api yii2-fast-api是一个Yii2框架的扩展,用于配置完善Yii2,以实现api的快速开发。 此扩展默认的场景是APP的后端接口开发,因此偏向于实用主义,并未完全采用restfull的标准,方便前端开发处理接口数据以及各种…

.NET6打包部署到Windows Service

1.安装Nuget包安装以下nuget包支持windows service<PackageReference Include"Microsoft.AspNetCore.Hosting.WindowsServices" Version"6.0.10" /> <PackageReference Include"Microsoft.Extensions.Hosting.WindowsServices" Version…

传统家电在智能家居变革的五大优势

而在众多向智能家居领域转型变革的企业中&#xff0c;看似落后的传统家电企业&#xff0c;却占据着一定的优势。 产品优势 传统家电企业在产品上的优势主要体现在企业拥有产品本身的设计、技术、生产、制造和营销渠道&#xff0c;其产品不论是从外观设计、零件制造还是零件组装…