这道题我已开始想先将天数从小到大排,如后dp,自己写着写着就感觉太复杂了,搜一下结题报告,发现这种贪心做法很好啊!!!

主要思想就是 二重排序,先将钱从大到小排,在将时间从大到小排 ,然后开始从头到尾进行贪心选择

#include<iostream>
using namespace std;
#include<algorithm>
struct node
{
 int m;
 int time;
}a[10005];
int dp[10005];
bool cmp(node a,node b)//二重排序,先将钱从大到小排,在将时间从大到小排
{
 if(a.m!=b.m)
 return a.m>b.m;
 else
 return a.time>b.time;
}
int main()
{
 int n;
 while(cin>>n)
 {
  int max=-1;
  memset(dp,0,sizeof(dp));
  for(int i=1;i<=n;i++)
  {
   cin>>a[i].m>>a[i].time;
   if(a[i].time>max)
   max=a[i].time;
  }
  sort(a+1,a+1+n,cmp);
  for(int i=1;i<=n;i++)
  {   
   if(!dp[a[i].time])//将最大的时间存dp里
   dp[a[i].time]=a[i].m;
   else
   for(int j=a[i].time;j>=1;j--)
   {
    if(!dp[j])
    {
     dp[j]=a[i].m;//如果dp里已有,就向后扫
     break;//这个break很重要,在这wa了两次
    }
    
   }
  }
  int sum=0;
  for(int i=1;i<=max;i++)
  sum+=dp[i];
  cout<<sum<<endl;
 }
 return 0;
}

poj 1456 Supermarket 贪心,我已开始用dp,没做出来,惭愧!!相关推荐

  1. poj 1456 Supermarket 贪心+并查集(个人感觉有点难判断出来

    poj 1456 这第一眼还觉得只要贪心就可以了,但是emmm看了大佬的题解居然真的要用到并查集= = 大佬清晰的思路 大佬舒服的代码 #pragma warning(disable:4996) #i ...

  2. poj 1456 Supermarket (贪心, 并查集)

    链接: http://poj.org/problem?id=1456 题目: Description A supermarket has a set Prod of products on sale. ...

  3. 【贪心】 POJ 1456 Supermarket 详解 (并查集/二叉堆优化)

    题目链接:POJ-1456 题目大意 有n件商品,每件商品的利润为,销售日期的截止时间为(即只能在时间前销售该物品).一天只能销售一件物品.问这n件商品的最大利润为多少 方案一 分析 有两种贪心策略, ...

  4. 【并查集】Supermarket(poj 1456/luogu-UVA1316)

    Supermarket poj 1456 luogu-UVA1316 题目大意: 有一堆物品,每一件物品都有自己的价值和保质期,每天只能卖出一件物品,问最大价值是多少 原题: 题目描述 有一个商店有许 ...

  5. (POJ - 1456)Supermarket(并查集)

    题目链接:1456 -- Supermarket 原题意比较难理解,下面我给出一个简化版的理解方式:超市里有n个商品.第i个商品必须在保质期(第di天及之前)卖掉,若卖掉可让超市获得pi的利润,但是每 ...

  6. 【POJ】1456 supermarket

    [POJ]1456 supermarket 给定 n 件物品,第 i件物品有如下信息: 卖出去可以得到pi的收益. 过期时间为di ,过了过期时间就不能再卖出去. 卖掉一件物品要用 1 的时间,求最大 ...

  7. Supermarket | 贪心

    Supermarket | 贪心 from poj 1456 from acwing 145 时间限制 :2s 内存限制:65M Description: A supermarket has a se ...

  8. Supermarket | 贪心 + 并查集

    Supermarket | 贪心 + 并查集 from poj 1456 from acwing 145 时间限制 :2s 内存限制:65M Description: A supermarket ha ...

  9. 禁止1200多种已知病毒的进程,做母盘必备!WINXP版

    禁止1200多种已知病毒的进程,做母盘必备!WINXP版 以前有个哥们发个WIN2000用的注册表,现在我发个XP用的,这样XP的用户也可以用了 Windows Registry Editor Ver ...

  10. 禁止1200多种已知病毒的进程,做母盘必备!(转)

    禁止1200多种已知病毒的进程,做母盘必备!( 对现在有许多病毒连杀毒软件都束手无策,看到大家都在为病毒烦恼,所以我放出这个注册表,禁止病毒的进程运行.包括现在最火的logo_.exe LSASS.E ...

最新文章

  1. 小冰负责人李笛:微软不缺钱,缺对未来的把握
  2. 1.2 正交化-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  3. VTK:Utilities之DataAnimationSubclass
  4. 请求发起过程,在tcp/ip四层网络模型中所做的事情
  5. java IO流小结
  6. 前端学习(1886)vue之电商管理系统电商系统之首页路由的重定向主页侧边栏路由链接的改造
  7. python装饰器 property_介绍Python的@property装饰器的用法
  8. APP 上传之后出现invalid binary 问题解决汇总
  9. 【Xamarin挖墙脚系列:卸载不彻底的解决】
  10. ML for trading -cs7646-03
  11. Android GifImageView加载Gif图片及原理
  12. python安装pyaudio
  13. 华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化...
  14. clr 80004005
  15. 土豆皮,蒜苗长短,胡萝卜
  16. 基于ASAM ODS标准的试验数字化平台-WDP
  17. 【批量识别图片内容改名】如何批量识别图片中的文字并自动改名,如何根据图片上的文字内容重命名图片,批量的识别区域内容如何重命名改名,全部告诉你
  18. (转)(异常分析) org.hibernate.MappingException: entity class not found
  19. 2019.06.28(day01)_java大数据课程体系
  20. 【openSSH】通过证书文件免密码远程登录

热门文章

  1. inline,block 和 inline-block 的区别
  2. swing简单的打字游戏源码
  3. jQuery 1.6 源码学习(七)——core.js[7]之实用工具方法(Utilities)
  4. android activity详解三:保存activity的状态
  5. 在SQL Server中对视图进行增删改
  6. Python的并发并行[3] - 进程[0] - subprocess 模块
  7. mac下nginx搭建
  8. C#复习(学生信息输入)
  9. web中有关文档元素距离的几个jquery 宽度 width高度height 尺寸 属性
  10. SQL Server里的 ISNULL 与 NULLIF