Asia-Jakarata 2018
目录
Contest Info
Solved | A | B | C | D | E | F | G | H | I | J | K | L |
---|---|---|---|---|---|---|---|---|---|---|---|---|
9/12 | O | - | Ø | O | - | O | O | O | O | O | - | O |
- O 在比赛中通过
- Ø 赛后通过
- ! 尝试了但是失败了
- - 没有尝试
Solutions
Problem A. Edit Distance
题意:
给出一个\(01\)字符串\(S\),要求构造一个字符串\(T\),使得\(S\)和\(T\)的编辑距离大于\(\frac{|S|}{2}\)
思路:
- 如果\(S\)中\(0\)和\(1\)的个数不同,那么全都放个数少的那个数。
- 如果\(0\)和\(1\)的个数相同,那么第一位放和\(S\)的第一位相反的,其余的放和\(S\)的第一位相同的
Problem C. Smart Thief
题意:
要求构造一个字符串\(S\),使得它的字符集大小为\(M\),并且至少有\(k\)个长度为\(n\)的本质不同的子串。
输出构造方案,使得\(S\)的长度最小。
思路:
我们考虑\(S\)的长度为\(n + k - 1\)
我们考虑长度为\(n\),字符集大小为\(M\)的字符串,本质不同的一共有\(M^n\)种。
如果\(M^n\)很大,那么我们考虑如下做法:
- 先随机放置\(n - 1\)个字符,然后考虑第\(n\)个字符
- 我们枚举第\(n\)个字符,选择这\(n\)个字符的后\(n - 1\)个字符为前缀的长度为\(n\)的字符串的出现次数最少的来放
- 这样后面的字符能接下去的概率很高,就很容易构造出长度为\(n + k - 1\)的字符。
再考虑\(M^n\)的数量级和\(k\)差不多大的时候,这个时候我们用上述算法可能是行不通的。
因为当\(M^n = k\)的时候,可能构造方式很少。
但是我们可以考虑,一个长度为\(n\)的字符串,它实际上连接了两个长度为\(n - 1\)的前缀。
我们把这样一个长度为\(n\)的字符串看成一条边,可以发现每个长度为\(n - 1\)的前缀都有\(m\)条出边和\(m\)条入边。
现在相当于要找一条长度为\(k\)的欧拉路径,显然存在。
Problem D.Icy Land
题意:
在一个\(n \cdot m\)的图中,'.'表示是冰块,'#‘表示是干的地方。
如果碰到冰块,那么会继续沿当前方向滑下去,除非遇到墙壁,则会停下来。
如果遇到干的地方,便会停下来,然后可以选择一个方向继续前进。
现在询问至少要将多少个'.'变成'#',使得不管从任意位置出发,都可以在每个位置停留下来。
思路:
考虑没有靠墙的冰块都要变干
再考虑外面一圈的情况(不包括四角),至少要有一块干的地方,不然从外面一圈出发的时候就进不到中间区域,只能在外面绕圈圈
Problem F. Popping Balloons
题意:
有两个人\(A, B\),参加一场算法竞赛。
一共有\(n\)道题目,比赛时长\(m\)分钟,他们知道各自完成每道题需要的时间\(a_i, b_i\)。解决一题后会获得一个气球。
现在\(A\)可以骚扰\(B\),当\(A\)获得气球后,它可以选择让气球爆炸来骚扰\(B\)。
当气球爆炸的时候,\(B\)手中正在做的题目会前功尽弃,需要从头开始做。
现在问是否有一种放气球的方案使得\(A\)最终做出的题目严格大于\(B\)的。
思路:
我们尽量想让\(B\)浪费尽可能多的时间。
首先我们知道\(A\)能做多少题,假设为\(p\)。
那么对于\(B\),最多让他做\(p - 1\)道题。
那么我们找到\([1, p]\)中所需时间最长的题,然后将之前所获得的气球全都在这道题快做完的时候放掉。
然后继续找下一个所需时间最长的题,放掉这段时间获得的气球。
这样可以保证浪费\(B\)的时间是最多的。
Problem G. Go Make It Complete
题意:
有\(n\)个点, \(m\)条边的无向图,现在需要选择一个\(k\),然后将没有在图里的边按某种顺序列举出来,然后按顺序判断,如果当前这条边相邻的两个点的度数之和大于等于\(k\),那么就将这条边加入图中。
只要存在某种顺序使得所有边都能加进去,那么这个\(k\)是好的。
现在需要找一个最大的\(k\),并且满足这个\(k\)是好的。
思路:
二分\(k\),然后暴力判断,跑不满。
Problem H. Lexical Sign Sequence
题意:
有\(n\)个数\(a_i \in [-1, 1]\),如果是\(-1\)或者\(1\)表明\(a_i\)是确定的,否则表示你可以选择填\(-1\)或者\(1\)。
现在有\(k\)条限制,你需要满足\(\sum\limits_{i = l}r a+i \geq c\)。
问满足所有限制的条件下,字典序最小的\(a\)是什么。
思路:
先全部放\(1\),然后判是否是\(impossible\).
然后将每个限制条件放在\(r\)处\(check\),如果不满足,那么倒着往左跳\(0\)的位置,改成\(1\)。
链表维护一下。
Problem I. Lie Detector
Problem J. Future Generation
题意:
现在有\(n\)个字符串,对于每个字符串可以选择一个它的子序列,使得选择出的\(n\)个子序列按字典序是单调递增的。
问满足条件的\(n\)个子序列的最大长度和。
思路:
暴力跑出\(n\)个字符串的所有子序列,然后两层之间双指针枚举一下。
Problem L. Binary String
题意:
给出一个二进制串\(S\),和一个\(k\)。
现在问最少删除\(S\)中多少个字符,使得它小于等于\(k\)
思路:
最左边的\(1\)不能动。
然后考虑第二个\(1\)开始,慢慢删。
如果\(1\)全删光了,\(0\)随便删
Asia-Jakarata 2018的更多相关文章
- (Access denied for user 'root'@'slaver1' (using password: YES))
1.问题描述,启动azkaban的时候报如下所示的错误.之前使用azkaban是root用户,今天使用hadoop用户进行配置和使用,报这个错,说是root连接mysql拒绝了. [hadoop@sl ...
- Hadoop生态圈-CentOs7.5单机部署ClickHouse
Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...
- 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)
摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest
The 2018 ACM-ICPC Asia Qingdao Regional Contest 青岛总体来说只会3题 C #include<bits/stdc++.h> using nam ...
- 2018 ICPC Asia Singapore Regional A. Largest Triangle (计算几何)
题目链接:Kattis - largesttriangle Description Given \(N\) points on a \(2\)-dimensional space, determine ...
- ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879
ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879 A 签到,dfs 或者 floyd 都行. #i ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online J - Press the Button(思维)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4056 题意 有一个按钮.一个灯.一个计时器和一个计数器,每按一次按钮,计时 ...
- 【Asia Yokohama Regional Contest 2018】Arithmetic Progressions
题目大意:给定 N(1<N<=5000) 个不同元素组成的集合,求从中选出若干数字组成的等差数列最长是多少. 题解:直接暴力有 \(O(n^3)\) 的算法,即:枚举等差数列的前两个值,再 ...
- The 2018 ACM-ICPC Asia Beijing Regional Contest
http://hihocoder.com/problemset/problem/ #1870 : Jin Yong’s Wukong Ranking List 我是每加1个点就dfs判断1次. 正解是 ...
随机推荐
- Apache Tomcat 安装与配置教程
JDK的安装与配置 1. 从官网下载JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213315 ...
- MyBatis_01 框架
Mybatis概述 Mybatis是什么 Mybatis是一个持久层框架. Mybatis的作用 Mybatis是一个持久层框架,当然作用就是操作数据库的(增删改查). 为什么需要学习Myba ...
- ActiveMQ 消息存储持久化
ActiveMQ提供了一个插件式的消息存储,类似于消息的多点传播,主要实现了如下几种: AMQ消息存储-基于文件的存储方式,是以前的默认消息存储 KahaDB消息存储-提供了容量的提升和恢复能力,是现 ...
- adb 安装 app/apk链接不上设备和安装出现failed_install_user_restricted的解决方法
1.手机链接电脑,保持网段一致,通过ping 看是否可以ping通 2.如果可以ping通,查看telnet ip 5555 看是否可以连接 3.如果无法连接查看手机是否开启开发者模式中的debug模 ...
- android 蓝牙连接端(客户端)封装
0.权限 AndroidManifest.xml <uses-permission android:name="android.permission.BLUETOOTH"/ ...
- 谷歌(google)广告尺寸大小列表
在平时做网页模板时,我们需要计算Google AdSense 的尺寸,以确保它能和页面完美的结合,提高AdSense的点击率,进台后看又很麻烦,下面整理了Google 广告的各种尺寸,跟大家分享一下. ...
- 在ASP.NET Core中实现自动注入、批量注入
我们在使用AddScoped.AddTransient.AddSingleton这类方法的时候很是麻烦.我们每增加一个接口以及其实现的时候,是不是需要在这里硬编码注册一行代码呢?项目小还好,但当我们的 ...
- #LOF算法
a.每个数据点,计算它与其他点的距离 b.找到它的K近邻,计算LOF得分 clf=LocalOutlierFactor(n_neighbors=20,algorithm='auto',contamin ...
- 解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
最近因为工作需要要使用PHP 7,所以从网上找教程进行安装, 结果编译没问题, 安装的时候报了错误. 错误如下 1 2 3 cp -pR -f phar.phar /usr/local/php7/bi ...
- golang的select实现原理剖析
写在最前面 select为golang提供了多路IO复用机制,和其他IO复用一样,用于检测是否有读写事件是否ready. 本文将介绍一下golang的select的用法和实现原理. 实现原理 gola ...