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取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...
随机推荐
- 行行AI人才直播第4期: 跟随占冰强老师走近《如何定制企业专属AI大模型?》
行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. 每个企业定制专属AI大模型的目的都不同,比如某企业希望通过AI技术提升其客户服务和销售效果.该企业面临着庞大的商品数据.用户评 ...
- ChatGPT「代码解释器」正式开放,图片转视频仅需30秒!十大令人震惊的魔法揭秘
经过超过三个月的等待,ChatGPT「代码解释器」终于全面开放.这是一大波神奇魔法的高潮. OpenAI的科学家Karpathy对这个强大的代码解释器测试版赞不绝口.他把它比作你的个人数据分析师,可以 ...
- 5.2 基于ROP漏洞挖掘与利用
通常情况下栈溢出可能造成的后果有两种,一类是本地提权另一类则是远程执行任意命令,通常C/C++并没有提供智能化检查用户输入是否合法的功能,同时程序编写人员在编写代码时也很难始终检查栈是否会发生溢出,这 ...
- MyBatis实现动态SQL更新
博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活 ),跟我说有几个业务列表查询需要加上时间条件过滤数据,这个条件可能会变,不保证以后不修改,这个改动涉及到多个列表查询,于是博主 ...
- Excel 进度图表制作
Excel 改变图标的形状 最终效果 过程有点杂乱,不再重新整理,基本照着下面的设就完事了. 未完成的想用柱型,和已完成的相结合 右击,更改表类型 选择簇状柱形图.次标轴 注意主.次坐标 进度改为折线 ...
- Python安装time库失败?不是吧阿sir你还不知道内置模块不用下载吧
嗨嗨,今天给python安装time库,一直报错,换源等办法都试过了 直到我看到 Python中有以下常用模块不用单独安装 random模块 sys模块 time模块 os系统操作 re正则操作 js ...
- Java解析CSV文件并导出数据
Java解析CSV文件并导出筛选过得数据 pom.xml引入jar包 <!--csv--> <dependency> <groupId>com.opencsv< ...
- [爬虫]3.4.1 Scrapy框架的基本使用
Scrapy是一款强大的Python网络爬虫框架,它可以帮助你快速.简洁地编写爬虫程序,处理数据抓取.处理和存储等复杂问题. 1. 安装Scrapy 在开始使用Scrapy之前,你需要先将其安装在你的 ...
- KVM VM set net moel virtio and mulltiqueues
check $ qemu-kvm -net nic,model=help qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rt ...
- rman catalog 遇到的一个错误
[oracle@source admin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jun 22 09: ...