首页 > 其他分享 >Pjudge #21751. 【PR #8】养鸡

Pjudge #21751. 【PR #8】养鸡

时间:2024-10-15 22:00:27浏览次数:8  
标签:PR 右边 线段 Pjudge 21751 流量 端点 区间 钦定

题面传送门

显然是一个类似流的问题。

考虑一个 \(O(n\log n)\) 求单个 \(i\) 的过程:从右到左扫,对于每个 \(i\) 分配左端点最大的区间的流量。

考虑直接维护这个过程,对于每个 \(i\),分成 \([i,n]\) 和 \([1,i)\) 两部分,如果我们对于 \([i,n]\) 贪心完成了分配,那么 \([1,i)\) 的流量只需要 Hall 定理即可计算。

让 \(i\) 从右到左扫描线,发现如果一个流量被扔到了右边,则其会一直留在右边直至过期,则可以用一个线段树通过 Hall 定理维护已经钦定流到右边的流,另一个线段树维护还没有钦定流到右边的流。

删除和加入区间都容易在第一个线段树上表示出来,然后我们需要处理将一些还没有钦定流到右边的流流到右边的过程。

这个过程分成三步:

  • 找到最左边的 \(x\) 满足可以在这个 \(x\) 新增一个流量。
  • 找到右端点在 \([x,n]\) 区间内,左端点最大且还有流量没有流到右边的区间 \([l_i,r_i],c_i\)。
  • 计算能将这个区间分配到右边多少,在两棵线段树以及维护左边的线段树上更新。

可以证明这个操作过程总和不会超过 \(O(n)\) 次,每次一定是会导致如下三种情况之一:

  • 在新增完流量之后没有位置可以新增流量了
  • \(i\) 已经全部流到右边
  • \(r_i\) 原来不是全部属于 \(i\),现在是了。

这三种情况都是 \(O(n)\) 的,总复杂度 \(O(n\log n)\)。

submission

标签:PR,右边,线段,Pjudge,21751,流量,端点,区间,钦定
From: https://www.cnblogs.com/275307894a/p/18468601

相关文章

  • Subsequence and Prefix Sum
    SubsequenceandPrefixSum\(n\)才\(100\),\(a_i\)才\(20\),显然DP。设\(f_{i,j}\)表示第\(i\)个数,前\(i\)个数前缀和为\(j\)的方案数。显然,\(f_{0,0}=1\)。留意到如果\(j=0\),那么加入和不加入第\(i\)个数,最终的答案序列是一样的,因此此时加入第\(i\)个数对答......
  • Natasha, Sasha and the Prefix Sums
    Natasha,SashaandthePrefixSums设\(g(x)\)表示\(f(a)=x\)的个数,那么\(ans=\sum_{x=\max(0,n-m)}^{n}xg_x\)。恰好不好求,我们求\(h(x)\)表示\(f(a)\lex\)的个数,\(g(x)=h(x)-h(x-1)\)。1表示向上走,-1表示向下走,\(h_i\)就是求从\((0,0)\)走到\((n+m,n-m)\)......
  • 详细解释mAP@10,mAR@10,Prec@10
    系列文章目录文章目录系列文章目录1.精确度(Precision,Prec@N)2.平均精确度(MeanAveragePrecision,mAP@N)3.平均召回率(MeanAverageRecall,mAR@N)总结在信息检索和推荐系统中,mAP@10、mAR@10和Prec@10是常用的评价指标,它们用于衡量检索结果的质量。以下是对这......
  • Project Euler 638 题解
    q-analog,老玩家集体起立!这也就是说:\[\binom{n+m}{n}_q=\sum_{\pi\inL_{n,m}}q^{area(\pi)}\]结束!#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintmod=1e9+7,maxn=2e7+5;intqp(inta,intb,intp=mod){ intres=1; while(b){ i......
  • Project Euler 457 题解
    初等数论小题目求\[n^2-3n-1\equiv0\pmod{p^2}\]配方,得到:\[(2n-3)^2\equiv13\pmod{p^2}\]根据亨泽尔引理,只需得到\((2n-3)^2\equiv13\pmod{p}\)的解即可提升到\(p^2\)。这是二次剩余,直接解。单次求解\(O(\logn)\),时间复杂度\(O(n)\)。#include<bits/stdc++.h......
  • 基于SpringBoot的班级综合测评管理系统
    作者:计算机学长阿伟开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。系统展示【2024最新】基于Java+SpringBoot+Vue+MySQL的班级综合测评管理系统,前后端分离。开发语言:Java数据库:MySQL技术:SpringBoot、Vue、MybaitsPlus、ELementUI工具:IDEA/Ecilpse、N......
  • 基于SpringBoot+Vue大学生体质测试管理系统
    作者:计算机学长阿伟开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。系统展示【2024最新】基于Java+SpringBoot+Vue+MySQL的大学生体质测试管理系统,前后端分离。开发语言:Java数据库:MySQL技术:SpringBoot、Vue、MybaitsPlus、ELementUI工具:IDEA/Ecilpse......
  • 基于prim算法求出网络最小生成树实现网络社团划分和规划
    1.程序功能描述路线制定1,将算法得到的各社团的需充电节点数量排序,将其视为节点权值2,利用prim算法求出最小生成树,即完成了整个网络规划。2.测试软件版本以及运行结果展示MATLAB2022a版本运行Tttttttttt123453.核心程序%节点权值W=[];Xz=[];Yz=[];Ridx=0;for......
  • 【JavaWeb】Spring Boot中@Import多种使用方式
    @Import是一个非常有用的注解,它的长处在于你可以通过配置来控制是否注入该Bean,也可以通过条件来控制注入哪些Bean到Spring容器中。比如我们熟悉的:@EnableAsync 、@EnableCaching、@EnableScheduling等等统一采用的都是借助@Import注解来实现的。  需要注意的是:ImportSele......
  • 51单片机的家庭防盗报警系统【proteus仿真+程序+报告+原理图+演示视频】
    1、主要功能 该系统由AT89C51/STC89C52单片机+LCD1602显示模块+超声波模块+按键、LED、蜂鸣器等模块构成。适用于多功能防盗报警系统等相似项目。可实现功能:1、LCD1602实时显示安全信息2、人体红外传感器(按键模拟)检测是否有人接近3、超声波传感器检测人体接近距离4、......