
ACM_STL
文章平均质量分 75
京城一十三
你在凝视深渊的时候 深渊也在凝视着你
展开
-
hdu5249KPI动态中位数(两个set)
题意(中问题直接粘题意吧) KPIProblem Description你工作以后, KPI 就是你的全部了. 我开发了一个服务,取得了很大的知名度。数十亿的请求被推到一个大管道后同时服务从管头拉取请求。让我们来定义每个请求都有一个重要值。原创 2015-06-04 16:14:35 · 912 阅读 · 0 评论 -
POJ1456贪心(set或者并查集区间合并)
题意: 给你n商品,每个商品有自己的价值还有保质期,一天最多只能卖出去一个商品,问最大收益是多少?思路: 比较好想的贪心,思路是这样,每一次我们肯定拿价值最大的,至于在那天拿当然是尽可能的往后拖了,因为可以把前面的时间留给一些快过期的用,这种贪心策略很容易想到,对于实现的时候我尝试了两种方法,首先把商品按照价格从大到小排序,一个是我以前常用的set容器,他可原创 2015-02-06 16:40:28 · 801 阅读 · 0 评论 -
UVA11020 优势人群(multiset)
题意: 给你N个人,每个人有两个权值,x,y对于某一个人,如果不存在某一个人x' y',x' 思路: 可以在一个二维坐标系上找到规律,所有人都可以映射到二维坐标系上的某一个点,对于任意两个人不同的人(x,y都相等看成一个人)来说,如果他俩都是优势人群,那么他俩肯定存在这样的关系 x y',这样就在坐标系上形成了一个递减的线,还有就是在加人的过程中一定要记住原创 2015-01-08 16:07:41 · 804 阅读 · 0 评论 -
hdu 5020 求三点共线的组合数(容器记录斜率出现次数)
题意: 给你n个点,问你3点共线的组合数有多少,就是有多少种组合是满足3点共线的。思路: 一开始抱着试1试的态度,暴力了一个O(n^3),结果一如既往的超时了,然后又在刚刚超时的代码上直接加了一个优化,就是如果当前斜率出现的次数小于2次,那么第三重for就不用在跑了,结果,呵呵,又超时了,然后又尝试了一个方法,就是枚举每一个点,求出所原创 2014-09-24 16:29:47 · 890 阅读 · 0 评论 -
hdu4302 set或者线段树
题意: 一条蛇生活在一个管子里,然后管子上面的某些位置会一次出现食物,每次蛇都会吃最近的食物,吃完之后就原地不动,等待下一次吃食物,如果有两个食物距离蛇一样远并且都是最近的,那么蛇不会掉头,而是直接按他最后停留的方向走,去吃自己前方的食物,最后给一些命令,问蛇一共走了多少路。思路: 看完一下就想到了set,结果原创 2014-08-26 16:32:53 · 802 阅读 · 0 评论 -
hdu4941 map交换行列
题意: 有一个大矩阵,某些格子上有数字,然后有三种操作,1 交换行2 交换列3 询问当前坐标数值思路: 直接用map去映射行列,用二维的map去存数字就行了,水题,想不通的看下代码。原创 2014-08-21 20:17:55 · 502 阅读 · 0 评论 -
hdu4907 水dp 或者set
题意: 给你一些被占用的时间点,然后有一些询问,每次输出大于等于询问时间的没被占用的最小的那个时间。思路: 直接把所有用过的时间标记上,然后倒着更新一遍当前最小空余时间,或者用set做,两个都在下面写代码了,水题不解释了,直接看看代码就懂了。原创 2014-08-06 00:05:15 · 564 阅读 · 0 评论 -
hdu3768 spfa+全排列
题意: 给你一个无向图,和一些必须经过的点,问你从起点出发,到达所有必须经过的点再回来的最小总路径.思路: 因为必须经过的点的数量很小,小于等于10,全排列是 10! = 3628800 所以以每个必须经过的点为起点跑最短路,记录数值,然后全排列,枚举经过顺序,取得最小就行了..#include#include#include#in原创 2014-04-16 11:29:30 · 813 阅读 · 0 评论 -
hdu4585 STL水题
题意: 成立少林寺,刚开始有一个大师,id是1,攻击力是10E,现在陆续来人,每个人有自己的id,和自己的攻击力,但是每一个新来的要和之前的和尚pk,他必须选择和他攻击力差值最小的那个,如果有两个差值一样的话选择攻击力比他小的那个,输出pk组合..思路: 一开始还以为线段树呢,哎! 水题,我用的set找最接近的,map哈希他们的id了,其实直接一个map就原创 2014-03-30 15:32:48 · 781 阅读 · 0 评论 -
hdu4403暴力搜索
题意: 给你一个数字串,让你在里面添加一个=和若干个+,使等式成立.思路: lmax最大是15,直接暴搜,无压力,关键是判重,要在答案的时候判重,一开始在进队列之前判的,各种wa,哎!后来才发现如果在之前判断就不能得到当前什么符号都不加,而下一个有符号了,判重我用的是map,随意什么只要别爆内存就行,水搜索竟然调了2个小时,丢脸啊...#in原创 2014-03-26 10:58:50 · 547 阅读 · 0 评论 -
hdu4400 BFS+STL
题意: 煤矿爆炸,每个煤矿有自己的x,y,d,d是他爆炸后会是d距离内的爆炸,每次输入一个爆炸的煤矿,问你这个煤矿爆炸会有多少个煤矿爆炸.思路: 爆炸的过程就是搜索的过程,被当前煤矿弄爆炸的煤矿可能继续去吧别的煤矿蹦爆炸,所以是搜索的过程,但直接搜会超时,所以各种STL,估计是数据水,不然我人感觉STL碰到坑人数据也得N^2,一样跪,思路是按照x离散化原创 2014-03-26 10:56:31 · 659 阅读 · 0 评论 -
hdu4277 DFS+SET
题意: 给你一些木棍,问你可以组成多少个三角形..思路: 直接深搜,N很小深搜无压力,也可以直接算出来,但我不会算.. #include#includeusing namespace std;__int64 num[20];int n;set__int64>st;void dfs(__int64 a ,__int64 b ,__原创 2014-03-26 10:54:02 · 564 阅读 · 0 评论 -
常用的STL
map 容器和数组一样,不过比较活用,相当于直接离散化数组mapmp 一维intmapmp 一维 strmap >mp 二维,经常大数hash时候用map >mp 一对多的关系,相当于一个离散化并且随时可以删除指定元素,获得元素个数的灵活二维容器.... set 是个容器,有集合的性质,不弄存重复的数,如下函数.size()//当前容原创 2014-03-16 18:18:22 · 645 阅读 · 0 评论 -
hdu4022 map+multiset
题意: 给你一些敌人的坐标,每次让你删除某一行或者某一列,问你每一次操作能删除多少人.....思路: map和multiset的完美结合,吧set定义到map里,达到一个一对多的效果,其实就是实现一个一维multi数组,可以随时查询长度的数组,同时用map还可以达到离散化的效果,开两个数组,表示 markx[] ,marky[], x所在行 和 y所在列的元原创 2014-03-16 17:08:40 · 868 阅读 · 0 评论