首页 > 其他分享 >2023.06.07训练日志

2023.06.07训练日志

时间:2023-06-07 23:11:54浏览次数:48  
标签:right 07 sum 个块 2023.06 众数 区间 日志 left

Trust Nobody

简单题,桶排序+前缀和以后直接找 \(n - sum_i = i\) 的 \(i\)

Lunatic Never Content

对于原序列的每一对不满足回文的位置,记录其差的绝对值取 \(\gcd\)。对于已经满足回文的,\(x\) 可以为 \(\infty\),因此输出 \(0\)

Dreaming of Freedom

这道题主要考察线性筛。观察样例(如果观察不出可以多造几组数据)可以发现,如果 \(n\) 的最小质因数 \(\le m\),则不能结束题述过程,输出 NO,否则输出 YES

Running Miles

求解三元组相关问题的一般套路

注意到对于满足题意的区间,其前三大值中的两个必然在区间的一头一尾,因此按顺序枚举中间的数(此处中间指位置上的中间而非大小上的中间),同时找到对当前数贡献最大的左端点,同理右端点也做相同处理,最终取最大值为答案

上述过程用到双指针的思想

Walk the Runway

这道题的难点在于想到它和图论有关,以及如何建图

首先在所有边之间都连上双向边,每读入一个城市的信息,就先按照 rating 排序,再去掉 \(\mathop{edge}\limits_{i = 1, j = i + 1}\limits^{i, j \le n} \left( r_i, r_j \right)\) 这些边(此处的 \(r_i\) 含义已经改变,指的是排序以后 \(r\) 数组原来的下标),可以证明最后得到的是一张有向无环图(此处证明留给读者思考),在此有向无环图上进行 DFS 得到最终答案

蒲公英(在线区间众数)

在线区间众数可谓分块思想的模板题,我调了整整 8 个小时才过,真是太菜了

看到值域 \(10^9\) 首先想到将序列 \(a\) 离散化,然后开始考虑问题

大体思路是把序列 \(a\) 分成 \(T\) 块,设每个询问 \(\left[ l, r \right]\) 包含的整块区间为 \(\left[ L, R \right]\),有一个显然的性质,即区间 \(\left[ l, r \right]\) 的众数只可能是以下的数:

  • 区间 \(\left[ L, R \right]\) 的众数

  • 区间 \(\left[ l, L \right) \cup \left( R, r \right]\) 中出现过的数

因此我们得到以下解法:

  1. 以数组 \(sum_{i, j, k}\) 记录第 \(i\) 个块到第 \(j\) 个块中等于 \(k\) 的数有多少个,数组 \(mode_{i, j}\) 记录第 \(i\) 个块到第 \(j\) 个块的众数

  2. 扫描区间 \(\left[ l, L \right) \cup \left( R, r \right]\) 并将每个数出现过的次数直接累加到 \(sum_{L, R, k}\) 上

  3. 扫描一遍 \(sum_{L, R, k}\),其众数就是要求的众数

  4. 再次扫描区间 \(\left[ l, L \right) \cup \left( R, r \right]\) 并给 \(sum_{L, R, k}\) 减去每个数出现过的次数,复原 \(sum\) 数组,供下次查询使用

该解法的时间复杂度为 \(O \left( NT^2 + \frac{MN}{T} \right)\),当 \(NT^2 = \frac{MN}{T}\) 时取到最小值,解得 \(T = \sqrt[3]{N}\),此时算法的时间复杂度和空间复杂度均为 \(O \left( N^{\frac{5}{3}} \right)\),可以通过本题

标签:right,07,sum,个块,2023.06,众数,区间,日志,left
From: https://www.cnblogs.com/xj22yangyichen/p/17464845.html

相关文章

  • 「Solution Set」06/07
    P6109[Ynoi2009]rprmq1矩形加,矩形求和。但是修改都在查询前面。trick:如果是矩形加并且没有时间的区别,可以将以为当作时间。相当于在一段时间内将序列的一段区间加。然后可以转化为在序列的一段先加上,过一会再减掉。查询可以看作在一段时间上所有时刻的区间最大值。可以转化......
  • 每日随笔20230607
      这几天临近考试,抓紧复习了已经,一直待在自习室,但是感觉还是有点学不上来,很无力的感觉,但是绝对可以过,估计应该都是七八十分的样子,但是对于知识的掌握还是欠缺,就比如明天要考的工程数学,很迷惑,根本不怎么会,全靠老师给的考点进行突破,但是也有点力不从心,因为看不懂,而且会跳着看,导致......
  • [刷题笔记] Luogu P3073 [USACO13FEB]Tractor S
    ProblemSolution和汽车拉力比赛差不多,思路都是二分,二分\(d\),但是汽车拉力比赛从一个路标开始搜即可,本题没有给定起点。一条合法路径起点是未知的,不得随便从一个点开始搜,否则可能找不到正确路径。怎么处理呢?容易想到对于每一个二分的\(d\),开一个\(n^2\)的循环,从每一个点开始搜......
  • English Learning Articles 2023-06-07 Nonsurgical cat contraception could help cu
    Nonsurgicalcatcontraceptioncouldhelpcurboverpopulation,studysaysThereareanestimated600milliondomesticcatsintheworld,and80%ofthemareferalorstrayanimals.Spayingandneuteringcatshelpspreventhomelesskittensandovercrowdeda......
  • 2023-06-07:Redis 持久化方式有哪些?以及有什么区别?
    2023-06-07:Redis持久化方式有哪些?以及有什么区别?答案2023-06-07:Redis提供了两种持久化机制:RDB和AOF。RDBRDB持久化是将Redis当前进程中的数据生成快照并保存到硬盘的过程。快照指的是Redis在某一时刻的内存状态的记录,类似于拍照一样把数据保存下来,因此也被称为Redis的数据库快照(Re......
  • 2023-06-07:Redis 持久化方式有哪些?以及有什么区别?
    2023-06-07:Redis持久化方式有哪些?以及有什么区别?答案2023-06-07:Redis提供了两种持久化机制:RDB和AOF。RDBRDB持久化是将Redis当前进程中的数据生成快照并保存到硬盘的过程。快照指的是Redis在某一时刻的内存状态的记录,类似于拍照一样把数据保存下来,因此也被称为Redis的数据库快照(Re......
  • 【20230607】【用Python让Excel飞起来】 第一章 python 快速上手 I
    001安装Anacondaanaconda.com直接下载,然后安装记得安装的时候将path和link.py点上,不然回头去配置环境变量有一些麻烦如何判断成功安装在CMD中输入conda-V即可查看002安装配置pycharm直接安装即可,官网下载,然后安装注意pycharm的pro版本是收费的,edu邮箱可以免费1年......
  • 【实战分享】使用 Go 重构流式日志网关
    项目背景分享之前,先来简单介绍下该项目在流式日志处理链路中所处的位置。流式日志网关的主要功能是提供HTTP接口,接收CDN边缘节点上报的各类日志(访问日志/报错日志/计费日志等),将日志作预处理并分流到多个的Kafka集群和Topic中。越来越多的客户要求提供实时日志支持,业务......
  • 欧奈儿行业 RPS 排名,一图览全貌 2023-06-07
    自动复盘2023-06-07k线图是最好的老师,点击详情图可以看到行业20日RPS的排名,最底下子图是行业rps走势线跟踪板块总结:成交额超过100亿排名靠前,macd柱由绿转红公众hao:醉卧梦星河欧奈尔行业RPS排名天天更新追踪主力行业趋势更容......
  • nginx访问日志
    访客日志处理日志模块的官网教程https://nginx.org/en/docs/http/ngx_http_log_module.html创建nginx访问日志日志对于程序员很重要,可用于问题排错,记录程序运行状态,一个好的日志能够给与精确的问题定位。Nginx日志功能需要在nginx.conf中打开相关指令log_format,设置日志格式,......