ABC 314
每次相当于创建一个包含 \(p_i,q_i\) 各自所在集合的点的大点 \(u\),然后 \(u\) 向 \(p_i,q_i\) 各自所在集合连边,边权就是胜率。
连完之后求每个点到根结点(\(\{1\sim n\}\))的路径边权和。
定义 \(L_i\) 为杀至少 \(i\) 个怪物至少需要多少护身符。如果求出 \(L_0\sim L_n\),可以二分求出问题的答案。
先固定 \(i\),看怎么求 \(L_i\)。我们不求 \(L_i\),求 \(m-L_i\),即杀至少 \(i\) 个怪物至多不选多少护身符。
设 \(c_j\) 为 \(1\sim i\) 中类型为 \(j\) 的怪物攻击力总和。如果不选 \(j\) 护身符,意味着承担 \(c_j\) 的伤害。可以贪心,优先抛弃 \(c\) 较小的护身符,直到抛弃的护身符 \(c\) 总和超过 \(H-1\)。此时的数量就是 \(m-L_i\)。
知道了怎么求一个 \(L_i\),看一下怎么求连续的 \(L\)。发现当 \(i\leftarrow i+1\),\(c\) 数组其实只有 \(c_{b_{(i+1)}}\) 增加了。
我们可以用两个平衡树维护当前已选护身符的集合 \(S\) 和未选集合 \(T\),每次有 \(c\) 增加了,只会使一个元素变动。
ABC 314的更多相关文章
- 【IOS】将一组包含中文的数据按照#ABC...Z✿分组
上一篇文章[IOS]模仿windowsphone列表索引控件YFMetroListBox里面 我们一步步的实现了WindowsPhone风格的索引. 但是有没有发现,如果你要实现按照字母排序,你还得自 ...
- 1Z0-053 争议题目解析314
1Z0-053 争议题目解析314 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 314.Given the following RMAN commands, choose the ...
- 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }
平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main( ...
- 学习Python的ABC模块(转)
http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助a ...
- 将abc的全排列输出
#include "iostream" using namespace std; void swap(char a[],int i,int j){ char temp; temp= ...
- 关于String str =new String("abc")和 String str = "abc"的比较
String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc&qu ...
- IE9 使用document.getElementsByName("abc") 不能获取到名称相同SPAN元素
<div name="abc"></div> <input name="abc" type="text" /& ...
- 经典String str = new String("abc")内存分配问题
出自:http://blog.csdn.net/ycwload/article/details/2650059 今天要找和存储管理相关的一些知识,网上搜了半天也没有找到完善的(30%的程度都不到),没 ...
- 再谈ABC
最近一直在看蒋老师那13篇<我的WCF之旅>,终于看完了,看得很慢,记得最初出来工作的时候那时的技术总监建议我去看的,可几个月前我才开始看,看了几个月才把13篇看完.第一篇WCF的博文是我 ...
- Redis学习笔记之ABC
Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...
随机推荐
- freeswitch如何判断挂机方
概述 freeswitch作为VOIP的软交换平台,需要对呼叫的信息做判断和归类. 常见的呼叫信息中,挂机方向的信息对于话单统计有很大的用处. 但是fs的原始话单和日志中并没有挂机方向的信息. 环境 ...
- sublime_text4 2023最新版 激活教程
官网 Sublime HQ - Remarkable Software 东西在教学的时候还是挺好用的,就是要付费购买,穷,没钱 买不起,自己动手丰衣足食. 下载安装包 我现在最新版是4.4152 下面 ...
- java项目实战-spring-基本用法01-day24
目录 1. spring 简单介绍 2. IOC/DI --控制反转--是啥 3. 实现 3. 如果 对象的 属性为引用数据类型 如何 实例化对象 4 如何用注解的方式 以少量的代码实现对象的创建于获 ...
- KVM 核心功能:CPU 虚拟化
1 vCPU 简介 CPU 负责计算机程序指令的执行.QEMU-KVM 提供对虚拟机 CPU 的模拟,对于虚拟机来说,其拥有的 CPU 是真实的, 和物理 CPU 没有区别. 实际上,虚拟机在 hos ...
- kafka 在 zookeeper 中保存的数据内容
转载请注明出处: 1. 服务器上下载 kafka : wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-3.2.0.tgz 2. ...
- Python追踪内存占用
技术背景 当我们需要对python代码所占用的内存进行管理时,首先就需要有一个工具可以对当前的内存占用情况进行一个追踪.虽然在Top界面或者一些异步的工具中也能够看到实时的内存变化,还有一些工具可以统 ...
- [springmvc] - 配置文件 springmvc-config.xml 和 web.xml
springmvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...
- 【面试题精讲】JavaOptional用法
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 文章更新计划 系列文章地址 Java 8 引入了 Option ...
- Oracledb_exporter 获取表大小信息的简单方法
Oracledb_exporter 获取表大小信息的简单方法 背景 用我儿子的现状作为背景: 我爱学习, 学习让我妈快乐. 下载exporter exporter 可以在github上面下载最新版本是 ...
- [转帖]等待事件 enq:TX - row lock contention分析与解决
6月30日,数据库发生了大量锁表.大概持续1小时,并且越锁越多.后来通过业务人员停掉程序,并kill掉会话后解决. 几天后再EM上查看CPU占用: CPU发生了明显等待. 主要是由于enq:TX - ...