
usaco
bababaab
QwQ
展开
-
BZOJ 3888: [Usaco2015 Jan]Stampede
线段树+离散预处理出每头牛到FJ面前的时间和离开时间,离散后用线段树按时间覆盖,最后统计牛的编号数注意从y大的开始先覆盖,还有给出的是牛的尾巴坐标,牛头是(x,y+1)。我因为这WA了好几次。。。代码:#include#include#includeusing namespace std;int tree[500000*2+10]; struct s{ int原创 2015-11-13 16:59:11 · 509 阅读 · 0 评论 -
BZOJ 1626: [Usaco2007 Dec]Building Roads 修建道路
最小生成树,原来有的几条路先预处理加上原创 2016-11-01 18:38:46 · 416 阅读 · 0 评论 -
BZOJ 1625: [Usaco2007 Dec]宝石手镯
水一道01背包原创 2016-11-01 18:35:42 · 461 阅读 · 0 评论 -
BZOJ 1679: [Usaco2005 Jan]Moo Volume 牛的呼声
大水题 位置读入之后排序 第j个位置的坐标会被加j−1次,被减n−j次 直接O(n)处理出来就好了原创 2016-11-01 11:48:35 · 447 阅读 · 0 评论 -
BZOJ 1696: [Usaco2007 Feb]Building A New Barn新牛舍
把x和y分开并不影响结果。。 分别排序找中位数,找到的x,y就是点的坐标 如果这个点刚好有牛就判断这个点周围44个点 中位数有俩,那末在x∈[x1,x2],y∈[y1,y2]范围里的点都是可行的,然后去掉这之间有牛的点。原创 2016-11-01 11:38:11 · 699 阅读 · 0 评论 -
BZOJ 1230: [Usaco2008 Nov]lites 开关灯
水了一道线段树 然而WA了一次。。 对于一个区间[l,r]操作一次后个数变为(r-l+1)-sum[k] 也没什么其他的了。。原创 2016-10-25 21:23:06 · 582 阅读 · 0 评论 -
BZOJ 1646: [Usaco2007 Open]Catch That Cow 抓住那只牛
宽搜 不解释原创 2016-07-25 14:44:02 · 634 阅读 · 0 评论 -
BZOJ 1634: [Usaco2007 Jan]Protecting the Flowers 护花
贪心 因为交换这俩头牛的搬走顺序不会影响其他牛 所以只要排序就好了原创 2016-07-25 14:40:27 · 591 阅读 · 0 评论 -
BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞
spfa\mathfrak{spfa}判断负环 当某一个点被更新次数≥n\ge n就表示有负环 直接spfa\mathfrak{spfa}果上就好了原创 2016-07-25 14:16:23 · 1226 阅读 · 0 评论 -
BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间
根据开始时间排序后dp原创 2016-07-24 19:27:58 · 493 阅读 · 0 评论 -
BZOJ 1636: [Usaco2007 Jan]Balanced Lineup
方法很多 倍增,线段树,树状数组都是可以的 维护区间最大值和最小值 推荐用倍增 虽然我写了树状数组。。。。#include<cstdio>#include<cstring>#include<algorithm>#define g getchar()#define ll long long#define inf 0x3f3f3f3fusing namespace std;inli原创 2016-07-24 13:12:28 · 915 阅读 · 0 评论 -
BZOJ 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路
最短路问题 只要把所有点之间的最短路跑出来就好了 Floyd O(n3)O(n^3) 然而我用了斐(zi)波(dai)那(S)契(T)堆(L)优(lie)化的dijkstra 明明理论复杂度是O(n2log2n)O(n^2log_2 n)的说 哭晕在厕所#include<cstdio>#include<cstring>#include<algorithm>#include<queue原创 2016-07-24 13:04:53 · 396 阅读 · 0 评论 -
BZOJ 1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪
hin简单的一道dp f[i][j]+=f[i−1][j−k∗k](k∈[0,j√])f[i][j]+=f[i-1][j-k*k](k\in[0,\sqrt{j}] ) 就行了 LaTeX公式用的我很心塞。。。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define g getchar()#d原创 2016-07-24 12:53:17 · 671 阅读 · 0 评论 -
BZOJ 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
试试看markdown 这是一道水题 直接暴力搞出那些个奶牛能到的点,然后枚举每个点,暴力判断是不是所有牛都能到#include<cstdio>#include<cstring>#include<algorithm>#define g getchar()#define ll long long#define inf 0x3f3f3f3fusing namespace std;in原创 2016-07-24 12:40:03 · 582 阅读 · 0 评论 -
BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会
树形dp原创 2016-05-21 20:48:07 · 517 阅读 · 0 评论 -
BZOJ 1646:[Usaco2007 Open]Catch That Cow 抓住那只牛
bfs原创 2016-05-13 16:49:44 · 392 阅读 · 0 评论 -
BZOJ 1602: [Usaco2008 Oct]牧场行走
树上倍增lca水题啊,练练手。先一遍dfs搞出树和father[i][j](意为第i个节点的2^j的祖先)以及distance[i](意为i到根节点的距离)答案就是distance[x]+distance[y]-2*distance[lca(x,y)] //lca(x,y)为最近公共祖先代码#include#include#include#define g原创 2016-02-04 15:33:48 · 483 阅读 · 0 评论 -
bzoj1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
Description了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发现她们已经结成了几个“群”.每只奶牛在吃草的时候有一个独一无二的位置坐标Xi,Yi(l≤Xi,Yi≤[1..10^9];Xi,Yi∈整数.当满足下列两个条件之一,两只奶牛i和j是属于同一个群的: 1.两只奶牛的曼哈顿距离不超过C(1≤C≤10^9),即lXi - xil+I原创 2015-12-17 13:39:21 · 524 阅读 · 0 评论 -
BZOJ 1631: [Usaco2007 Feb]Cow Party
用边建正反俩张图 然后拍spfa计算两张图从x点出发的最短路。。 然后扫一遍计算答案 像我这样把两张图连起来跑一次spfa也行原创 2016-11-01 18:54:54 · 464 阅读 · 0 评论