cleaning p2943 usaco mar

P4182 [USACO18JAN] Lifeguards P

P4182 [USACO18JAN] Lifeguards P 更好的阅读体验 提供一个比较优秀大常数的时间 \(\mathcal O(nm)\),空间线性的做法。由于变量名冲突,本文中 \(m\) 均指题目中的 \(k\)。 推推性质,发现若区间包含了另一个区间,则一定删掉被包含的区间,正确性显然 ......
Lifeguards P4182 USACO 4182 JAN

USACO2018(铂金组)

前言: 教练给我们做铂金组的题目真的抬举我们了…… [USACO18OPEN] Disruption P 题目描述: 你有一棵节点数为 \(n\),边数为 \(n-1\) 的树。然后你会给这棵树新增加 \(m\) 条边,对于每条边,有 \(u,v,w\) 分别表示边连接的两个节点分别为 \(u\) ......
铂金 USACO 2018

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

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

PAT_A1044 Shopping in Mars

Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M$). When making ......
Shopping PAT_A 1044 Mars PAT

Makefile详解—clean

每个Makefile中都应该写一个清空目标文件(.o和执行文件)的规则,这不仅便于重编译,也很利于保持文件的清洁。这是一个“修养”。一般的风格都是: clean: rm edit $(objects) 更为稳健的做法是: .PHONY : clean clean : -rm edit $(objec ......
Makefile clean

make clean命令清理在不同目录中编译的对象

gnu-makemakefile Using Makefile to clean subdirectories 是否可以从父目录执行make clean,而该父目录又递归清除所有子目录,而不必在每个子目录中都包含makefile? 例如,当前在我的Makefile中,我有类似以下内容: 123456 ......
命令 对象 目录 clean make

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

[USACO17JAN] Promotion Counting P 题解

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

[USACO08FEB]meteor Shower S题解(bfs)

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

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

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

【倍增】P3422 [POI2005]LOT-A Journey to Mars 题解

P3422 一道有点意思的题。 看到是一个环,先破环为链,即 \(a_{n+i}=a_i, b_{n+i}=b_i\),此时就只需要跳到 \(x+n\) 而无需判环了。 如果顺时针走: 令 \(sum_i = \sum\limits_{j=1}^{i}{a_j-b_j}\),当能从 \(x\) 跳到 ......
题解 Journey P3422 LOT-A 3422

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