[AtCoder]Grand Contest 028
A Two Abbreviations
题意:给定两个串,长度为\(N\)的\(A\)和长度为\(M\)的\(B\),一个串\(S\)被称为好的,当且仅当:这个串的长度\(L\)能被\(N,M\)整除,且\(S_{i*L/N} = A_i, S_{j*L/M} = B_j\),求最短的好的串。
显然这个题中\(L\)应该是\(lcm(N, M)\),然后考虑\(A\)和\(B\)在\(S\)中重叠的部分就行了。
B Removing Blocks
题意:给定一个数列,每次删除一个数,定义这次操作的代价为和这个数连接的数的和,两个数\(a_i,a_j\)连接当且仅当\(\forall i\le k\le j, a_k\)都没有被删除。求删完所有数之后的期望收益。
定义\(P(i,j)\)为在\(a_i\)删除时\(a_j\)和\(a_i\)连接的概率,这样,\(a_j\)的期望贡献次数就是\(\sum_{i=1}^n P(i,j)\)。如果在\(a_i\)删除时\(a_j\)和\(a_i\)连接,那么\(a_i\)一定是\(a_{i..j}\)中第一个被删除的,所以\(P(i,j) = 1 /(|i-j|+1)\),这样只用求一下\(1..n\)逆元的前缀和就能\(O(n)\)的计算答案了。
C Min Cost Cycle
题意:有一些点,他们有权值\(A,B\),一条有向边\((i,j)\)的权值是\(\min(A_i, B_j)\),找一条覆盖所有点的有向环,使其权值最小。
我们定义点的类型如下:
- \(X\):这个点贡献\(A,B\)。
- \(Y\):这个点只贡献\(A\)。
- \(Z\):这个点只贡献\(B\)。
- \(W\):这个点没有贡献。
由此,我们发现,题目要求的环只有如下三种情况:
- 全是\(Y\)点
- 全是\(Z\)点
- \(X\)点和\(W\)点的数量为\(\ge1\)且相等。
前两种情况很好算,最后一种情况可以这样计算:将\(A_1..A_n,B_1..B_n\)升序排序,如果前\(N\)个里存在一个\(v\)使得\(A_v,B_v\)都在前\(N\)个中,显而易见直接取前\(N\)个是合法且很优的。否则,对于每个点,我们让它是\(W\)。然后贪心的附加上剩下的\(N-1\)个点(取前\(N+1\)或\(N+2\)个),取答案的最小值即可。
D Chords
题意:环上有\(2N\)个等距的点,用\(N\)个线段连接这些点,定义两个点联通为这两个点可以在只经过这些线段的情况下互相到达。现在已经画了\(K\)个线段,问最后联通块的数量的期望。
E High Elements
题意:给定一个\(1..N\)的排列\(P\),一个长度为\(N\)的\(01\)序列是好的当且仅当:构造两个序列\(X,Y\),一开始,两个序列都是空的,如果\(S\)的第\(i\)个数是\(0\),则\(P_i\)放入\(X\)中,否则放入\(Y\)中,且\(X,Y\)中高的元素数量一样。一个元素\(a_i\)是高的,当且仅当对于任意\(j<i\),都有\(a_j<a_i\)。
F Reachable Cells
题意:给定一个矩阵\(A\),\(A_{i,j}\)为\(1..9\)或\(\#\),两个点是联通的,当且仅当可以从一个点,只向下或向右,不经过填有\(\#\)的格子,可以到达另一个点。求出所有联通的点的权值的乘积的和。
[AtCoder]Grand Contest 028的更多相关文章
- AtCoder Grand Contest 028 A:Two Abbreviations
题目传送门:https://agc028.contest.atcoder.jp/tasks/agc028_a 题目翻译 给你两个串\(s\)与\(t\),长度分别为\(n,m\).问你存不存在一个串长 ...
- AtCoder Grand Contest 028 B - Removing Blocks 解题报告
B - Removing Blocks Time limit : 2sec / Memory limit : 1024MB Score : 600 points ## Problem Statemen ...
- AtCoder Grand Contest 012
AtCoder Grand Contest 012 A - AtCoder Group Contest 翻译 有\(3n\)个人,每一个人有一个强大值(看我的假翻译),每三个人可以分成一组,一组的强大 ...
- AtCoder Grand Contest 011
AtCoder Grand Contest 011 upd:这篇咕了好久,前面几题是三周以前写的... AtCoder Grand Contest 011 A - Airport Bus 翻译 有\( ...
- AtCoder Grand Contest 031 简要题解
AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\). ...
- AtCoder Grand Contest 010
AtCoder Grand Contest 010 A - Addition 翻译 黑板上写了\(n\)个正整数,每次会擦去两个奇偶性相同的数,然后把他们的和写会到黑板上,问最终能否只剩下一个数. 题 ...
- AtCoder Grand Contest 009
AtCoder Grand Contest 009 A - Multiple Array 翻译 见洛谷 题解 从后往前考虑. #include<iostream> #include< ...
- AtCoder Grand Contest 008
AtCoder Grand Contest 008 A - Simple Calculator 翻译 有一个计算器,上面有一个显示按钮和两个其他的按钮.初始时,计算器上显示的数字是\(x\),现在想把 ...
- AtCoder Grand Contest 007
AtCoder Grand Contest 007 A - Shik and Stone 翻译 见洛谷 题解 傻逼玩意 #include<cstdio> int n,m,tot;char ...
随机推荐
- linux find命令mtime/atime/ctime +n -n n 全网最正确的总结
1.man find 解释: find - search for files in a directory hierarchy,即:在目录下查找文件 2.按文件被修改的时间查询文件 命令格式: fin ...
- 洛谷P1056 排座椅
洛谷P1056 排座椅 洛谷传送门 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有 ...
- 高并发系统:消息队列MQ
注:前提是知道什么是消息队列.不懂的去搜索各种消息队列入门(activeMQ.rabbitMQ.rocketMQ.kafka) 1.为什么要使用MQ?(MQ的好处:解耦.异步.削峰) (1)解耦:主要 ...
- Antenna Placement poj 3020
Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12104 Accepted: 595 ...
- pandas模块的数据操作
数据操作 数据操作最重要的一步也是第一步就是收集数据,而收集数据的方式有很多种,第一种就是我们已经将数据下载到了本地,在本地通过文件进行访问,第二种就是需要到网站的API处获取数据或者网页上爬取数据, ...
- 使用opencv自带Tracker进行目标跟踪——重新设定跟踪目标
当希望重新设定一个目标进行跟踪的时候,以下两种做法都是无效的: 1.将新对象的Rect2d直接传递给update()函数: 2.再次使用tracker的init()函数. 解决办法:重新创建一个Tra ...
- Redis事务与可分布式锁
1 Redis事务 1.1 Redis事务介绍 l Redis的事务是通过MULTI,EXEC,DISCARD和WATCH这四个命令来完成的. l Redis的单个命令都是原子性的,所以 ...
- 洛谷P1551 亲戚
洛谷P1551 亲戚 原题 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是 ...
- EOFError: Compressed file ended before the end-of-stream marker was reached解决办法(在Windows下查看已下载的MNIST数据文件)
出现这个问题的原因是因为文件下载到一半就中断了,解决办法是删除datasets中下载到一半的数据包. 下面以我遇到的问题为例: 我下载数据下载到最后一个包就没有反应了,于是我强制终止了运行,可能是因为 ...
- ASP.NET一般处理程序之网站请求过程