CF1913
先用桶记录各个位数量。
对于每次询问,从低位到高位扫,先用掉一个当前位的,然后把当前位的全部转化成 \(cnt/2\) 个更高位的。
有一个思路:其实删区间可以视作删相邻两个数。(然鹅这题不是按这个思路做的)
考虑整个序列最小值,它一定不会被删。
这个最小值把序列剖成两半。递归进入左右分别计算方案数。
有个问题:递归进入后,更短的序列的最小值也可能被边界外的更小值删掉。
但是我们发现,新的最小值要被删,一定是连着某半边全部删了。
和士兵占领类似。按行列建图。
每一行建一个点,每一列建一个点,行列之间连边容量 \([0,1]\),费用为:若对应格子原本是 \(1\),费用为 \(0\);否则费用为 \(1\)。
\(S\) 向行连容量 \([a_i,a_i]\) 费用 \(0\) 的边,列向 \(T\) 连容量 \([b_i,b_i]\) 费用 \(0\) 的边。
跑有源汇上下界最小费用最大流。
这里回顾一下:上下界网络流是出的多了 \(x\),就向新超汇点连容量为 \(x\) 的边!所有额外边费用都是 \(0\),不要忘了原本的 \(T\) 向 \(S\) 连 \(+\infty\) 边!
随机推荐
- C# 通过ServiceStack 操作Redis——Hash类型的使用及示例
接着上一篇,下面转到hash类型的代码使用 Hash:结构 key-key-value,通过索引快速定位到指定元素的,可直接修改某个字段 /// <summary> /// Hash:类似 ...
- Hive(3)-Hive数据类型
1. 基本数据类型 对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数 Hive数据类型 ...
- JavaScript合并多个数组
工作中经常会对数组进行合并,稍微总结一下常用的方法: concat JavaScript原生自带的函数,用法如下: let arr1 = [3, 5, 7]; let arr2 = [4, 78, 7 ...
- 【转】获取本地图片的URL
在写博客插入图片时,许多时候需要提供图片的url地址.作为菜鸡的我,自然是一脸懵逼.那么什么是所谓的url地址呢?又该如何获取图片的url地址呢? 首先来看一下度娘对url地址的解释:url是 ...
- JavaScript - input 上传图片 并展示 (食用简单)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- springboot封装统一返回
springboot返回统一的标准格式 定义注解 package com.yaoling.annotation; import java.lang.annotation.*; @Target({Ele ...
- [转帖]小米Redis的K8s容器化部署实践
https://juejin.cn/post/6844904196924276743 背景 Why K8S How K8s Why Proxy Proxy带来的问题 K8s带来的好处 遇到的问 ...
- [转帖]Linux下非oracle用户如何使用系统认证方式登陆数据
https://www.cnblogs.com/kerrycode/p/17772866.html Linux系统中,DBA一般使用oracle用户登陆/访问Linux操作系统,然后使用sqlplus ...
- [转帖]tidb Modify Configuration Dynamically
https://docs.pingcap.com/tidb/v6.5/dynamic-config This document describes how to dynamically modify ...
- [转帖]br 备份时排除某个库
https://tidb.net/book/tidb-monthly/2023/2023-02/usercase/excluded-a-storeroom-during-br-backup 生产环境中 ...