2023.8.26 LGJ Round
A (CF388C)
有 \(n\) 个序列,每个序列长度 \(m_i\),每个序列的每个数有权值 \(c{i,j}\)。\(\sum m_i\le n\le 10^5\).
A 和 B 轮流行动,A 只能选择一个序列获得其开头数的权值并删去, B 只能选择一个序列获得其末尾数的权值并删去。
问 A,B 分别最多获得多少权值。
若所有序列长度为偶数,可以证明,A 和 B 一定是各自取一半。
举个例子:若出现这样:
AAAB
ABBB
那么只有 \(c_{1,3}>c_{2,2}\),A 才会这么做。
但是对于 B,B 始终比 A 先取到 \(c_{1,3}\),所以上面是不对的。
若有长度为奇数怎么办呢?
A 和 B 还是各自取一半。剩下的中间那个数若 A 先手就先取到了,但 B 可以取下一个。
把中间的权值从大到小排序,奇数位置的 A 选择,偶数位置的 B 选择。
B
一张图 \(n,m\le 2e5\),定义一条路径的“能量”是经过每条边的权值最大值。
每次询问给定 \(q\) 个点,询问两两之间路径“能量”的最大值。 \(\sum q\le 2e5\)
模仿 NOIP2013 货车运输,先建一个最小生成树(那题是最大)。
然后两点之间所有路径的最小能量就是树上的路径的能量。
对于询问 \(q\) 个点,可以建虚树,再 Dp.
C (CF1609E)
一个字符串 \((n\le 1e5)\),只包含 'a','b','c' 三种字符
\(q\) 次修改一个位置的字符,修改完询问“最小修改多少个字符使得不存在 "abc" 的子序列”。
考虑静态怎么做:
设 \(f_{i,j}\) 表示第 \(i\) 位,当前匹配到 "abc" 的第 \(j\) 位,最少修改几个字符。
\(f_{i,0}=f_{i-1,0}+[s_i='a']\).
\(f_{i,1}=\min(f_{i-1,0}+[s_i\not='a'],f_{i-1,1}+[s_i='b']\).
\(f_{i,2}=\min(f_{i-1,1}+[s_i\not='b'],f_{i-1,2}+[s_i='c']\).
原文地址:https://www.cnblogs.com/Simon-Gao/p/17658523.html
- Hadoop数据分析平台实战——100HBase和MapReduce整合离线数据分析平台实战——100HBase和MapReduce整合
- Hadoop数据分析平台实战——120Hive Shell命令介绍 01(熟悉Hive略过)离线数据分析平台实战——120Hive Shell命令介绍 01(熟悉Hive略过)
- HUST 1588 辗转数对
- HUST 1584 摆放餐桌
- HUST 1585 排队
- 【QQ/微信个人号变身机器人】炸群+远程监控个人PC的尝试
- HUST 1583 长度单位
- FZU 2167 大王叫我来巡山呐
- HDU 1021 Fibonacci Again
- Hadoop数据分析平台实战——180Oozie工作流使用介绍离线数据分析平台实战——180Oozie工作流使用介绍
- 博弈论及算法实现
- Hadoop数据分析平台实战——160Sqoop介绍离线数据分析平台实战——160Sqoop介绍
- HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
- Hadoop数据分析平台实战——150Flume介绍离线数据分析平台实战——150Flume介绍
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tomcat 架构原理解析到架构设计借鉴
- C++核心准则T.65:使用标签分发提供函数的不同实现
- Java开发中Websocket的技术选型参考
- Java 15正式发布,腾讯做出了突出贡献
- Mybatis是如何向Spring注册Mapper的
- 打卡群刷题总结0917——买卖股票的最佳时机
- Fiddler对安卓App抓包(逍遥模拟器APP)
- 为何Android 7.0 以上Charles和Fiddler无法抓取HTTPS包?
- 快速上手百度大脑EasyDL专业版·物体检测模型(附代码)
- 极端情况下收缩 Go 进程的线程数
- C++核心准则T.60:最小化模板对上下文的依赖
- C++核心准则T.61:不要过度参数化成员(SCARY)
- C++核心准则T.62:将非依赖类模板成员放入非模板基类中
- C++核心准则T.64:使用特化提供类模板的不同实现
- C++核心准则T.68:在模板中使用{}代替()以避免歧义