51nod1475(贪心&枚举)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1475
题意:中文题诶~
思路:看懂题意后,首先想到的是贪心:
按照人数非递增排序,对于当前城市尽量将其排在离首都远的地方,这样得到的人数显然是最大的;
对于最右边可以放两个城市,我一开始是将其余城市都安排好,再从剩下的城市中选择一个人数尽量多的。然而wa了;
举一个反例:
5 5
4 1
3 2
2 3
1 4
1 4
按照这个思路得到的答案是13,但显然正确答案是14;
显然右边多出的一个城市不能最后再选,因为本来多出的那个城市可能会在前面贪心时就被选走了;
解决的方法很简单,既然放后面不行,那先确定多出的那个城市就好了,所以可以先枚举多出那个城市,再按照前面的思路贪心剩下的城市就好了。。。
代码:
#include <iostream>
#include <algorithm>
#include <map>
#include <string.h>
using namespace std; const int MAXN=1e5+;
map<int, bool> vis;
struct node{
int hi, pi;
}gg[MAXN]; bool cmp(node a, node b){
return a.pi==b.pi?a.hi<b.hi:a.pi>b.pi;
} int main(void){
int n, k, num=;
cin >> n >> k;
for(int i=; i<n; i++){
cin >> gg[i].hi >> gg[i].pi;
}
sort(gg, gg+n, cmp);
for(int j=; j<n; j++){
if(gg[j].hi>=k) continue;
vis.clear();
int ans=gg[j].pi, cnt=;
for(int i=; i<n; i++){
if(i==j||gg[i].hi<gg[j].hi||cnt>=k-gg[j].hi) continue;
int x=k-gg[i].hi;
while(vis[x]&&x>=){
x--;
}
if(x>){
vis[x]=true;
ans+=gg[i].pi;
cnt++;
}
}
num=max(num, ans);
}
cout << num << endl;
return ;
}
51nod1475(贪心&枚举)的更多相关文章
- POJ 1018 Communication System 贪心+枚举
看题传送门:http://poj.org/problem?id=1018 题目大意: 某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m个厂家提供生产,而每个厂家生产的同种设备都 ...
- 【搜索】POJ-2718 贪心+枚举
一.题目 Description Given a number of distinct decimal digits, you can form one integer by choosing a n ...
- [APIO2015]巴厘岛的雕塑 --- 贪心 + 枚举
[APIO2015]巴厘岛的雕塑 题目描述 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道. 在这条主干道上一共有\(N\)座雕塑,为方便起见,我们把这些雕塑从 1 到\(N\)连续地进行 ...
- hdu 4091 Zombie’s Treasure Chest 贪心+枚举
转自:http://blog.csdn.net/a601025382s/article/details/12308193 题意: 输入背包体积n,绿宝石体积s1,价值v1,蓝宝石体积s2,价值v2,宝 ...
- HDU 5303 Delicious Apples (贪心 枚举 好题)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- 贪心+枚举/哈希表 HDOJ Trouble
题目传送门 题意:5个集合,每个集合最多200个数字,问是否每个集合挑一个数加起来和为0. 分析:显然n^5的程序果断超时,甚至n^3logn的二分也过不了.想n^3的方法,既然判断有没有,那么可以将 ...
- Delicious Apples (hdu 5303 贪心+枚举)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- HDU 5303 Delicious Apples (2015多校第二场 贪心 + 枚举)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- Codeforces C. Elections(贪心枚举三分)
题目描述: C. Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
随机推荐
- 深入理解Java:注解(Annotation)自己定义注解入门
深入理解Java:注解(Annotation)自己定义注解入门 要深入学习注解.我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前.我们就必须要了解Java为我们提供的元注解和相关定义注解的 ...
- linux内核驱动中对文件的读写 【转】
本文转载自:http://blog.chinaunix.net/uid-13059007-id-5766941.html 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文 ...
- HDU3183 A Magic Lamp —— 贪心(单调队列优化)/ RMQ / 线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 题解: 方法一:贪心. 在草稿纸上试多几次可以知道,删除数字中从左到右最后一位递增(可以等于)的 ...
- OSI和TCP/IP
OSI和TCP/IP 1. OSI的七层网络结构(功能及特点) 1) 物理层:为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特.此外,该层中还具有确定连接设备的 ...
- windows下的host文件在哪里,有什么作用?
在Window系统中有个Hosts文件(没有后缀名),在Windows98系统下该文件在Windows目录,在Windows2000/XP系统中位于C:\Winnt\System32\Drivers\ ...
- java基础汇总
1.关于Http和Hibernatet里面Session的区别HttpSession HttpSession:是一个抽象接口,J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个H ...
- NSMutableURLRequest,在POST方式下传递参数
1. [代码][C/C++]代码 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; NSUs ...
- UITabBar 设置选中、未选中状态下title的字体颜色
一.如果只是设置选中状态的字体颜色,使用 tintColor 就可以达到效果 self.tabBar.tintColor = [UIColor redColor]; 二.但如果要将未选中状态和选中状 ...
- 在线判题系统hustoj的搭建
摘要:ACM/ICPC程序设计竞赛,越来越受到各个高校的重视,是程序设计竞赛中的奥林匹克.Hustoj是搭建在linux系统上的判题系统.能够判断代码的正确性.会及时返回通过或者不通过,如果不通过会返 ...
- [转载]Dalvik指令集
这篇文章是转载的,为了便于查找一些指令,贴在这里. 转自:http://blog.csdn.net/canfengxiliu/article/details/20144119 ------------ ...