Contest Info


Practice Link

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的更多相关文章

  1. (Access denied for user 'root'@'slaver1' (using password: YES))

    1.问题描述,启动azkaban的时候报如下所示的错误.之前使用azkaban是root用户,今天使用hadoop用户进行配置和使用,报这个错,说是root连接mysql拒绝了. [hadoop@sl ...

  2. Hadoop生态圈-CentOs7.5单机部署ClickHouse

    Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...

  3. 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)

    摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...

  4. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)

    摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...

  5. The 2018 ACM-ICPC Asia Qingdao Regional Contest

    The 2018 ACM-ICPC Asia Qingdao Regional Contest 青岛总体来说只会3题 C #include<bits/stdc++.h> using nam ...

  6. 2018 ICPC Asia Singapore Regional A. Largest Triangle (计算几何)

    题目链接:Kattis - largesttriangle Description Given \(N\) points on a \(2\)-dimensional space, determine ...

  7. ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879

    ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879 A 签到,dfs 或者 floyd 都行. #i ...

  8. The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online J - Press the Button(思维)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4056 题意 有一个按钮.一个灯.一个计时器和一个计数器,每按一次按钮,计时 ...

  9. 【Asia Yokohama Regional Contest 2018】Arithmetic Progressions

    题目大意:给定 N(1<N<=5000) 个不同元素组成的集合,求从中选出若干数字组成的等差数列最长是多少. 题解:直接暴力有 \(O(n^3)\) 的算法,即:枚举等差数列的前两个值,再 ...

  10. The 2018 ACM-ICPC Asia Beijing Regional Contest

    http://hihocoder.com/problemset/problem/ #1870 : Jin Yong’s Wukong Ranking List 我是每加1个点就dfs判断1次. 正解是 ...

随机推荐

  1. SAS学习笔记42 宏程序

    Autocall Macro是由SAS提供的一些实现特定功能的Macro Program,可以在代码中直接使用 其中以Q开头的相比正常的多了隐藏特殊字符的功能(称之为Macro Quoting): K ...

  2. Tokitsukaze and Duel CodeForces - 1191E (博弈论)

    大意: 给定01串, 两人轮流操作, Tokitsukaze先手. 每次操作可以选择长为$k$的区间, 全部替换为$0$或$1$, 若替换后同色则赢. 求最后结果. 先判断第一步是否能直接赢, 不能的 ...

  3. 动手篇:简单的注册界面与防SQL注入(续)

    注册前先判断用户名是否已经存在,通过if (SqlHelper.Exists(strSql))查询判断是否已经存在.没存在则进行一个数据插入数据库操作 string strSql1 = string. ...

  4. MySQL5.7主从从配置

    主从从,也称为级联主从,数据流向:A(主)->B(从)->C(从从),主从从级联复制. 应用场景 在主从配置的基础上,再增加一个从库,进一步提高数据安全,容灾备份. 读写分离,从库只用于查 ...

  5. MySQL AND 和 OR 联合使用带来的坑

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  6. mysql-8.0.16-winx64的最新安装教程

    最近刚学习数据库,首先是了解数据库是什么,数据库.数据表的基本操作,这就面临了一个问题,mysql的安装,我这里下载的是64位的,基于Windows的,以下是在我电脑上的安装过程,希望可以帮助到大家. ...

  7. JS 断点调试心得

    1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断 ...

  8. Microsoft Internet Explorer v11 XML External Entity Injection 0day

    [+] Credits: John Page (aka hyp3rlinx) [+] Website: hyp3rlinx.altervista.org[+] Source:  http://hyp3 ...

  9. js 面试题一

    1.格式化数字,每三位加逗号 // 实现方式一 function formatNum(num){ var _num = num + ""; var result = "& ...

  10. 异步网络编程aiohttp的使用

    aiohttp的使用 aiohttp Asynchronous HTTP Client/Server for asyncio and Python. Supports both Client and ...