代码见:

  • easy: EIM
  • medium-easy: BDFKL
  • medium: ACJ
  • medium-hard: H

A - Algorithm Teaching

题意 给一些集合,现从每个集合中选出一些子集,使得被挑选的集合不是包含关系。

集合之间的包含关系是偏序关系。对 \(n\) 个集合的每个子集建点,根据包含关系连边。根据 Dilworth's Theorem,最小链划分即为答案,求用最少的不交路径覆盖所有点即可。拆点建图,点数 - 二分图最大匹配,即为答案。

B – Build the Perfect House

题意 平面直角坐标系,给 n 个点,画一个面积最大的正方形,不包含任何点。

画一个(1,1),(1,-1)(-1,1),(-1,-1) 的正方形,转点。二分答案,每个点会将旋转角度限制在若干个区间的交内,如果一个位置被 \(n\) 个区间覆盖,就 YES 了,扫描线 check 即可。

C – Cut Inequality Down

题意 第 i 天可以获得 \(a_i\) 的金币,金币数超过 R,回到 R,小于 L 回到 L。多组查询,每组查第 l 天有 x 金币,那在第 r 天有多少金币。

先架好 ST,对于每组查询,二分求出下一次碰壁的时间,再二分求出下一次碰壁的时间,再二分求下一次碰壁的时间 ..... 等等,\(state(pos, 0/1)\) 表示在 \(pos\) 位置的上/下边界这样一个状态,这个状态的后继唯一,那倍增多好啊!排骨龙才一步步跳,\(nex(pos, 0/1, k)\) 表示从状态 \(state(pos, 0/1)\) 转移 \(2^k\) 之后的后继是谁。对于查询,先从 \(B\) 开始二分求出第一次碰壁的状态,再从该状态倍增,求出在到达位置 \(E\) 之前最后一个碰壁的状态是谁,从该状态到 E 的过程,不会碰壁了,前缀和差分计算此段收益即可。

D – Dazzling Stars

题意 平面直角坐标系,有 n 个点,点有点权,需要旋转一个角度,使得按 y 为第一关键字,x 为第二关键字从小到大排序,点权不减。

  • 绕一个点旋转所有点相当于把print的方向旋转
  • 枚举两个点,能将print的角度限制在一个区间,然后求所有的交
  • 复杂度 \(O(n^2logn)\)

\(O(n logn)\) 做法:先考虑所有点亮度不同的情况,根据传递性,只需限制亮度 k 高的点位置高于亮度 k+1 高的点。再考虑有亮度相同的的点,对每种亮度做凸包,亮度值 k 高的点位置的凸包最低点,在,亮度值 k+1 高的点形成凸包最高点上方即可,求凸包切线,即可确定限制条件。

E – Eggfruit Cake

题意 给一个首尾相连的字符串,求有多少区间长度不大于S且至少有一个字符’E‘

  • 尺取一哈

F – Fabricating Sculptures

题意 堆 A 个箱子,第 k 层箱子不能比第 k+1 层箱子多,最下一层有 B 个箱子,求方案数。

按层决策。\(f[i][j]\) 表示放置了 \(i\) 个格子,最上面一层有 \(j\) 个格子的方案数,\(f[i][j]=\sum_{x=j}^{S} f[i-j][x]*(x-j+1)\),预处理 \(f[i-j][

2019-2020 ACM-ICPC Latin American Regional Programming Contest的更多相关文章

  1. 2017-2018 ACM-ICPC Latin American Regional Programming Contest PART (11/13)

    $$2017-2018\ ACM-ICPC\ Latin\ American\ Regional\ Programming\ Contest$$ \(A.Arranging\ tiles\) \(B. ...

  2. 训练20191007 2017-2018 ACM-ICPC Latin American Regional Programming Contest

    2017-2018 ACM-ICPC Latin American Regional Programming Contest 试题地址:http://codeforces.com/gym/101889 ...

  3. 2017-2018 ACM-ICPC Latin American Regional Programming Contest

    题面pdfhttps://codeforc.es/gym/101889/attachments/download/7471/statements-2017-latam-regional.pdf zyn ...

  4. 2017-2018 ACM-ICPC Latin American Regional Programming Contest Solution

    A - Arranging tiles 留坑. B - Buggy ICPC 题意:给出一个字符串,然后有两条规则,如果打出一个辅音字母,直接接在原字符串后面,如果打出一个元音字母,那么接在原来的字符 ...

  5. 2017-2018 ACM-ICPC Latin American Regional Programming Contest GYM101889

    挺有意思的一套题,题也没有啥毒瘤了,本来是队切的结果种种原因大家全挂机了. 只补了百人题,一共7个,其他的暂时先不补了,,也不会嘛qwq H:签到 #include <bits/stdc++.h ...

  6. 2017-2018 ACM-ICPC Latin American Regional Programming Contest D.Daunting device

    题意:一个数组n个操作每次先查询p颜色的数量然后求出区间,区间染色成x,然后求最大染色数 题解:odt裸题,多维护一个color个数数组就好了 //#pragma comment(linker, &q ...

  7. 2017-2018 ACM-ICPC Latin American Regional Programming Contest J - Jumping frog 题解(gcd)

    题目链接 题目大意 一只青蛙在长度为N的字符串上跳跃,"R"可以跳上去,"P"不可以跳上去. 字符串是环形的,N-1和0相连. 青蛙的跳跃距离K的取值范围是[1 ...

  8. Gym 2009-2010 ACM ICPC Southwestern European Regional Programming Contest (SWERC 2009) A. Trick or Treat (三分)

    题意:在二维坐标轴上给你一堆点,在x轴上找一个点,使得该点到其他点的最大距离最小. 题解:随便找几个点画个图,不难发现,答案具有凹凸性,有极小值,所以我们直接三分来找即可. 代码: int n; lo ...

  9. Gym 101889:2017Latin American Regional Programming Contest(寒假自训第14场)

    昨天00.35的CF,4点才上床,今天打的昏沉沉的,WA了无数发. 题目还是满漂亮的. 尚有几题待补. C .Complete Naebbirac's sequence 题意:给定N个数,他们在1到K ...

随机推荐

  1. 炼数成金数据分析课程---10、python中如何画图

    炼数成金数据分析课程---10.python中如何画图 一.总结 一句话总结: 主要matplotlib库,pandas中也可以画一些基础图 大纲+实例快速学习法 1.matplotlib的最简单画图 ...

  2. MProtect使用小计【三】 – 权限管理

    说明 本篇简单的说一下怎么样使用的VMProtect的权限管理功能,使我们的程序拥有注册码的功能.只用的注册版的程序才能执行指定的函数. 同样这个功能VMProtect也有例子位置在:安装目录\VMP ...

  3. I/O复用select 使用简介

    一:五种I/O模型区分: 1.阻塞I/O模型      最流行的I/O模型是阻塞I/O模型,缺省情形下,所有套接口都是阻塞的.我们以数据报套接口为例来讲解此模型(我们使用UDP而不是TCP作为例子的原 ...

  4. ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗

    ylbtech-ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗 1.返回顶部 1. TechEmpower在10月30发布最新一 ...

  5. 2、Locust压力测试 实战

    创建测试脚本 创建Test()类继承TaskSet类 创建beigong() 方法表示一个行为,访问北弓官网首页.用@task() 装饰该方法为一个任务.1表示一个Locust实例被挑选执行的权重,数 ...

  6. LeetCode 最小栈

    题目链接:https://leetcode-cn.com/problems/min-stack/ 题目大意 略.并且题目中要求的操作都要 O(1) 实现. 分析 用 2 个栈,一个普通栈,一个单调栈. ...

  7. Spring MVC源码分析(一):ContextLoaderListener的设计与实现

    ContextLoaderListener在我的Spring源码分析(一):从哪里开始看spring源码这篇文章,分析过在web容器,如tomcat,启动web应用时,会通过监听器的方式,通知Serv ...

  8. 如何删除github里的项目

    1.登录github网站后,就会看到如下画面,在头像下面有个你的项目资源这一栏,假如我要删除名为“hhh”的项目,现在鼠标点进这个项目里面 2.进去后点setting 点进去后,默认是选择了OPtio ...

  9. 55-Ubuntu-软件安装

    1.通过apt安装/卸载软件 apt是advanced packaging tool, 是Linux下的一款安装包管理工具. 可以在终端中方便的安装/卸载/更新软件包. (1)安装软件 sudo ap ...

  10. debug breakpoint with maven in eclipse