AGC025简要题解

AGC025简要题解

B RGB Coloring

一道简单题,枚举即可。

C Interval Game

考虑可以进行的操作只有两种,即左拉和右拉,连续进行两次相同的操作是没有用的。

左拉时肯定会选择右端点尽量小的,右拉选择左端点尽量大的,所以排序之后贪心即可。

D Choosing Points

首先证明对于所有\(d\),假设让两个不能同时选的点之间连一条边,那么结果是一张二分图。

\(d\)是奇数可以黑白染色,\(d\)是偶数的时候,显然连边的两点在同一个颜色内。那么我们可以只考虑这个颜色,获得一个新的网格图,这个网格图的边长较大,这时可以让\(d\)相应缩小,最终\(d\)会变成奇数。

考虑构造出两张二分图,然后就可以把点分为4种,即在两张图内分别属于哪一边。点数总共\(4n^2\),所以至少一种满足答案。

E Walking on a Tree

首先考虑每条边有多少条路径经过它,这样可以得到一个答案上界是\(\sum{min(2,ti)}\)。实际上这个上界一定能被构造出来。

这种题有一种很经典的想法,就是删去叶子,使得图的规模变小,那么我们就每次考虑一个叶子节点\(x\)和它唯一的出边\(E\)。假设\(E\)的经过次数小于2,那么无论怎么定向都没有问题,否则任意选择两条路径\(x-y\),\(x-z\),假设这两条路径都经过了\(x-a\),那么我们可以令这两条路径方向相反,使得\(x-a\)一定被双向经过,这两条路径就变成了\(y-z\)的路径。这样重复\(n-1\)次就能找到最优解了,复杂度O(nm)。

F Addition and Andition

从低位开始一位位考虑吧,对于每一位,求出它进行了哪些加法操作和每次操作的时间,不难求出最后的状态。

复杂度显然不对,考虑优化。定义势能函数等于两倍的\(01\)或者\(10\)加法操作的数量加上三倍的\(11\)加法操作的数量,考虑加法时可能遇见的情况。

假设加上\(01\)或者\(10\),那么暴力做一定没问题,因为这样相当于用两次这种操作换来一次进位的加法,势能函数至少减去1。

假设加上\(11\),那么有两种情况。如果之前是\(01\)或者\(10\),那么相当于\(11\)变成\(01\)或者\(10\),势能函数减少。假设是\(00\),那么这么做不改变势能函数,所以考虑把连续的一段\(11\)用链表接起来缩成一段,这样就可以\(O(1)\)处理一整段,显然段数和\(01\)与\(10\)的总量是同一个级别的。

这样暴力的做法通过简单的缩段就变成\(O(n)\)的了。

(我从来没学过势能函数,只知道有这个东西,如果是我乱用了,呃…你理解就好了)

原文地址:https://www.cnblogs.com/FallDream/p/agc025.html

时间: 2024-11-14 16:09:31

AGC025简要题解的相关文章

月考简要题解

模拟赛简要题解 一下题目均可在loj上找到 10178. 「一本通 5.5 例 4」旅行问题 简单题,将n扩大到2 * n,单调队列即可,注意正反向. #include<iostream> #include<cstring> #include<cmath> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int N=2000

JXOI2018简要题解

JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法描述大致如下: 假设我们要对一个大小为 \(n\) 的数列 \(a\) 排序. 等概率随机生成一个大小为 \(n\) 的排列 \(p\) . 构造一个大小为 \(n\) 的数列 \(b\) 满足 \(b_i=a_{p_i}\) ,检查 \(b\) 是否有序,如果 \(b\) 已经有序了就结束算法,并

BJOI2018简要题解

BJOI2018简要题解 D1T1 二进制 题意 pupil 发现对于一个十进制数,无论怎么将其的数字重新排列,均不影响其是不是 \(3\) 的倍数.他想研究对于二进制,是否也有类似的性质. 于是他生成了一个长为 \(n\) 的二进制串,希望你对于这个二进制串的一个子区间,能求出其有多少位置不同的连续子串,满足在重新排列后(可包含前导 \(0\))是一个 \(3\) 的倍数.两个位置不同的子区间指开始位置不同或结束位置不同. 由于他想尝试尽量多的情况,他有时会修改串中的一个位置,并且会进行多次询

杂题记录及简要题解(三)

以下是大概 5 月初开始做的一些题.以前的简要题解都是骗人的.这次真的是简要题解了(大雾 相对之前改良了一下题目名称的格式. 2017 计蒜之道 初赛 - 腾讯狼人杀 二分答案 \(x\) 后原问题变为检验是否存在选取方案 \((V, E)(|V| = k)\) 使得 \(\sum_\limits{e \in E} w_e - xk \cdot (2n- k)\).式子可以写成 \(\sum_\limits{e \in E} w_e + \frac{k(k - 1)}{2} \cdot 2x -

【简要题解】Hihocoder 重复旋律1-8简要题解

[简要题解]Hihocoder 重复旋律1-8简要题解 编号 名称标签 难度 1403 后缀数组一·重复旋律 Lv.4 1407 后缀数组二·重复旋律2 Lv.4 1415 后缀数组三·重复旋律3 Lv.4 1419 后缀数组四·重复旋律4 Lv.4 1445 后缀自动机二·重复旋律5 Lv.4 1449 后缀自动机三·重复旋律6 Lv.4 1457 后缀自动机四·重复旋律7 Lv.1 1465 后缀自动机五·重复旋律8 Lv.1 1466 后缀自动机六·重复旋律9 Lv.1 后缀数组 思路简单

《信奥一本通》提高版—简要题解

<信奥一本通>提高版-简要题解 贪心 活动安排: 按右端点排序,因为越早结束越好. 然后从1扫到n,每次比较当前位置线段的左端点是否大于上一个选的线段的右端点.如果大于,那么ans++,将上一个选的线段的右端点更新为当前线段的右端点:如果小于,那什么都不用做.因为选上一条一定比选当前这一条更优(结束时间更早). 种树 按右端点排序,对于每个区间的需求,从右端往左端扫,只要没种到树的就种,ans++. 因为要使前面的需求尽量与后面的需求重叠,从而使树的数量最少 喷水装置 观察+画图发现对于一个圆

【题解】CF616(Div 2)简要题解

[题解]CF616(Div 2)简要题解 A 分类讨论 若数码和是奇数 若最后一个数是奇数:找到从前往后第一个奇数数位删掉 若最后一个数是偶数:不断删除最后一个数直到这个剩下的数是奇数,由于之前删掉的数都是偶数所以对数码和\(\mod 2\)不会有影响.再做一遍第一个算法即可. 若数码和是偶数 若最后一个数是奇数:符合条件 若最后一个数是偶数:不断删除最后一个数直到奇数.由于之前删掉的数都是偶数所以对数码和\(\mod 2\)不会有影响,直接输出即可. 最后要判断一下前导零. B 可以发现若有合

Codeforces Round #483 (Div. 1) 简要题解

来自FallDream的博客,未经允许,请勿转载,谢谢. 为了证明一下我又来更新了,写一篇简要的题解吧. 这场比赛好像有点神奇,E题莫名是道原题,导致有很多选手直接过掉了(Claris 表演24s过题).然而D题比E题要难一些,分还少. A. Finite or not? 先把\(\frac{p}{q}\)约成最简分数,然后就是要判断是否\(q\)的所有质因数都是\(b\)的质因数. 每次取\(g=gcd(b,q)\),并尽可能的让\(q\)除\(g\),最后判断\(q\)是否是1即可. 还有一

弱省胡策系列简要题解

现在不是非常爽,感觉智商掉没了,就整理一下最近弱省胡策的题目吧. 其实题目质量还是很高的. 如果实在看不懂官方题解,说不定这里bb的能给您一些帮助呢? [弱省胡策]Round #0 A 20%数据,O(n4)傻逼dp. 40%数据,O(n3)傻逼dp. 100%数据,令f(x1,y1,x2,y2)表示从(x1,y1)走到(x2,y2)的路径条数.于是所有路径就是f(1,2,n?1,m)×f(2,1,n,m?1).然而两条路径可能在中间的某个点相交,我们找出最早的交点,并在这个交点互换两条路径的后