【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】饲料调配
[描述] 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用三种原料调配成:大麦,燕麦和小麦.他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的.他只好购买其他三种混合饲料(同样都由三种麦子组 ...
随机推荐
- csharp: Configuring ASP.NET with Spring.NET and FluentNHibernate
Domain: FluentNhibernateLocalSessionFactoryObject.cs using System; using System.Collections.Generic; ...
- 用JS来实现的第一个简单游戏 :贪吃蛇
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 键盘码
键盘各按键对应的数字 keycode 9 = Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift keycode 17 = Con ...
- 原来这样就可以开发出一个百万量级的Android相机
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ空间开发团队发表于云+社区专栏 最近我负责开发了一个跟Android相机有关的需求,新功能允许用户使用手机摄像头,快速拍摄特定尺寸 ...
- Anaconda3 错误集合
1. An error ocurred while starting the kernel 答:个人猜测有可能是配置文件出现问题,于是采用如下解决方法: 在终端中输入spyder --reset,重置 ...
- Appium学习——Appium工作原理
appium的工具原理 Appium-client>>>>Appium-server>>>>移动设备 ========================= ...
- 【HANA系列】SAP HANA XS使用JavaScript(JS)调用存储过程(Procedures)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- .net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)
Pvalue 计算 项目设计pvalue计算,但是由于.net 没有类似的公式或者函数,最终决定使用.net 调用R语言 采用.net 调用r语言的公用函数 需要安装 r语言环境 https://mi ...
- Hive-1.2.1_06_累计报表查询
1. 数据准备 # 本地数据准备 [yun@mini01 hive]$ pwd /app/software/hive [yun@mini01 hive]$ ll /app/software/hive/ ...
- 初识Python - Python的历史(转)
声明: 本文转自维基百科 如有意见请联系删除 综述 该编程语言 的Python是在20世纪80年代末的设想,和实施是在1989年12月开始由吉多·范罗苏姆在CWI在荷兰的继任者农行能够异常处理,并与接 ...