Shaolin

hdu4585-题意:

对于每一个新队友,找到与他实力最接近的老队友(优先选实力低的),然后新队员加入成老队员

解析:

明显用二分处理,查找与他实力最近的两位

set,map都能自动排序,选择任意一种解决

1.map&set

ac:

#include<bits/stdc++.h>
using namespace std;
map<int,int> mp;set<int> st;
set<int>::iterator it;int main()
{int n,x,j;while(scanf("%d",&n)!=EOF){if(n==0)break;st.clear();st.insert(1000000000);mp[1000000000]=1;if(n==0)break;for(int i=1;i<=n;i++){scanf("%d%d",&j,&x);mp[x]=j;it=st.lower_bound(x);if(it==st.end()){it--;printf("%d %d\n",j,mp[*it]);}else{int v=*it;if(it!=st.begin()){it--;int g=*it;//小的if(abs(g-x)<=abs(v-x))printf("%d %d\n",j,mp[g]);elseprintf("%d %d\n",j,mp[v]);}elseprintf("%d %d\n",j,mp[*it]);}st.insert(x);}}return 0;
}

map

ac:

#include<bits/stdc++.h>
using namespace std;
map<int,int> mp;
map<int,int>::iterator it;int main()
{int n,j,x;while(scanf("%d",&n)!=EOF){if(n==0)break;mp.clear();mp[1000000000]=1;for(int i=0;i<n;i++){scanf("%d%d",&j,&x);it=mp.upper_bound(x);if(it==mp.end()){it--;printf("%d %d\n",j,it->second);}else{if(it==mp.begin())printf("%d %d\n",j,it->second);else{int v=it->first;it--;int g=it->first;if(abs(g-x)<=abs(v-x))printf("%d %d\n",j,it->second);elseprintf("%d %d\n",j,(++it)->second);}}mp[x]=j;}}return 0;
}

hdu-6667:http://acm.hdu.edu.cn/showproblem.php?pid=6667

题意:

每个班有a[i]个人,产生b[i]杯咖啡

每个班的人只能吃别的班的咖啡

问有多少人能喝咖啡:

ac:

我用unordered_map遍历,喝完了就删掉

unordered_map删除的时候,要it++后,吧(it-1)删掉,不能直接删 it->first,如果直接删除,it->first指针溢出

ac:

#include<bits/stdc++.h>
#define lowbit(x) (x)&(-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define pb push_back
#define ll long long
#define mod 1e9+7
#define MAXN 2000005
using namespace std;
typedef unsigned long long ull;
ll gcd(ll a,ll b) {while(b^=a^=b^=a%=b);return a;}
ll a[MAXN],b[MAXN];unordered_map<int,int> hash1;
unordered_map<int,int>::iterator it,gt;int main()
{//IOS//freopen("E:/in.txt","r",stdin);//freopen("E:/out.txt","w",stdout);int t,n;scanf("%d",&t);while(t--){hash1.clear();scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);hash1[i]=b[i];}ll sum=0;for(int i=1;i<=n;i++){int k=a[i];for(it=hash1.begin();it!=hash1.end();){if(i==it->first){}else{if(it->second<k){k-=it->second;sum+=it->second;hash1[it->first]=0;}else{hash1[it->first]=hash1[it->first]-k;sum+=k;break;}}       //注意,不能直接删除gt->firstgt=it;it++;if(hash1[gt->first]==0)hash1.erase(gt->first);}}printf("%lld\n",sum);}return 0;
}

Shaolin(map||set)相关推荐

  1. Shaolin HDU - 4585(map模板题)

    题意: 少林寺有n+1个和尚,他们都有一个独有的编号和战斗力值,当一个年轻人通过所有考试并被宣布为少林的新僧人时,将会有一场战斗,作为欢迎的一部分.新和尚必须与一位战斗等级最接近他的战斗等级的老和尚战 ...

  2. Shaolin(map+iterator) HDU - 4585

    Shaolin(map+iterator) HDU - 4585 少林寺以武僧而闻名.每年都有很多年轻人去少林寺当和尚.少林的主人评估一个年轻人主要通过他的人才了解佛教经文,但武功也考虑在内. 当一个 ...

  3. Map的分类和不同的应用场景

    java为数据结构中的映射定义了一个接口java.util.Map; 它有四个实现类,分别是HashMap,Hashtable,LinkedHashMap和TreeMap 可能很多人只使用过HashM ...

  4. java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解

    1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...

  5. Go 学习笔记(67)— Go 并发安全字典 sync.Map

    1. 并发不安全的 map Go 语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是 ...

  6. Python 常用内置函数map、zip、filter、reduce、enumerate

    Python 中有许多非常实用的内置函数,通过这些函数我们可以方便的实现某些功能,下面就列举一些常用的内置函数. 1. map() 函数 map() 可以根据提供的函数对指定序列做映射,它接受一个函数 ...

  7. 将request中的所有参数存放到自定义的map中

    /*** <获取参数map>* * @return 参数map* @throws Exception */protected Map<String, Object> getPa ...

  8. Map再整理,从底层源码探究HashMap

    前言 本文为对Map集合的再一次整理.内容包括:Map HashMap LinkedHashMap TreeHashMap HashTable ConcurrentHashMap Map Map< ...

  9. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  10. 网络模型mAP计算实现代码

    网络模型mAP计算实现代码 一.mAP精度计算 这里首先介绍几个常见的模型评价术语,现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)分别是: 1)True posi ...

最新文章

  1. 谈谈NITE 2与OpenCV结合的第二个程序(提取人体骨骼坐标)
  2. qml dockwidget窗口停靠
  3. IIS 之 Asp.Net项目内部运行详解
  4. 1到10选一个数字读心术_厉害了!quot;广东110“互联网报警满足您多场景报警需求!...
  5. 用webstorm自动编译less产出css和sourcemap
  6. HTTP(2)----图文解析HTTP
  7. android 获取网卡mac_android 获取MAC地址
  8. 《战地风云2042》游戏评测,云游戏走起
  9. w7系统里没有iis信息服务器,win7系统控制面板的管理选项没有“internet信息服务(IIS)管理器”的解决方法...
  10. “恶意版”俄罗斯方块游戏火了
  11. Ubuntu X86编译安装Gstreamer nvenc插件(硬件编码)
  12. SCAU-春季训练-不应该啊(怎么这么菜。。。)
  13. Leetcode 1905. Count Sub Islands
  14. 统计多个渠道App下载量效果
  15. 台积电2016年6月营收公布:股价飙升创台个股新记录
  16. 达梦使用powerdesigner生成er模型图
  17. pytorch dataload 出错:: invalid argument 0: Sizes of tensors must match except in dimension 0
  18. Python输入圆的半径,计算圆的周长和面积
  19. Android 媒体 IV-支持的媒体格式
  20. java web QQ (前言)

热门文章

  1. Manjaro找不到默认键盘布局
  2. 小白入门——关于什么是区块链
  3. 拿webshell的一些姿势
  4. REST, Hypermedia HATEOAS
  5. cao方法matlab程序,偏最小二乘法 matlab程序 [转]
  6. 解析 DES 加密算法(C语言):
  7. 【Python】Spy++使用
  8. Python爬虫实现无限刷不背单词app的酷币!很有意思!
  9. 充电器pps功能是什么_科普:PPS充电器为何不兼容笔电?
  10. can总线短距离不用双绞线_CAN总线抗干扰的6条“军规”