【USACO 2019 Feburary Contest】Gold
模拟二月金组,三个半小时AK。
USACO 2019 Feburary Contest, Gold T1
题意:给定一棵树,每个点有点权,每次可以进行以下操作之一:
- 更改一个点的点权
- 求某条路径上的点的点权的亦或值
思路:这这这。。。金组什么时候第一题都是树链剖分了。。。
这题是个树链剖分的模板题。(但是我捣鼓了好久。。。
首先将原树进行树链剖分,将每一个节点分在一条重链内。然后链与链之间用轻链连接。
对于操作1,我们只用将这个点的值在\(BIT\)中修改即可。
对于操作2,我们这样处理:
首先我们假设\(u\)和\(v\)中\(u\)所在重链的头的深度大于\(v\)所在重链的头的深度。
那么我们从\(u\)跳到\(u\)所在重链的头时就不会忽略\(u\)和\(v\)的\(lca\)。
(这边很重要,我就是第一开始只考虑了\(u\)和\(v\)的深度比较,然后只过了样例,其它点一个没过。。。
将\(u\)跳到\(u\)所在重链的头的父亲,并且将答案加上[\(u\)所在重链的头,\(u\)]这段区间的亦或和。
然后迭代处理即可。
USACO 2019 Feburary Contest, Gold T2
题意:给一个\(1..n\)的排列,问这个排列的最长满足以下要求的前缀的长度:
如果我们按照顺序从第一个数遍历,每一个数有两种选择:
- 将这个数放在某个已有栈的栈顶
- 将这个数放在所有栈右侧新建的一个栈的栈顶
中间可以不限次拿走现存所有栈中最左的那个的栈顶的数。
然后要求是让每次拿走的数最终能按大小排序。
思路:首先肯定是二分最长前缀辣
\(check\)的时候是这样做的:
每次找到栈顶比当前取的数大的第一个栈,把当前的数压到栈顶里,因此可以证明栈顶大小从左向右单调上升。
然后中途看最左栈顶是不是当前没拿到的最小数,如果是则将它弹掉。
然后就好辣(这题比第一题简单好多好多。。。
USACO 2019 Feburary Contest, Gold T3
题意:给\(n\)个矩形,可以再画两个互不相交的,求最大的被\(k\)个矩形覆盖的面积。
思路:(这题意怎么这么简单。。。
首先我们通过差分算出每一个点被多少个矩形覆盖了,然后每一个新画的矩形所能做出的最大贡献就是它覆盖的面积中被\(k-1\)个覆盖的\(-\)被\(k\)个覆盖的。所以我们可以通过\(dp\)预处理出\([[0,200],[0,200]]\)的一个删掉上面\(i\)行的子矩形中新画一个所能构成的最好情况,同理算出删掉左边\(j\)列的最好情况,枚举第一个矩形,然后第二个矩形所能造成的贡献都预处理好了,直接用即可。
【USACO 2019 Feburary Contest】Gold的更多相关文章
- 题解 【USACO 4.2.1】草地排水
[USACO 4.2.1]草地排水 Description 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫 ...
- 【USACO 3.1.2】总分
[描述] 学生在我们USACO的竞赛中的得分越多我们越高兴.我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助.我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是 ...
- 【USACO 2.1.1】城堡
[题目描述] 我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张“幸运爱尔兰”(一种彩票).结果这张彩票让他获得了这次比赛唯一的奖品— ...
- 【USACO 1.1.1】你的飞碟在这儿
[问题描述] 一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO. 这些不明飞行物时常来收集来自在地球上忠诚的支持者. 不幸地,他们的空间在每次旅行只能带上一群支持者. 他们要做的是用一种聪明的 ...
- 【USACO 3.3.2】商品购物
[描述] 在商店中,每一种商品都有一个价格(用整数表示).例如,一朵花的价格是 2 zorkmids (z),而一个花瓶的价格是 5z .为了吸引更多的顾客,商店举行了促销活动. 促销活动把一个或多个 ...
- 【USACO 3.3.1】骑马修栅栏
[描述] Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编一个程序,读入 ...
- 【USACO 3.2.6】香甜的黄油
[描述] 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...
- 【USACO 3.2.5】魔板
[描述] 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8个 ...
- 【USACO 3.2.4】饲料调配
[描述] 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用三种原料调配成:大麦,燕麦和小麦.他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的.他只好购买其他三种混合饲料(同样都由三种麦子组 ...
随机推荐
- JNI和NDK基础
引言 JNI是Java Native Interface(Java本地接口),是为了方便Java调用C和C++等本地代码所封装的一层接口. NDK是Android提供的一个工具集合,通过NDK可以在A ...
- canvas-4createPattern.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- canvas-star3
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- TCP握手过程中建连接的流程和队列
这里有两个队列:syns queue(半连接队列):accept queue(全连接队列). 三次握手过程中: 第一步: server 收到 client 的 syn 后,把这个连接信息放到半连接队列 ...
- 【代码笔记】Web-ionic-按钮
一,效果图. 二,代码.index.html文件如下所示. <!DOCTYPE html> <html> <head> <meta charset=" ...
- python之网络通信协议
TCP/IP五层协议和OSI的七层协议: TCP和UDP的区别: Tcp协议:面向连接,数据可靠,传输效率低,面向字节流 Udp协议:面向无连接,数据不可靠,传输效率高,面向报文
- Android studio 在一个项目上添加另一个项目,引用其内部参数
Setting.gradle 里面 添加 include ':app',‘imagePicker’ 其中 imagePicker 为要引入的项目名 build.gradle(Module: app) ...
- (网页)alert()怎么回事出不来,代码没有写错
1.不报错,请查看浏览器是否禁掉了alter. 2.console.log()输出,避免这种尴尬.
- django学习之命令
1.启动一个django项目: $ django-admin startproject <project-name> 2.创建一个应用: $ python manage.py starta ...
- linux下zip文件解压乱码的问题
因为编码问题,zip文件中的中文文件在linux下解压会出现乱码 如果你使用archlinux那么使用AUR安装unzip-natspec就可以解决这个问题 https://aur.archlinux ...