ABC318 A-G 题解
A
枚举 \(1\sim n\) 的每个数,判断是否有 \(i-M\equiv 0\pmod P\) 即可。
B
暴力覆盖即可,注意 \(x,y\) 均是左开右闭。
C
贪心的想,如果要替换 \(i\) 项,那必然是替换最大的 \(i\) 项,因此只需要对 \(f\) 排序,预处理后缀和后再扫一遍取替换前 \(i\) 项的最小值即可。
D
状压 DP,设 \(f_s\) 表示选择若干边的最大价值,使得 \(s\) 状态中的所有点都被选择,那么可以得到转移方程:
\]
E
对于不同的值分别考虑,设当前考虑的值为 \(i\),我们考虑一对在序列中相邻的值,其下标分别为 \(l,r\),那么它对 \(i\) 产生的贡献为:
\]
其中,\(\text{lnum}\) 表示在 \(l\) 左侧的值为 \(i\) 的数的个数,\(\text{rnum}\) 表示在 \(r\) 右侧的数的个数。
再将所有贡献累加即可。
(注意边界)
F
我们考虑可行性发生变化的点,也就是说,我们需要找出所有满足 在这个点可行,在这个点左侧或右侧不可行 的所有点,容易发现,这样的点的数量是 \(O(n^2)\) 的,且一定等于 \(X_i\pm L_j\)。
所以我们可以将所有的 \(X_i\pm L_j\) 排序,如果两个相邻的点都可行,那么这两个点之间的区间都可行。
因此,我们只对所有这样的点进行一遍暴力 \(O(n\log n)\) 的 check,总时间复杂度为 \(O(n^3\log n)\)。
(还有一些 \(\pm 1\) 的边界问题需要注意)
G
考虑网络流,先将所有点拆成入点和出点,入点向出点连流量为 \(1\) 的边,对于原图中的边 \(e=(u,v)\),从 \(u\) 的出点向 \(v\) 的入点,\(v\) 的出点向 \(u\) 的入点连流量为 \(+\infty\) 的边。再从源点向 \(B\) 连流量为 \(2\) 的边,\(A,C\) 向汇点连流量为 \(1\) 的边,跑一遍 dinic,只需要判断最大流是否为 \(2\) 即可。(注意 \(B\) 的入点向出点连边权为 \(2\) 的边)
由于 dinic 一次增广最大流至少增加 \(1\),而最大流至多为 \(2\),故最多只需要增广两次,也就是只会进行 \(2\) 遍 bfs 和 dfs,因此时间复杂度是 \(O(n)\) 的。
(空间要开到 \(1.2\times 10^6\))
ABC318 A-G 题解的更多相关文章
- 洛谷P3104 Counting Friends G 题解
题目 [USACO14MAR]Counting Friends G 题解 这道题我们可以将 \((n+1)\) 个边依次去掉,然后分别判断去掉后是否能满足.注意到一点, \(n\) 个奶牛的朋友之和必 ...
- 洛谷P2115 Sabotage G 题解
题目 [USACO14MAR]Sabotage G 题解 本蒟蒻又来了,这道题可以用二分答案来解决.我们可以设答案最小平均产奶量为 \(x \ (x \in[1,10000])\) .然后二分搜索 \ ...
- P2882 Face The Right Way G 题解
题目 Farmer John has arranged his N \((1 ≤ N ≤ 5,000)\) cows in a row and many of them are facing forw ...
- Hdoj 2454.Degree Sequence of Graph G 题解
Problem Description Wang Haiyang is a strong and optimistic Chinese youngster. Although born and bro ...
- P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G 题解
原题链接 POJ的链接 简要题意: 给定一张图,求多少个点,每个点都能到达它. 本题作为强连通分量的入门题. 何为强连通分量?有什么用? 下面一一解释. 首先,我们要确认,这道题目如果不用强连通分量而 ...
- USACO07NOV Cow Relays G 题解
题目 For their physical fitness program, \(N (2 ≤ N ≤ 1,000,000)\) cows have decided to run a relay ra ...
- Codeforces Round #677 (Div. 3) E、G题解
E. Two Round Dances #圆排列 题目链接 题意 \(n\)(保证偶数)个人,要表演一个节目,这个节目包含两种圆形舞蹈,而每种圆形舞蹈恰好需要\(n/2\)个人,每个人只能跳一种圆形舞 ...
- 2018年第九届蓝桥杯【C++省赛B组】B、C、D、F、G 题解
B. 明码 #STL 题意 把每个字节转为2进制表示,1表示墨迹,0表示底色.每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节 给定一段由 ...
- [NOI2009] 诗人小G [题解]
诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版. 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对 ...
- FJUT寒假作业第二周G题解快速幂
题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6 题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...
随机推荐
- matlab转C++——C++中的矩阵运算和矩阵型函数
最近接到一个委托,把matlab代码转译为c++语言,看看能不能提高运行效率. matlab虽然本身具有将程序转化为C++的app库,但是对代码格式有严格的要求: 变量使用之前需要对变量类型和空间大小 ...
- Ubuntu虚拟机教程
1.下载ubuntu镜像 可以去中科大镜像站下载(本次下载20.04版本,不同版本操作会有差异,建议保持一致) https://mirrors.ustc.edu.cn/ 点击如图所示的按钮下载 2.v ...
- Android BottomNavigation底部导航栏使用
原文地址: Android BottomNavigation底部导航栏使用 - Stars-One的杂货小窝 基本使用 本文侧重点记录一些特殊的样式设置,所以基本使用这里就简单概述一下,详细图文可以去 ...
- 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【三】
682. 棒球比赛 题目链接 682. 棒球比赛 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你 ...
- Django容易被遗忘却无比重要的框架默认文件介绍及使用方法
在Python Web开发领域,Django框架的地位犹如璀璨的明星,其全面.高效和安全的特性使其在全球范围内广受欢迎.本文将全面解析Django框架的默认文件,并深入探讨每个文件及其组成的意义和用途 ...
- dash构建多页应用
dash 构建多页面应用一种方案 本方案对dash官网多页面案例使用dash_bootstrap_components案例进行优化与测试,效果如下 项目代码结构如下 │ app.py │ ├─asse ...
- PHP递归和循环的速度测试
本文于 2017-12-05 重新整理. 写了一个可以对 $_GET, $_POST 等输入进行过滤的函数,递归实现如下: function array_map_recursive($filters, ...
- Avalonia中用FluentAvalonia+DialogHost.Avalonia实现界面弹窗和对话框
Avalonia中用FluentAvalonia+DialogHost.Avalonia实现界面弹窗和对话框 本文是项目中关于 弹窗界面 设计的技术分享,通过 FluentAvalonia+Dialo ...
- Anaconda 使用时,conda activate 失败
今天使用一台电脑上新安装的 anaconda 时,运行 conda activate, 出现如下报错: 错误提示中,说要把 . C:\ProgramData\Anaconda3\etc\profile ...
- 使用logrotate定期切割nginx日志
前言 默认情况下,nginx的日志都会写到access.log文件中,访问流量大的话,日志文件很快就会膨胀到几十G,不方便分析处理,也占用硬盘空间.借助linux自带的logrotate工具可以很方便 ...