A

枚举 \(1\sim n\) 的每个数,判断是否有 \(i-M\equiv 0\pmod P\) 即可。

赛时代码

B

暴力覆盖即可,注意 \(x,y\) 均是左开右闭。

赛时代码

C

贪心的想,如果要替换 \(i\) 项,那必然是替换最大的 \(i\) 项,因此只需要对 \(f\) 排序,预处理后缀和后再扫一遍取替换前 \(i\) 项的最小值即可。

赛时代码

D

状压 DP,设 \(f_s\) 表示选择若干边的最大价值,使得 \(s\) 状态中的所有点都被选择,那么可以得到转移方程:

\[f_s=\max_{1\le i< j\le n,i\in s,j\in s}(f_{s-\{i\}-\{j\}}+w_{i,j})
\]

赛时代码

E

对于不同的值分别考虑,设当前考虑的值为 \(i\),我们考虑一对在序列中相邻的值,其下标分别为 \(l,r\),那么它对 \(i\) 产生的贡献为:

\[(r-l-1)\times \text{lnum}\times \text{rnum}
\]

其中,\(\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 题解的更多相关文章

  1. 洛谷P3104 Counting Friends G 题解

    题目 [USACO14MAR]Counting Friends G 题解 这道题我们可以将 \((n+1)\) 个边依次去掉,然后分别判断去掉后是否能满足.注意到一点, \(n\) 个奶牛的朋友之和必 ...

  2. 洛谷P2115 Sabotage G 题解

    题目 [USACO14MAR]Sabotage G 题解 本蒟蒻又来了,这道题可以用二分答案来解决.我们可以设答案最小平均产奶量为 \(x \ (x \in[1,10000])\) .然后二分搜索 \ ...

  3. 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 ...

  4. Hdoj 2454.Degree Sequence of Graph G 题解

    Problem Description Wang Haiyang is a strong and optimistic Chinese youngster. Although born and bro ...

  5. P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G 题解

    原题链接 POJ的链接 简要题意: 给定一张图,求多少个点,每个点都能到达它. 本题作为强连通分量的入门题. 何为强连通分量?有什么用? 下面一一解释. 首先,我们要确认,这道题目如果不用强连通分量而 ...

  6. USACO07NOV Cow Relays G 题解

    题目 For their physical fitness program, \(N (2 ≤ N ≤ 1,000,000)\) cows have decided to run a relay ra ...

  7. Codeforces Round #677 (Div. 3) E、G题解

    E. Two Round Dances #圆排列 题目链接 题意 \(n\)(保证偶数)个人,要表演一个节目,这个节目包含两种圆形舞蹈,而每种圆形舞蹈恰好需要\(n/2\)个人,每个人只能跳一种圆形舞 ...

  8. 2018年第九届蓝桥杯【C++省赛B组】B、C、D、F、G 题解

    B. 明码 #STL 题意 把每个字节转为2进制表示,1表示墨迹,0表示底色.每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节 给定一段由 ...

  9. [NOI2009] 诗人小G [题解]

    诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版. 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对 ...

  10. FJUT寒假作业第二周G题解快速幂

    题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6     题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...

随机推荐

  1. UnrecognizedPropertyException: Unrecognized field 解决

    转载请注明出处: 在项目得不同环境上对接外部的服务接口,且存在不同版本间可能有字段不同得问题,遇到这种问题在使用jackson解析时,如果格式化得字符串与定义得java类不能完全对应时,就会报错:Un ...

  2. selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

    1.异常原因 在编写ui自动化时,执行报错元素无法点击:ElementClickInterceptedException 具体报错:selenium.common.exceptions.Element ...

  3. 4.4 x64dbg 绕过反调试保护机制

    在Windows平台下,应用程序为了保护自己不被调试器调试会通过各种方法限制进程调试自身,通常此类反调试技术会限制我们对其进行软件逆向与漏洞分析,下面是一些常见的反调试保护方法: IsDebugger ...

  4. 《Among Us》火爆全球,实时语音助力派对游戏开启第二春

    今年在全球"宅经济"的影响下,社交派对类游戏意外的迎来了爆发. 8月份,<糖豆人:终极淘汰赛>突然爆火,创造了首日150万玩家.首周Steam 200万销量.单周Twi ...

  5. nf_conntrack: table full, dropping packet

    参考:linux 路由跟踪表满错误 nf_conntrack: table full, dropping packet 原理解决方法 说明 ping,dmesg 或者 /var/log/message ...

  6. Linux 命令:btrfs filesystem resize

    btrfs filesystem resize 2:300G /path ## 为创建了btrfs文件系统,已经挂载到/path 且device ID为2的硬盘/分区进行resize # 已经做过硬盘 ...

  7. python连接 Basler pylon相机遇到的问题

    今天使用下图程序去连接相机 以下是摄像头IP参数 电脑IP参数 在确认电脑能够ping通相机的情况下 以及检查专用软件能否访问之后 依然遇到了以下错误 经过了多番调试之后发现即使能够ping通,子网掩 ...

  8. mysql创建可以让Django链接的用户名

    输入以下命令: 1 grant all privileges on 库名.* to 账户名@'%' identified by 'password'; 2 flush privileges;

  9. protoc-gen-doc 自定义模板规则详解

    protoc-gen-doc 自定义模板规则详解 配套演示工程 此项目中所用 proto 文件位于 ./proto 目录下,来源于 官方proto示例 此项目中所列所有模板case文件位于 ./tmp ...

  10. 四 APPIUM GUI讲解(Windows版)(转)

    Windows版本的APPIUM GUI有以下图标或者按钮: ·Android Settings  - Android设置按钮,所有和安卓设置的参数都在这个里面 ·General Settings – ...