差分bzoj 1676 [Usaco2005 Feb]Feed Accounting 饲料计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了差分bzoj 1676 [Usaco2005 Feb]Feed Accounting 饲料计算相关的知识,希望对你有一定的参考价值。
题目的建模意思是什么呢?
每个奶牛从a点开始吃,从b+1点就停止吃。这就是间接告诉你这两点组成一个区间,需要差分序列。
之后对差分的序列求前缀和(计算每天的粮草的消耗量),
之后对于消耗的粮草,我们倒着从第D天往第1天加和,如果刚好相符就输出。
#include <cstdio> #include <algorithm> #include <cstring> int n,d,Start,End; int Sum[2333]; int x,y; int main(){ scanf("%d%d%d%d",&n,&Start,&End,&d); int Aim = Start - End; for(int i=1;i<=n;i++){ scanf("%d%d",&x,&y); Sum[x]++; Sum[y+1]--; } for(int i=1;i<=d;i++){ Sum[i]+=Sum[i-1]; //printf("Sum[%d]:%d\n",i,Sum[i]); } int ans = 0; for(int i=d;i>=1;i--){ ans+=Sum[i]; if(ans>=Aim){ printf("%d\n",i); return 0; } } }
以上是关于差分bzoj 1676 [Usaco2005 Feb]Feed Accounting 饲料计算的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ1676: [Usaco2005 Feb]Feed Accounting 饲料计算
bzoj 1731: [Usaco2005 dec]Layout 排队布局差分约束
差分BZOJ 1651 [Usaco2006 Feb]Stall Reservations 专用牛棚
差分BZOJ 1635 [Usaco2007 Jan]Tallest Cow 最高的牛