题目: https://www.luogu.org/problemnew/show/P2906 题解: 垃圾水题 #include<cstdio> #include<algorithm> #include<set> #define N 100005 typedef long long ll; using namespace std; struct node { ll x,y,id; bool operator < (const node &a)const…
P2906 [USACO08OPEN]牛的街区Cow Neighborhoods 考虑维护曼哈顿距离:$\left | x_{1}-x_{2} \right |+\left | y_{1}-y_{2} \right |$ 看起来很难维护的样子,我们尝试转化 设两个点$(x_{1},y_{1}),(x_{2},y_{2})  (x_{1}>=x_{2})$ 那么它们的曼哈顿距离有2种情况 1.$y_{1}>y_{2}:\left | x_{1}-x_{2} \right |+\left | y_…
传送门 曼哈顿距离好像不好直接算,我们可以把牛的坐标转化一下以方便计算距离 (x,y) --> (x+y,x-y) 那么距离就可以表示成 $max(\left |x_1-x_2  \right |,\left | y_1-y_2 \right |)$ 自己在草稿纸上算一下就知道了,(因为之后我们会按转化后的横坐标排序,所以式子会少一种情况) (以下横纵坐标均已转化) 所以可以考虑这样一种方案,把牛按横坐标排序 然后考虑总左到右枚举牛加入队列:每次加入一只牛,与队列里的其他牛比较一下纵坐标距离,这…
P2906 [USACO08OPEN]牛的街区Cow Neighborhoods 题目描述 Those Who Know About Cows are aware of the way cows group into 'Cow Neighborhoods'. They have observed Farmer John's N (1 <= N <= 100,000) cows (conveniently numbered 1..N) as they graze, each at her own…
传送门 题目大意: m个车道. 如果第i头牛前面有k头牛,那么这头牛的最大速度会 变为原本的速度-k*D,如果速度小于l这头牛就不能行驶. 题解:贪心 让初始速度小的牛在前面 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define N 50009 using namespace std; int n,m,d,l,k,ans; int a[N],…
题目描述: luogu 题解: 技巧题. 曼哈顿距离:$|x1-x2|+|y1-y2|$ 切比雪夫距离:$\max(|x1-x2|,|y1-y2|)$ 曼哈顿距离转切比雪夫距离:$(x,y)->(x+y,x-y)$ 所以--排完序拿stl::set模拟就好了. 代码: #include<set> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typ…
P3080 [USACO13MAR]牛跑The Cow Run 题目描述 Farmer John has forgotten to repair a hole in the fence on his farm, and his N cows (1 <= N <= 1,000) have escaped and gone on a rampage! Each minute a cow is outside the fence, she causes one dollar worth of dam…
P2853 [USACO06DEC]牛的野餐Cow Picnic 题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1...N. The pastures are connected by M (1 ≤ M ≤ 10,000) one-way path…
P2853 [USACO06DEC]牛的野餐Cow Picnic 题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1...N. The pastures are connected by M (1 ≤ M ≤ 10,000) one-way path…
题面 Bzoj 洛谷 题解 考虑带权并查集,设\(f[i]\)表示\(i\)的父亲(\(\forall f[i]<i\)),\(sum[i]\)表示\(\sum\limits_{j=fa[i]}^ia[j]\),对于一组输入的\([x,y,z]\),有: 1.如果\(f[x-1]=f[y]\) 这个时候直接判断\(sum[y]-sum[x-1]\)是否等于\(z\)就行了. 2.如果\(f[x-1]\not= f[y]\) 将\(f[y]\)的\(f\)定为\(f[x-1]\),则\(sum[f…