poj 3262 贪心

原创 2017年01月03日 15:51:07

题意:(翻译一遍)农夫J想要去砍树,留下N头牛,让他们吃草,当他返回的时候,使他焦虑的是  他发现那群牛正在吃他漂亮的花,为了使他接下来的

               损失达到最小,他立刻采取行动,把牛赶回牛圈里。每头牛在距离牛圈Ti位置,而且,当牛在等待的时候,他每单位时间吃Di朵花,农夫J一次只能

              赶一头牛,需要2*Ti时间(来回),问按照那种赶牛顺序可以使损失最小。(在赶牛的过程中,被赶的那头牛不吃花,其他牛吃花)

#include<stdio.h>
#include<math.h>
typedef struct
{
    int eat,distance;
}Cow;
Cow cow[100500];
void qsort(int l,int r)
{
         int i,j;
        Cow temp;
         if(l<r)
          {
              i=l;
              j=r;
              temp=cow[l];
              while(i<j)
              {
                     while(i<j&&cow[j].eat*temp.distance<=temp.eat*cow[j].distance)
                            j--;
                     if(i<j)
                       cow[i++]=cow[j];
                     while(i<j&&cow[i].eat*temp.distance>temp.eat*cow[i].distance)
                              i++;
                     if(i<j)
                       cow[j--]=cow[i];
             }
             cow[i]=temp;
             qsort(l,i-1);
             qsort(i+1,r);
          }
}
int main(void)
{
        int i,N,j,sum=0;
        long long tsum=0;
        scanf("%d",&N);
        for(i=0;i<N;i++)
        {
              scanf("%d%d",&cow[i].distance,&cow[i].eat);
              sum+=cow[i].eat;
        }
        qsort(0,N-1);
        tsum=0;
        for(i=0;i<N;i++)
        {
                     sum-=cow[i].eat;
                     tsum+=cow[i].distance*2*sum; 
         }
         printf("%lld\n",tsum);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《挑战程序设计竞赛》2.2.2 贪心法-其它 POJ3617 3069 3253 2393 1017 3040 1862 3262

POJ3617Best Cow Line题意给定长度为N的字符串S,要构造一个长度为N的字符串T。起初,T是一个空串,随后反复进行下列任意操作: 从S的头部(或尾部)删除一个字符,加到T的尾部 目...

poj3262 贪心

如题:http://poj.org/problem?id=3262   Protecting the Flowers Time Limit: 2000MS   Memory ...

POJ 3262 Protecting the Flowers (贪心 + 优化)

Description Farmer John went to cut some wood and left N (2 ≤ N ≤ 100,000) cows eating the grass, a...

poj 3262贪心

看的大神的证明: 贪心 > 当前最优,因为每一次搬运之后剩下的问题和原问题一样,只是规模变小了,故如果每次选出当前最优的解来进行选取,则累计起来的解也是最优的. > 所以这是一道贪心题. > 选择...

POJ 3262 Protecting the Flowers(贪心)

Language: Default Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K ...

POJ 3262 - Protecting the Flowers(贪心)

Description Farmer John went to cut some wood and left N (2 ≤ N ≤ 100,000) cows eating the grass,...

POJ 3262 Protecting the Flowers (贪心)

Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: ...
  • lwt36
  • lwt36
  • 2015-02-23 23:12
  • 307

POJ3262 Protecting the Flowers(贪心)

Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4968   Acc...

【贪心】POJ 3262 Protecting the Flowers

Protecting the Flowers Time Limit: 2000MS Memory Limit: 65536KDescriptionFarmer John went to c...

POJ3262 Protecting the Flowers 【贪心】

Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4418   Acc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)