A

恶心恶心恶心,赛时写了一个二分+线段树的复杂度错了,当时yzh和lyz就一会骗我一会说实话的,搞得很懵,自己水平也是菜,那线段树分析复杂度怎么不把递归次数乘上呢?大傻逼grz

思路其实还挺好的。

你考虑很容易就发现一个性质,如果一个区间内存在两个数互质的话,这个区间的\(gcd\)肯定是\(1\)。



那么剩下的就是先做一个线段树取快速维护区间\(gcd\)的值,然后考虑双指针\(O(nlog_n^2)\)去计算所有区间得到的值,判断区间\(gcd\)答案是不是\(1\),如果是的话,那么他的贡献其实就是\(n-j+1\),因为对于这个区间的右侧你可以无线扩展,直到\(n\)为止,那么这些区间的\(gcd\)值其实都是\(1\)。

code

B

good题。

你考虑,可以把题目转换一下,枚举每个节点的覆盖范围,那么显然,对于这个答案,肯定是具有单调性的,直接用二分枚举每个点覆盖范围。

首先我们钦定一个点\(x\)为当前点子树内离他距离最远的节点,如图:

如图,节点\(x\)就是这个节点。

那么你考虑,根据贪心的策略,我们假设当前二分到的长度为\(mid\),那么要想要这个最后的"不满意度"最大,就需要找一个深度刚好是\(dep_x-mid\)位置的节点,为什么呢?如果选择的是\(dep_x-mid\)位置往上的节点,就无法覆盖到当前这个\(x\)节点,就需要用另外一个节点,如果在\(dep_x-mid\)位置往下的节点,就少覆盖了一些节点,就浪费了,以上便是贪心策略。

那么其实很显然,对于每一个枚举到的测量范围,我们要考虑树形\(dp\)去求这个值,那么接下来我们钦定两个\(dp\)数组:

设\(f_x\)表示以\(x\)为根节点到无法根据这个范围覆盖到最远的点的距离。

设\(g_x\)表示以\(x\)为根节点能覆盖最近的点的距离。

显然转移很好做的呀:

\[\begin{cases} f_{x}=\max\limits_{y \in son(x)}\{ f_{y}+1 \} \\ g_{x}=\min\limits_{y \in son(x)}\{ g_{y}+1 \}\end{cases}

\]

那么,记得初始化:\(f_x = -inf,g_x = inf\)

显然这样是不可以的,你要遵循贪心策略去求这个东西。 那么对于当前枚举到的范围,当 \(g_{x}\le mid\) 时以 \(x\) 为根的子树内所选的点覆盖不到自己,需要祖先节点进行覆盖,此时需要统计自己的贡献,即 \(f_{x}=\max(f_{x},0)\);当 \(f_{x}+g_{x} \le mid\) 时以 \(x\) 为根的子树内所选的点就能覆盖整棵子树,令 \(f_{x}=- \infty\);当 \(f_{x}=mid\) 说明 \(x\) 必须被选,令 \(f_{x}=- \infty,g_{x}=0\),选择点数加一。

特判下根节点没有被覆盖的情况。

code

2024/10/3 CSP-S模拟赛20241003的更多相关文章

  1. 【2018.10.20】noip模拟赛Day3 飞行时间

    今天模拟赛题目 纯考输入的傻逼题,用$scanf$用到思想僵化的我最终成功被$if$大法爆$0$了(这题只有一组$100$分数据). 输入后面那个$(+1/2)$很难$if$判断,所以我们要判两个字符 ...

  2. 【2018.10.18】noip模拟赛Day2 地球危机(2018年第九届蓝桥杯C/C++A组省赛 三体攻击)

    题目描述 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 $A × B × C$ 艘战舰,在太 空中排成一个 $A$ 层 $B$ 行 $C$ 列的立方体.其中,第 $i$ 层第 $j$ 行第 $k ...

  3. 2016 10 26考试 NOIP模拟赛 杂题

    Time 7:50 AM -> 11:15 AM 感觉今天考完后,我的内心是崩溃的 试题 考试包 T1: 首先看起来是个贪心,然而,然而,看到那个100%数据为n <= 2000整个人就虚 ...

  4. 2018.8.10 提高B组模拟赛

    T1 阶乘 Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto ProblemSet Description 有n个正 ...

  5. 10.25最后的模拟赛DAY1 answer

    QAQ太困了,大概说一下自己的思路: 其实这题很容易看错题目或是想错,就比如我个傻逼,一开始以为p+q一定等于n.... 咳咳...其实这题不用想太多,我们可以通过这n个字符串一个个假设正确或是不正确 ...

  6. 【2018.10.20】noip模拟赛Day3 二阶和

    今年BJ省选某题的弱化版…… 这看起来就没那么难了,有几种方法维护,这里提两种. 第一种(傻逼的我写的) 维护 一维&二维前缀和. 对于一个长度为$m$的序列$b_1,b_2,...,b_m$ ...

  7. 【2018.10.15】noip模拟赛Day1

    题面 wzj的题解 T1 随便搜 #include<bits/stdc++.h> #define ll long long using namespace std; inline int ...

  8. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

  9. EZ 2018 06 10 NOIP2018 模拟赛(十八)

    好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...

  10. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

随机推荐

  1. 前端使用 Konva 实现可视化设计器(21)- 绘制图形(椭圆)

    本章开始补充一些基础的图形绘制,比如绘制:直线.曲线.圆/椭形.矩形.这一章主要分享一下本示例是如何开始绘制一个图形的,并以绘制圆/椭形为实现目标. 请大家动动小手,给我一个免费的 Star 吧~ 大 ...

  2. JS脚本批量处理TS数据类型

    在TS开发中,经常会遇到后台数据字段比较多的情况,这时候需要一个个复制字段然后给他手动配置数据类型来完成我们的TS类型定义,相当麻烦.有什么快速的方法呢,我就目前遇到的两种情况分别写了JS脚本来处理后 ...

  3. Oracle导出数据库与还原

    导出部分 1.获取到Oracle directory目录与实际电脑目录的映射 2.CMD导出Oracle数据库 DMP文件 //expdp 用户/密码@数据库监听地址 schemas=表空间名称 du ...

  4. R 语言使用

    安装 brew install r --formulae 使用 CLI /opt/homebrew/bin/r # 进入 R 交互式编程界面 GUI GUI 有官方的 R Studio,不过界面我不是 ...

  5. docker高级篇-docker-compose容器编排介绍及实战

    Docker-compose是什么?能干嘛?解决了哪些痛点? 是什么? Docker-compose是Docker官方推出 的一个工具软件,可以管理多个Docker容器组成的一个应用.你需要编写一个一 ...

  6. python 读取mysqlDB中指定的表名的DDL语句

    注意: 1. 此python文件不要起名为mysql,会跟import的包名重复,python mysql.py运行报错 2.如果需要带端口号,请加database后加上, port="33 ...

  7. Blender - 动画demo体后感

    Blender 一个非常不错的免费的3D.2D软件 超级不错 我初步的按照网上的动画教程,做了一个很简单的 不断跳动的独眼球 为什么独眼?一开始我是画了两个眼睛,结果最后总是出了点问题,没有办法cop ...

  8. 【YashanDB知识库】oracle dblink varchar类型查询报错记录

    问题单:Oracle DBLINK查询崖山DB报错 oracle服务器上ODBC安装 unixodbc安装:yum -y install unixODBC mysql 配置安装对应版本的odbc: m ...

  9. hashmap组成原理及调用时机

    整个HashMap中最重要的点有四个:初始化,数据寻址-hash方法,数据存储-put方法,扩容-resize方法,只要理解了这四个点的原理和调用时机,也就理解了整个HashMap的设计. 如果有疑惑 ...

  10. DOM & BOM – 用 Canvas 修图

    前言 以前有写过一篇关于 canvas 处理图片的文章. 非常乱, 这篇做一个整理. 参考 Stack Overflow – HTML5 Canvas Rotate Image Stack Overf ...