[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)怎么上网
问题描述:本机并没有显示虚拟机(linux)的虚拟网卡,那能不能用虚拟机上网呢,如果要让本机显示出虚拟机的虚拟网卡会有一万步各种安装卸载,那么,在现有条件下可不可以上网呢,答案是可以的. 解决方案: ...
- poj 2528 线段树区间修改+离散化
Mayor's posters POJ 2528 传送门 线段树区间修改加离散化 #include <cstdio> #include <iostream> #include ...
- KMP刷题记录
[BZOJ4698][SDOI2008]Sandy的卡片 差分一下然后选一个串,用这个串的所有前缀和其他串kmp,求出最长的公共部分即可 代码: #include <bits/stdc++.h& ...
- docker配置搭建gogs
参考文献: https://www.yeboyzq.com/linux/ruanjiananzhuangweihu/1012.html https://www.jianshu.com/p/d92fd4 ...
- 3.3 Zabbix容器安装
课程资料:https://github.com/findsec-cn/zabbix 1. yum install docker-latest :安装最新的docker ,选择 y ,等待自 ...
- Python 教你 4 行代码开发新闻网站通用爬虫
\ GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容.标题.作者.发布时间.正文中的图片地址和正文所在的标签源代码.G ...
- gulp常用插件之gulp-inject使用
更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-inject这个插件的作用与wiredep类似,不同的是可以自己任意指定需要插入文件的列表.它同样是利用注释来寻找插入的位置.获取源文件 ...
- 为什么文件无法用wps打开,甚至wps.exe本身都无法打开?
原因: 我的wps.exe在目录 programme installation 中 如果我把目录改成 programmeInstallation 那么就会变成打不开的情况. 解决方法就是改回去. 怎么 ...
- 1级搭建类111-Oracle 19c SI FS(Windows Server 2019)公开
Oracle 19c 单实例文件系统在Windows Server 2019上的安装 在线查看
- Spark Streaming数据限流简述
Spark Streaming对实时数据流进行分析处理,源源不断的从数据源接收数据切割成一个个时间间隔进行处理: 流处理与批处理有明显区别,批处理中的数据有明显的边界.数据规模已知:而流处理数 ...