poj1456 贪心
来源:互联网 发布:应聘软件测试自我介绍 编辑:程序博客网 时间:2024/06/02 06:43
题意:有N件商品,分别给出商品的价值和销售的最后期限,只要在最后日期之前销售处,就能得到相应的利润,并且销售该商品需要1天时间。
问销售的最大利润。
解题思路:
1.我用的贪心的思想,将商品的价值从大到小排序,找到销售的最大期限,用visit数组标记,如果它的期限没有被占用,就在该天销售,如果占用,则从它的前一天开始向前查找有没有空闲的日期,如果有则占用。这样就可以得到最大销售量。
#include <iostream>#include <stdio.h>#include <string.h>#include<algorithm>#include <string.h>using namespace std;const int maxn = 10010;struct node{ int t,p;}g[maxn];bool operator < (node a ,node b){ return a.p > b.p;}int vis[maxn] ;int main(){ int n; while(scanf("%d",&n)!=EOF) { int maxx = 0; for(int i = 1; i <= n; i++) { scanf("%d%d",&g[i].p,&g[i].t); if(g[i].t > maxx) maxx = g[i].t; } sort(g+1,g+1+n); memset(vis,0,sizeof(vis)); int ans = 0; for(int i = 1; i <= n; i++) { if(!vis[g[i].t]) { ans += g[i].p; vis[g[i].t] = 1; } else { for(int j = g[i].t - 1; j >=1; j--) { if(!vis[g[j].t]) { ans+=g[i].p; vis[j] = 1; break; } } } } cout<<ans<<endl; } return 0;}
0 0
- poj1456-贪心
- poj1456(贪心)
- POJ1456 贪心
- poj1456 贪心
- POJ1456 Supermarket 贪心 DP
- poj1456--贪心策略
- poj1456 Supermarket(贪心)
- POJ1456(贪心)
- POJ1456 Supermarket (贪心)
- poj1456(贪心)
- poj1456
- POJ1456
- poj1456
- poj1456
- poj1456(贪心加并查集)
- POJ1456贪心(set或者并查集区间合并)
- POJ1456 Supermarket简单贪心(无优化)题解
- 当并查集遇上贪心【UVA1623,UVA11134,POJ1456】
- 部署javaweb到云服务器上
- 最小化安装centos7.3+redmine3.3.3+passenger
- FFmpeg 命令行推流 传视频到组播①
- listview 加标题
- MySQL
- poj1456 贪心
- HTTP实现断点续传简单实例
- ubuntu-kdevelop配置ros开发环境
- 线段树练习五(+树状数组)
- 创建ROS工作空间
- 内存泄漏是怎么一回事?
- 超强干货!快速使用u盘win7系统安装教程图
- java学习笔记--线程1
- 智能卡 ATR解析