USACO 2023 December Contest, Gold
Problem 1. Flight Routes
设原图的邻接矩阵为 \(e\),考虑它给我们的矩阵是什么东西。
设 \(d_{i, j}\) 表示 \(i\) 到 \(j\) 的路径数的奇偶性,那么 \(d\) 矩阵可以类似 Floyd 得到。具体而言就是依次枚举 \(k, i, j\),\(d_{i, j} \gets d_{i, j} \ \text{xor} \ (d_{i, k} \ \text{and} \ d_{k, j})\)。
我们发现 Floyd 的过程只用了位运算,那么它是可以反向还原的,所以倒着跑一遍 Floyd 就好了。
Problem 2. Minimum Longest Trip
很容易想到拓扑排序,但难点在于不好比较从一个结点开始走时,它后面路径的字典序。
设从一个点 \(i\) 开始走,最多能走 \(d_i\) 的距离。
考虑按照 \(d_i\) 将所有点分层,每次用当前层的所有点更新下一层。对于每一层的点维护一个 \(rk_i\),表示从 \(i\) 开始的路径的字典序排名,这样可以很方便地处理字典序最小的限制。\(rk_i\) 也可以在层之间递推得到。
然后基本上就是拓扑排序板子了,没什么好讲的。
Problem 3. Haybale Distribution
首先有一个比较显然的结论:\(y\) 一定与某个 \(x_i\) 重合。
至于为什么是这样呢,考虑代价是一次函数,如果 \(y\) 被夹在 \(x_i\) 和 \(x_{i + 1}\) 之间,那么将 \(y\) 向 \(x_i\) 或 \(x_{i + 1}\) 的方向调整肯定不劣的。
然后考虑将询问离线下来,按 \(\frac{b_i}{a_i}\) 排序,那么决策点会不断右移。所以线性扫一遍就好了。
USACO 2023 December Contest, Gold的更多相关文章
- USACO 2015 December Contest, Gold Problem 2. Fruit Feast
Problem 2. Fruit Feast 很简单的智商题(因为碰巧脑出来了所以简单一,一 原题: Bessie has broken into Farmer John's house again! ...
- USACO 2016 February Contest, Gold解题报告
1.Circular Barn http://www.usaco.org/index.php?page=viewproblem2&cpid=621 贪心 #include <cstd ...
- USACO 2016 January Contest, Gold解题报告
1.Angry Cows http://www.usaco.org/index.php?page=viewproblem2&cpid=597 dp题+vector数组运用 将从左向右与从右向左 ...
- USACO 2019 December Contest 随记
Forewords 今年 USACO 的比赛变化挺大的,有部分分了,而且不再是固定十个点了(部分分只说这几个点满足这几个性质,以为十个点的我还高兴了一会,一提交,...),除此之外居然赛后还排名了.这 ...
- USACO 2013 November Contest Gold 简要题解
Problem 1. Empty Stalls 扫两遍即可. Problem 2. Line of Sight 我们发现能互相看见的一对点一定能同时看见粮仓的某一段.于是转换成有n段线段,问有多少对线 ...
- USACO 2015 December Contest, Platinum Problem Max Flow【树链剖分】
题意比较难理解,就是给你n个点的树,然后给你m个修改操作,每一次修改包括一个点对(x, y),意味着将x到y所有的点权值加一,最后问你整个树上的点权最大是多少. 比较裸的树链剖分了,感谢Haild的讲 ...
- [USACO 2018 December Contest]作业总结
t1 Convention 题目大意 每一头牛都有一个来的时间,一共有\(n\)辆车,求出等待时间最长的那头牛等待的最小时间. 解法 第一眼看到这道题还以为是\(2018noip\)普及组的t3魔鬼题 ...
- 孤独的照片【USACO 2021 December Contest Bronze】
孤独的照片 Farmer John 最近购入了 \(N\) 头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一. 奶牛目前排成一排,Farmer John 想要为 ...
- USACO 2023 January Contest, Bronze Problem 3. Moo Operations
这道题目灰常简单,我们先从最简单的3个字符串开始 有以下几种情况: 可以看到,只有在中间是O的情况下才有可能变成MOO 辣么我们不妨在在s串中枚举这个中间 O 每枚举到一个就看看能不能用他的本身操作次 ...
- 【USACO 2019 Feburary Contest】Gold
模拟二月金组,三个半小时AK. USACO 2019 Feburary Contest, Gold T1 题意:给定一棵树,每个点有点权,每次可以进行以下操作之一: 更改一个点的点权 求某条路径上的点 ...
随机推荐
- 【Linux】真机安装CentOS8
先制作启动U盘 https://www.cnblogs.com/mindzone/p/12961506.html 插入电脑,开机[这里我是把电脑硬盘格式化了,不会在电脑磁盘上找到任何系统,直接跳到启动 ...
- 如何快速在 Apache DolphinScheduler 新扩展一个任务插件?
作者 | 代立冬 编辑 | Debra Chen Apache DolphinScheduler 是现代数据工作流编排平台,具有非常强大的可视化能力,DolphinScheduler 致力于使数据工程 ...
- Layui Upload 多文件上传访问多次接口问题解决
Layui 多文件上传访问多次接口 点我访问 LayUI框架官网 话不多数直接看源码 文件地址: layui/modules/upload.js // 通过each循环文件列表 layui.each( ...
- disconf分布式配置管理(二) 与spring集成
上一章介绍了disconf的安装预配置,这章主要介绍下disconf与spring集成 1.添加依赖 <dependency> <groupId>com.baidu.disco ...
- iframe出现双层滚动条解决方案
在开发中出现一个iframe双滚动条问题,查了很多资料,网上的解决方案是定义iframe的onload事件,加载时重新加载高度,但是由于项目中页面渲染完成后,点击按钮动态生成数据,这时候上面的方案就不 ...
- __set_BASEPRI(); 使用不正常
虽然 BASEPRI 是8位寄存器,但是STM32的CortexM3&M4只用了高4位,低四位是没有用到的. __set_BASEPRI(0x0f); // 无效,小于0x0f的值无效 __s ...
- 链接器 ld 名称的由来
Linker 通常缩写为 LD,这是因为在 Unix 和类 Unix 系统中,ld 是链接器的常用命令名称.这个命名可以追溯到 Unix 系统的早期发展历史. 历史背景 Unix 早期:在 Unix ...
- docker高级篇第三章-dockerfile案例之制作自己的centos镜像
在上一篇文章中<Dockerfile介绍及常用保留指令>,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段.熟悉了这些之后,有没有想自己动手写一个Dockerfi ...
- Android Studio 项目已经sync完成,但是在布局中显示:Design editor is unavaliable until after a sunncessful project sync
原因:在drawable文件夹中新增了一个png图标 解决:同步在drawable-v24文件中复制一份即可
- OpenFeign深入学习笔记
OpenFeign 是一个声明式的 Web 服务客户端,它使得编写 Web 服务客户端变得更加容易.OpenFeign 是在 Spring Cloud 生态系统中的一个组件,它整合了 Ribbon(客 ...