ACC026简要题解
这场AGC是时间正好在NOI之前休养生息的日子里,果断选择了放弃(虽然也从没有用大号打过)。在随便做完了前几题之后就踏上了去长沙的旅程。NOI系列比赛总是休闲无比,咕咕不断,竟然连开幕式都能咕,今天AK了一下笔试之后就来刚后两题,没想到居然刚出来了。看来自己状态还不错,可能是一个好兆头吧。希望明、大后两天可以稳定发挥。
B
一道挺简单的题。
假设\(A<B\)或者\(D<B\)那么显然是无解的,否则先让\(A\)尽可能减去\(B\),然后每天晚上过后剩余的数量就相当于与\(A-TB\)膜\(D\)同余的最小的大于\(C\)的数。求gcd即可找到最小的那天。
C
一道暴力题。
枚举左边的颜色,那么两个串都长成什么样可以确定,做一个\(O(n^{2})\)的暴力dp即可。
总复杂度是\(O(2^{n}*n^{2})\)
D
一道数据范围有点小小的题。
有点难解释,我组织一下语言。。。
考虑最终染色的方案。假设有两个同一列且相邻的格子颜色相同,那么它们旁边同行的每队格子颜色显然也相同。这还会波及到其他格子,假设确定了这一列,那么其他能影响到的格子也都会被确定。
用f[i][j]表示考虑了前\(i\)列,行数最小的这种情况发生在\(j\)的方案数。
假设新加入的一列高度没有\(j\),那么显然影响不到当前列,枚举这一列有没有出现情况,出现在哪里即可。
假设影响到当前列,那么这一列\(min(h_{i},h_{i-1})\)的部分都会被确定,这一列高出的部分就随意涂了。
第二维离散一下一起转移,枚举出现情况的位置时用一个等比数列求和。
复杂度\(O(n^{2})\)
E
一道实际上没有那么难的题。
f[i]表示只管\(i\)到\(n*2\)中的所有\(ab\)都出现的字符对,能够造出的字典序最大的字符串。
分几种情况考虑。
假设\(s[i]\)配对的字符不在状态里,那么\(f[i]=f[i+1]\)。
假设\(s[i]=a\),那么判断一下后面是否有\(b\)在\(a\)之前的情况,如果有的话那么这个\(a\)不会在答案内,否则在这个\(a\)与和它配对的\(b\)之间一定没有其他字符,\(f[i]='ab'+f[posb(i)+1]\)。
假设\(s[i]=b\),考虑它被选的情况。假设它和与它配对的\(a\)之间有其他的可选的\(b\),那么显然选进去才会更优,不断重复这个过程,最后选出的是一个区间的\('ba'\)对,再加上一个后缀dp串即可。
F
一道很有意思的题。
首先,先手一定拥有选走所有奇数下标或者偶数下标的方案。
考虑后手的应对,假设先手选走一个数之后分成的两段有一段长度是偶数,那么后手只需要指定选这边,就会变成先手后手拿完了一段,每个人拿到的数奇偶性相同,并且选择权在后手的情况,这显然还不如直接选走一种下标来得优。这样就可以发现,当\(n\)是偶数的时候,答案就是之前考虑的两种中较大的那种。
否则n是奇数,且每一步先手都会选择一个数取走,使得两边数量都为奇数,等后手选择选完其中一边之后再继续考虑另一边,不难发现先手选到的都是偶数下标。这时候换一个思路,考虑二分答案。令\(s_{i}\)表示奇数下标权为1,偶数为-1求出的前缀和,\(sum_{i}\)表示奇/偶数下标的权值和。那么假设一个前缀满足\(s_{i}+sum[0]>=mid\),这时这个前缀很危险,如果先手先拿走第\(i+1\)堆的话,后手一定要拿第\(i\)堆。继续考虑,假设存在\(j(j<i)\)满足段\([1,j-1]\)和段\([j+1,i-1]\)都很危险的话,那么\(j\)也是危险的,这种情况只需要维护一个前缀最值即可。倒着也是如此,这样就可以\(O(n)\)求出所有危险的前后缀,假设存在一个下标满足选了之后两边都很危险,那么先手可以一定获得胜利。
复杂度\(O(nlog\sum ai)\)
ACC026简要题解的更多相关文章
- 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{( ...
随机推荐
- VBA 实现学校上课教员一学期中所有上课时间,在一页中通过背景底色反应出来
需求:学校一学期的所有课程表,每个教员都有可能上好几门课,但给一个教员调课时需要查找所调课时间位置有没有此教员上其它的课 相冲突,手动查找很不方便,这里想通过一个表中位置显示出同一教员在所有课表中出现 ...
- BZOJ 1179 Atm(强连通分量缩点+DP)
题目说可以通过一条边多次,且点权是非负的,所以如果走到图中的一个强连通分量,那么一定可以拿完这个强连通分量上的money. 所以缩点已经很明显了.缩完点之后图就是一个DAG,对于DAG可以用DP来求出 ...
- BZOJ4310 跳蚤(后缀数组+二分答案)
注意到答案一定是原串的子串,于是考虑造出SA,二分答案是第几小的子串.第k小子串很容易在SA上求出.之后计算使他成为最大子串至少要在几个位置切割,对每个字典序比答案大的后缀,找到所有合法切割位置(求l ...
- Mac下docker搭建lamp本地开发环境
1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $ ...
- POJ3468:A Simple Problem with Integers——题解
http://poj.org/problem?id=3468 实现一个线段树,能够做到区间修改和区间查询和. 明显板子题. #include<cstdio> #include<cma ...
- HTTPS证书生成方法,也适用于APP
步骤: 一.登录服务器,创建ioscert目录 cd ~/servers/APP mkdir ioscert 二.cd到ioscert目录下,执行以下命令: 1.openssl genrsa -out ...
- AOJ 7.Redraiment猜想
Redraiment猜想 Description redraiment在家极度无聊,于是找了张纸开始统计素数的个数. 设函数f(n)返回从1->n之间素数的个数. redraiment发现: f ...
- bzoj1263: [SCOI2006]整数划分(高精度+构造)
第一次写压位高精度只好抄黄学长的 代码最后一段想了好久一看评论区才知道黄学长写错了= =很气 自己最后改对了T^T 这题最优是一直划分3出来直到<=4 #include<iostream& ...
- Poco::URI
#include<iostream> #include<typeinfo> #include<Poco/Path.h> #include <Poco/Dire ...
- C++语言中数组指针和指针数组彻底分析
################################# ## 基本知识 ## ...