USACO月赛题解 第四讲 贪心
2014-02-06 12:59
225 查看
汇总见 http://blog.csdn.net/qyl916/article/details/12442283
这一部分的题目也很经典,虽然是一次排序解决问题,但有难度
第15题 奶牛杂技 acrobat
这种题基本上要按某种关键字排序,所以考虑相邻两头牛,他们上面的牛重量加起来是w0,若A在B上面,A受到压力为w0 - sA B受到压力为 w0 + wA - Sb.再写出反过来的情况,进行一下分析即可,最后是按W+S排序。据说把未经分析的带max的式子直接作为关键字排序也行。
第16题 两道工序 mqueue
这一部分的题目也很经典,虽然是一次排序解决问题,但有难度
第15题 奶牛杂技 acrobat
这种题基本上要按某种关键字排序,所以考虑相邻两头牛,他们上面的牛重量加起来是w0,若A在B上面,A受到压力为w0 - sA B受到压力为 w0 + wA - Sb.再写出反过来的情况,进行一下分析即可,最后是按W+S排序。据说把未经分析的带max的式子直接作为关键字排序也行。
struct node{ int w,s; }; int cmp(node a, node b){ return a.w + a.s < b.w + b.s; } node a[50010]; int n; int main() { scanf("%d", &n); rep1(i, n){ scanf("%d%d", &a[i].w, &a[i].s); } sort(a + 1, a + n + 1, cmp); LL ans = -INF, now = 0; rep1(i, n){ ans = max(ans, now - a[i].s); now += a[i].w; } printf("%lld\n", ans);//while(1); return 0; }
第16题 两道工序 mqueue
直接分析相邻两头牛,然后把较复杂的式子作为关键字排序就能A了,排序关键字是
return a.fi + b.se + max(a.se, b.fi) < a.se + b.fi + max(a.fi, b.se); 。。。
/* 开始感觉是按第一项工作时间排序,造出了反例 感觉是按第一道减第二道排序,写写看 又找到反例 .. 但反例找错了。。 看题解 max(AD + BD + BC, AD + AC + BC) <= max(AC + BC + BD, AC + AD + BD) <=> min(BD, AC) > min(AD, BC) 这句不懂 但再后面的关键字处理用不着,可以直接A 其实看不懂的这步也不用,直接比就行了,常数都没有影响 */ using namespace std; struct node{ int fi, se; }; bool cmp(node a, node b){ return a.fi + b.se + max(a.se, b.fi) < a.se + b.fi + max(a.fi, b.se); } node a[30000]; int n, s[30000], t[30000]; int main() { scanf("%d", &n); rep1(i, n) scanf("%d%d", &a[i].fi, &a[i].se); sort(a + 1, a + n + 1, cmp); //rep1(i, n) printf("%d %d\n", a[i].fi, a[i].se); s[0] = t[0] = 0; rep1(i, n) { s[i] = s[i - 1] + a[i].fi; t[i] = max(t[i - 1], s[i]) + a[i].se; } printf("%d\n", t ); //while(1); return 0; }
相关文章推荐
- 【USACO月赛】贪心
- USACO月赛题解 第四讲 数值计算
- 【bzoj1692】[Usaco2007 Dec]队列变换 贪心+后缀数组
- BZOJ_1629_[Usaco2007_Demo]_Cow_Acrobats_(贪心)
- USACO月赛题解 第三十讲 动态规划(一)
- usaco 1.3 Barn Repair(贪心)
- bzoj 4096: [Usaco2013 dec]Milk Scheduling 贪心
- bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助(set+贪心)
- bzoj 1620: [Usaco2008 Nov]Time Management 时间管理【贪心】
- 基本算法——第四单元 贪心
- bzoj 1783: [Usaco2010 Jan]Taking Turns【贪心+dp】
- poj 2393 && bzoj 1680: [Usaco2005 Mar]Yogurt factory(贪心)
- 贪心——Luogu2255 [USACO14JAN]记录奥林比克
- Job Processing_usaco4.2_贪心
- 贪心-BZOJ-1628-[Usaco2007 Demo]City skyline
- 【USACO】【贪心】Section1.3 Mixing Milk 题解
- USACO月赛2017.02 铂金组T2--NOCROSS
- 【bzoj1634】[Usaco2007 Jan]Protecting the Flowers 护花 贪心
- USACO 2009 Feb Gold 1.Fair Shuttle 贪心
- 【USACO】【贪心】Sorting a Three-Valued Sequence