关于养猪的详细讨论

原创 2018年04月17日 18:10:50

养猪,大家都说是水题,然后今天考试我被卡掉了.

不仅我,大家都被卡掉啦.

于是我专门纪念这道所谓的“水题”.

大概是这样的一道题:

有人要卖猪,开始一天第i头猪的价值为ai,但每天第i头猪的价值会减少pi,若这头猪已经价值为负数了,那么这头猪的价值会变为0.

那么每天只能卖一头猪,问你k天后的最大价值.

那么这是一道DP题.

怎么DP,这明显有后效性.

那我们对它进行一个排序.

这个排序的准则是什么?

我们可以把这几头猪按照pi从大到小排序.

那么后面的猪一定是在前面的猪后面杀的.

证明的话可以用反证法:

假设猪i在猪j后面杀(i<j,已经排序过了),那么pi一定小于pj,肯定不会比猪i在前面杀划算.

若会到0,你就不用管了.

那么我们的排序准则就是以pi为第一关键字,ai为第二关键字排序.

所以我们的后效性问题解决了,我们就可以开始DP了.

我们设dp[i][j]表示前i头猪杀了j头的最大利润.

那么很明显我们可以列出方程:f[i][j]=max(f[i-1][j],f[i-1][j-1]+add).

其中add=max(0,a[i]-p[i]*(j-1)).

那么代码就好写了:

#include<bits/stdc++.h>
  using namespace std;
#define rep(i,j,k) for (int i=j;i<=k;i++)
int n,k;
int dp[1001][1001]={0};
struct pig{
  int start,down;
}p[1001];
inline void into(){
  scanf("%d%d",&n,&k);
  rep(i,1,n)
    scanf("%d",&p[i].start);
  rep(i,1,n)
    scanf("%d",&p[i].down);
}
inline bool cmp(pig a,pig b){
  return a.down>b.down;
}
inline void work(){
  sort(p+1,p+1+n,cmp);
  rep(i,1,n)
    rep(j,1,min(i,k))
      dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]+max(p[i].start-(p[i].down*(j-1)),0));
}
inline void outo(){
  printf("%d\n",dp[n][k]);
}
int main(){
  into();
  work();
  outo();
  return 0;
}

关于项目干系人

1、了解项目干系人的期望 2、识别和管理项目干系人 3、如何让项目干系人满意
  • 2017年07月18日 16:20

洛谷P1659 养猪

https://www.luogu.org/problem/show?pid=1659 妈的就是一道傻逼日提题; 没有那个p[i]那么就是01背包; 有了p[i]那么我们考虑对答案的影响; 显...
  • largecub233
  • largecub233
  • 2017-07-08 15:46:22
  • 378

中国剩余定理 vijos1164 曹冲养猪

中国剩余定理的第一个模板。 这个模板比较简单,求的是一系列的模方程组 x % m = a 用这个模板有几个前提。 1:必须两两互质 2:全部乘起来不能爆long long #include #in...
  • qwb492859377
  • qwb492859377
  • 2015-08-16 18:20:54
  • 1060

项目管理 讨论

一个老话题了,PM的职责问题,影响了PM们的成就感。职责不清楚,PM来问我,感觉难以答复,一方面是跃跃欲试的PM,一方面是公司的老传统,高层的态度和思路我还是清楚的,去争取的成功概率实在太小,而且大家...
  • bamboolsu
  • bamboolsu
  • 2015-01-22 12:40:24
  • 700

阿蒙:不如回家养猪?

据说今年是金猪年,中国人喜欢信这信那的,据医院不完全的统计,预测今年生的猪宝宝比去年的狗宝宝多出至少三分之一,我并不迷信,我是到年龄了,并且也很喜欢小BABY,所以在今年我也会有个猪宝宝,期盼我的猪宝...
  • harrymeng
  • harrymeng
  • 2007-05-30 07:07:00
  • 2979

巴蜀 1738 曹冲养猪

中国剩余定理模板题
  • chai_jing
  • chai_jing
  • 2016-09-25 12:29:31
  • 263

仲恺acm 1064:小明养猪的故事【java】

题目描述 话说现在猪肉价格这么贵,小明也开始了养猪生活。说来也奇怪,他养的猪一出生第二天开始就能每天中午生一只小猪,而且生下来的竟然都是母猪。 不过光生小猪也不行,小明采用了一个很奇特的办法来...
  • cwquan
  • cwquan
  • 2016-01-03 09:41:51
  • 731

小明养猪的故事

1064:小明养猪的故事 分数:1 时间限制:1 秒 内存限制:32 兆 特殊判题:否 标签 递推 题目描述 话说现在猪肉价格这么贵,小明也开始了养猪生活。说来也奇怪,...
  • qq_15096707
  • qq_15096707
  • 2015-01-30 17:18:55
  • 671

关于建立内部会议讨论规范的想法

内部会议讨论规范 (意见征求稿) 1. 本规范的目的 提高开会效率,合理利用讨论时间,形成有效结论和问题解决的结果。 2. 各种会议的特点和要求 2.1. 头脑风暴会 会议目的...
  • e62ces0iem
  • e62ces0iem
  • 2017-06-05 16:23:36
  • 200

控制理论中的男人和女人

呢称:ZhangYi 原文:  ====================================================================================...
  • KISSMonX
  • KISSMonX
  • 2013-09-16 15:20:08
  • 1383
收藏助手
不良信息举报
您举报文章:关于养猪的详细讨论
举报原因:
原因补充:

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