treats usaco cows feb

P2115 [USACO14MAR] Sabotage G(二分/思维)

题目 link 要求得到平均产奶量的最小值,想到二分答案。 emm...但是我在如何判断当前 \(mid\) 是否能成立上卡了好久,这里就需要思维了。 还是要想到本质上,可以试着用数学式子表达当前 \(mid\) 的合法条件, 若当前要删除 \([l,r]\) 的数,则有:(这里又可以想到用 前缀和 ......
Sabotage 思维 P2115 USACO 2115

cow relays满足结合律的证明

即证明\((A*A)*A=A*(A*A)\) 因为\(A*A=B\),所以即证明\(B*A=A*B\) 设\(C_1=B*A\),那么有$$C_1[i][j]=min_{1≤k≤p}(B[i,k]+A[k,j])$$ \[=min_{1≤k≤p}(min_{1≤l≤p}(A[i][l]+A[l][k ......
relays cow

P3119 [USACO15JAN] Grass Cownoisseur G 题解

分析 大概是强连通分量里面最水的一道紫题,不过细节挺多的,做题的时候给蒟蒻震惊到了。 题目要求是从 \(1\) 走到某个点,然后再走回 \(1\) 号点,中途可逆行一次,问最多能经过几个点。 有一个明显的思路是存两个图,一个正图一个反图,正图是为了求 \(1\) 到各个点的距离,反图是为了求各个点到 ......
题解 Cownoisseur P3119 Grass USACO

[USACO19DEC] Greedy Pie Eaters P 区间dp

题目背景 Farmer John has MM cows, conveniently labeled 1…M1…M, who enjoy the occasional change of pace from eating grass. As a treat for the cows, Farmer ......
区间 Greedy Eaters USACO DEC

USACO 2023 US Open Platinum Triples of Cows

洛谷传送门 LOJ 传送门 hot tea. 一次删点操作的影响太大了,考虑添加虚点以减小影响(相同的套路在 CF1882E2 Two Permutations (Hard Version) 也出现过)。 具体而言,我们把第 \(i\) 条边 \((u, v)\) 变成 \((u, n + i), ......
Platinum Triples USACO 2023 Open

USACO 2020.12 Platinum Spaceship

洛谷传送门 LOJ 传送门 考虑剥路径最大值 dp,设 \(f_{k, i, j}\) 为 \(i \to j\) 中按的最大的按钮 \(\le k\) 的方案数。转移枚举按下最大值按钮的点 \(w\),有: \[f_{k, i, j} = \sum\limits_{(u, w), (w, v) \ ......
Spaceship Platinum 2020.12 USACO 2020

USACO 2021.12 Platinum Paired Up

洛谷传送门 LOJ 传送门 如果 \(T = 1\),可以把重量全部取相反数转化成 \(T = 2\)。接下来只考虑 \(T = 2\) 的情况。 下文的 \(m\) 代表原题中的 \(K\)。 设第 \(i\) 个 G 牛的位置和重量分别为 \(a_{0, i}, b_{0, i}\),第 \(i ......
Platinum 2021.12 Paired USACO 2021

[USACO] Piggy Back

[USACO] Piggy Back 题目大概意思是一个无向图,Bessie 从 1 号仓库走到 n 号(每次花费 x), Elsie 从 2 号仓库走到 n 号(每次花费 y),如果两个人走同一条路花费 z,求总花费最小。 跑三遍最短路,别得到 Bessie 从 1 号仓库出发的最短路,Elsie ......
USACO Piggy Back

洛谷 P8192 - [USACO22FEB] Paint by Rectangles P

比较抽象的一个题。 首先先考虑 \(T=1\),如果我们建一张图,将图上所有横线与竖线的交点看作图上的点,相邻的有线段相连的点看作图上的边的话,那么显然会得到一张平面图,而我们要计算的是平面图上面的个数,根据公式 \(F=E-V+C+1\),其中 \(C\) 为这张图中连通块的个数。设 \(c\) ......
Rectangles P8192 USACO Paint 8192

洛谷P3607 [USACO17JAN] Subsequence Reversal P 题解

Subsequence Reversal P 思路: 发现,翻转一个子序列,就意味着两两互换子序列里面的东西。 于是我们就可以设 \(f[l][r][L][R]\) 表示: \(\max[1,l)=L,\min(r,n]=R\) 时的最长长度。 则边界为: \(L>R\) 时, \(f=-\inft ......
题解 Subsequence Reversal P3607 USACO

洛谷P3118 [USACO15JAN] Moovie Mooving G 题解

Moovie Mooving G 设 \(f[i][S]\) 表示在第 \(i\) 场(注意是场,不是部)电影时,已经看了 \(S\) 里面的电影是否合法。 然后贪心地取 \(|S|\) 最小的状态保存。光荣 MLE 了, \(21\%\)。 发现当一场电影结束后,无论这一场是在哪里看的都没关系。 ......
题解 Mooving Moovie P3118 USACO

[USACO08FEB]meteor Shower S题解(bfs)

题目描述 贝茜听说一场特别的流星雨即将到来:这些流星会撞向地球,并摧毁它们所撞击的任何东西。她为自己的安全感到焦虑,发誓要找到一个安全的地方(一个永远不会被流星摧毁的地方)。 如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。 根据预报,一共有 \(M\) ......
题解 Shower meteor USACO FEB

[USACO17JAN] Promotion Counting P 题解

[USACO17JAN] Promotion Counting P 题解 前言 好久没写题解了,今天趁我心情好赶紧水一篇。 思路 首先拿到这题,关键词检索:子树,比 \(p_i\) 大的,树状数组!现在考虑如何去掉其他子树的贡献……emm,我直接在算贡献的时候去掉其他子树的贡献不就好了! 当然,暴力 ......
题解 Promotion Counting USACO JAN

P1457 [USACO2.1] 城堡 The Castle 题解

分析 感觉没有蓝题难度 一道 bfs 题目,相较于大部分 bfs 题,它较为复杂,但分析一下还是很好水过的。 建立墙时,可以用三维数组,\(wall_{~i, ~j, ~pos}\) 表示 第 \(i\) 行第 \(j\) 列 \(pos\) 方向有墙。 观察发现,\(8 = 2^3,4 = 2^2 ......
题解 城堡 Castle USACO2 P1457

npm run dev 提示 { parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }

修改 emacs node_modules/vue-loader/lib/template-compiler/index.js 将以下代码中的 babylon 替换 babel if (!isProduction) { code = prettier.format(code, { semi: fal ......
quot parser deprecated babylon babel

P9019 [USACO23JAN] Tractor Paths P 题解

Description 有 \(n\) 个区间,第 \(i\) 个区间为 \([l_i,r_i]\)。保证 \(l_1<l_2<\cdots<l_n\) 且 \(r_1<r_2<\cdots<r_n\)。其中一部分区间是特殊的,输入会给定。 如果第 \(i\) 个区间和第 \(j\) 个区间相交,那 ......
题解 Tractor P9019 USACO Paths

[题解]P3656 [USACO17FEB] Why Did the Cow Cross the Road I P

思路 首先,\(A\) 和 \(B\) 只会移动一个,那么,我们分开来算,我们先假定 \(B\) 会动。 不妨令 \(A\) 与 \(b\) 连边的端点为 \(x,y\)。如果有线段 \(pq\) 能与 \(xy\) 相交,一定满足如下其中一条规律: \(p < x \wedge q > y\) \ ......
题解 the P3656 Cross USACO

题解 [USACO04OPEN] Turning in Homework G

题目链接 先将所有作业按位置排序。 直接贪心显然是不行的,因为我们没有办法确定对于一个时间较久的作业,是在原地等待,还是在未来的某个节点返回,并且无法确定是那个节点,所以只能考虑 \(dp\)。 对于此类可以倒来倒去的问题,通常考虑区间 \(dp\),若设 \(f_{i,j}\) 表示完成区间 \( ......
题解 Homework Turning USACO OPEN

P2951 [USACO09OPEN] Hide and Seek S 题解

Problem 题目概述 给你一个无向图,边权都为 \(1\) ,求:离 \(1\) 号点最远的点的编号、最远的距离、有几个点是离 \(1\) 号点最远的。 思路 直接用:优先队列 \(BFS\),先求出 \(1\) 号点到每个点的最短路,存到 \(dis\) 数组中,然后再求 \(max(dis[ ......
题解 P2951 USACO 2951 OPEN

P1522 [USACO2.4] 牛的旅行 Cow Tours

Problem 题目简述 给你两个独立的联通块,求:在两个联通块上各找一个点连起来,使得新的联通块的直径的最小值。 思路 本题主要做法:\(Floyd\)。 首先,Floyd求出任意两个点之间的最短路。 枚举每一个点,求出以这个点能走到的所有点中距离的最大值。(一定在能走到的情况下,不然默认距离就是 ......
USACO2 P1522 USACO Tours 1522

P3147 [USACO16OPEN] 262144 P

Link 这个题有一个很特殊的点,就是最大值不会超过28,可以想一下最多可以合并多少次。 那么常规的区间dp是不能使用的,就要采用特殊的形式, 因为很难的确定应该怎么转移,那么就换一种思路,转移的对象变成另外一个端点。 \(dp_{i,j}\) 表示\(i\)在左边,达到\(j\)的话的右端点位置 ......
262144 P3147 USACO 3147 OPEN

P6066 [USACO05JAN] Watchcow S

prologue 这个题这么水的一个板子题。 analysis 这个题目我们正反建两条边,在跑欧拉回路的时候,看这个边是不是被走过,走过就不走,跳过这个边。如果没走,就走这条边并且标记这个边走过了。 code time #include <bits/stdc++.h> using namespace ......
Watchcow P6066 USACO 6066 JAN

P5838 [USACO19DEC] Milk Visits G

P5838 [USACO19DEC] Milk Visits G Luogu P5838 Solution 提供一种奇特的 \(\mathcal O(\dfrac{n\sqrt n\log n}{\omega})\) 的做法。 树链剖分转化成序列问题。然后变成了询问一个区间 \(l,r\) 是否存在 ......
Visits P5838 USACO 5838 Milk

洛谷P3612 [USACO17JAN] Secret Cow Code S

[USACO17JAN] Secret Cow Code S 题面翻译 奶牛正在试验秘密代码,并设计了一种方法来创建一个无限长的字符串作为其代码的一部分使用。 给定一个字符串,让后面的字符旋转一次(每一次正确的旋转,最后一个字符都会成为新的第一个字符)。也就是说,给定一个初始字符串,之后的每一步都会 ......
Secret P3612 USACO 3612 Code

P3128 [USACO15DEC] Max Flow P

P3128 [USACO15DEC] Max Flow P 有好几种解决方法,这里讲第一种树状数组 主要是线段树没调好 区间修改,单点查询,很明显我们可以用树状数组,简单又方便 树状数组 #include<bits/stdc++.h> using namespace std; const int N ......
P3128 USACO 3128 Flow DEC

洛谷P2341 [USACO03FALL] 受欢迎的牛 G

P2341 受欢迎的牛 G 题解 这题我们需要了解强连通分量 一、定义 在有向图 \(G\) 中,如果两个顶点 \(u\) , \(v\) 间有一条从 \(u\) 到 \(v\) 的有向路径,同时还有一条从 \(v\) 到 \(u\) 的有向路径,则称两个顶点强连通。如果有向图 \(G\) 的每两个 ......
P2341 USACO 2341 FALL 03

P4824 [USACO15FEB] Censoring S

P4824 [USACO15FEB] Censoring S KMP+栈 同样的套路,先找B的最长前后缀,然后与A匹配 不同的是要删除A中的B,特殊的是删除之后可能会产生新的B 那我们可以利用栈的思想,利用f数组,记录A每一位置上B的匹配程度,这样删除时,直接回到上一个匹配程度,以防漏掉。 利用栈记 ......
Censoring P4824 USACO 4824 FEB

一个树状数组求逆序对的进阶 [USACO17JAN] Promotion Counting P

题面就这样,就是在树上求一个逆序对但是我笨笨地求了对于每一个下属有几个上司能力比他低还一遍就写对了,结果发现看错题目了难得一遍过,但是没有完全过 ......
逆序 数组 Promotion Counting USACO

P9013 [USACO23JAN] Find and Replace S

前言 这是考试的时候放的一道题,考的时候没做出来。 调了一个晚上,心态爆炸,故作此篇。顺便,鸣谢泥土笨笨大佬的题解,给我的代码提供了强有力的对拍参照。 正题 首先看到题目,虽然字符串长度不超过 \(10^5\),但是还是嫌多;再一看,至多只有52个字符。 那么从这个数据范围入手,思考可以按照变换前后 ......
Replace P9013 USACO 9013 Find

P5836 [USACO19DEC] Milk Visits S - 洛谷题解

题目链接 :[P5836] USACO19DEC] Milk Visits S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题可以用并查集来解决。 题目中每个结点只有两个状态:H和G。那么我们可以推断出,只有当起点和终点间每个结点的状态相同但是起点(或者终点或起点到终点之间 ......
题解 Visits P5836 USACO 5836