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)\)的了。
(我从来没学过势能函数,只知道有这个东西,如果是我乱用了,呃…你理解就好了)
AGC025简要题解的更多相关文章
- Noip 2014酱油记+简要题解
好吧,day2T1把d默认为1也是醉了,现在只能期待数据弱然后怒卡一等线吧QAQ Day0 第一次下午出发啊真是不错,才2小时左右就到了233,在车上把sao和fate补掉就到了= = 然后到宾馆之后 ...
- Tsinghua 2018 DSA PA2简要题解
反正没时间写,先把简要题解(嘴巴A题)都给他写了记录一下. upd:任务倒是完成了,我也自闭了. CST2018 2-1 Meteorites: 乘法版的石子合并,堆 + 高精度. 写起来有点烦貌似. ...
- Codeforces 863 简要题解
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 简要题解?因为最后一题太毒不想写了所以其实是部分题解... A题 传送门 题意简述:给你一个数,问你能不能通过加前导000使其成为一个回文数 ...
- HNOI2018简要题解
HNOI2018简要题解 D1T1 寻宝游戏 题意 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为 ...
- JXOI2018简要题解
JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法 ...
- BJOI2018简要题解
BJOI2018简要题解 D1T1 二进制 题意 pupil 发现对于一个十进制数,无论怎么将其的数字重新排列,均不影响其是不是 \(3\) 的倍数.他想研究对于二进制,是否也有类似的性质. 于是他生 ...
- CQOI2018简要题解
CQOI2018简要题解 D1T1 破解 D-H 协议 题意 Diffie-Hellman 密钥交换协议是一种简单有效的密钥交换方法.它可以让通讯双方在没有事先约定密钥(密码)的情况下,通过不安全的信 ...
- AtCoder ExaWizards 2019 简要题解
AtCoder ExaWizards 2019 简要题解 Tags:题解 link:https://atcoder.jp/contests/exawizards2019 很水的一场ARC啊,随随便便就 ...
- Comet OJ - Contest #2 简要题解
Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{( ...
随机推荐
- Directory类的使用、Alt+Shift+F10可以查看其命名空间
对于一个对象,按下Alt+Shift+F10可以查看其命名空间. Directory类的使用 using System; using System.Collections.Generic; using ...
- Sitemesh小记
一.前言 因参与公司框架改造,接触到了Sitemesh这个用于网页布局和修饰的框架,因之前没有接触过(汗颜),但是发现其小巧好用,便以此文记之~ 二.正文 Sitemesh有什么作用呢?我相信很多人在 ...
- git & configs
git & configs https://alvinalexander.com/git/git-show-change-username-email-address https://stac ...
- pascal语言中学版整理
P1:主菜单File中的Command shell选项,可以暂时退出Pascal,进入DOS提示符状态,但Pascal仍然驻留在内存中.输入命令exit即可返回Pascal. P3:Edit菜单中Un ...
- 求熵 python 代码
#coding=gbk import nltk import math def entropy(labels): freqdist = nltk.FreqDist(labels) #Frequency ...
- hadoop 使用map合并小文件到SequenceFile
上一例是直接用SequenceFile的createWriter来实现,本例采用mapreduce的方式. 1.把小文件整体读入需要自定义InputFormat格式,自定义InputFormat格式需 ...
- WC2018集训 吉老师的军训练
WC2018集训 吉老师的军训练 #include<bits/stdc++.h> #define RG register #define IL inline #define _ 20000 ...
- 对于iOS性能优化的一点看法
在我们通常的开发工作中,每次需求定下来的时候,开发时间都是很紧张的,于是我们就抓紧时间开发,完成需求.在匆忙开发的过程中,或多或少的会有一些性能问题存在,在开发任务完成以后,我们都要进行性能优化.现将 ...
- HDU4022 Bombing STL
Bombing Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) Total Su ...
- Java并发编程学习笔记
Java编程思想,并发编程学习笔记. 一.基本的线程机制 1.定义任务:Runnable接口 线程可以驱动任务,因此需要一种描述任务的方式,这可以由Runnable接口来提供.要想定义任务,只需实现R ...