• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dwtfukgv
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  数据结构

上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
L2-013. 红色警报 (并查集)

摘要:战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N <= 阅读全文
posted @ 2017-03-24 22:02 dwtfukgv 阅读(202) 评论(0) 推荐(0)
POJ 1127 Jack Straws (线段相交)

摘要:题意:给定一堆线段,然后有询问,问这两个线段是不是相交,并且如果间接相交也可以。 析:可以用并查集和线段相交来做,也可以用Floyd来做,相交就是一个模板题。 代码如下: 阅读全文
posted @ 2017-03-23 17:54 dwtfukgv 阅读(184) 评论(0) 推荐(0)
POJ 3723 Conscription (最小生成树)

摘要:题意:给定 n 个男人,m 个女人,和 r 个男女之间的关系,每个征募一个人要用10000元,但是如果有关系可以少花一些钱,即10000-亲密度, 求一个最小要花多少钱。 析:最后生成的关系肯定是一片森林,也就是最大权森林,但是我可以把权值取反,然后就是一个求最小森林了。 代码如下: 阅读全文
posted @ 2017-03-15 18:12 dwtfukgv 阅读(117) 评论(0) 推荐(0)
POJ 2823 Sliding Window (单调队列)

摘要:题意:给定一个序列,从左到右每次的滑动一个窗口,最大值和最小值是多少。 析:普通的方法可能会超时,维护两个单调队列,一个单调递增的,一个单调递减,每次把最值保存下来。 也可以用线段树,RMQ等数据结构,每次查询区间的最小值和最大值。POJ 交G++ 死活超时,交C++才过。 代码如下: 阅读全文
posted @ 2017-03-14 15:49 dwtfukgv 阅读(88) 评论(0) 推荐(0)
UVaLive 3983 Robotruck (DP + 单调队列)

摘要:题意:有n个垃圾,第i个垃圾坐标为(xi,yi),重量为wi,有一个机器人,要按照编号从小到大的顺序剑气所有的垃圾兵扔进垃圾桶,垃圾桶在原点, 每次总重量不能超过C,两点间距离为曼哈顿距离,求出最短的距离和。 析:第一反应想到的状态是有个数和重量,一看,时间复杂度受不了,只能改。dp[i] 表示从原 阅读全文
posted @ 2017-03-10 16:57 dwtfukgv 阅读(211) 评论(0) 推荐(0)
UVaLive 3905 Meteor (扫描线)

摘要:题意:给定上一个矩形照相机和 n 个流星,问你照相机最多能拍到多少个流星。 析:直接看,似乎很难解决,我们换一个思路,我们认为流星的轨迹就没有用的,我们可以记录每个流星每个流星在照相机中出现的时间段, 然后我们可以枚举时间段么?不行,这个是实数集上的,所以我们用扫描线,就相当于在x轴上有n个区间,我 阅读全文
posted @ 2017-03-07 19:33 dwtfukgv 阅读(140) 评论(0) 推荐(0)
UVaLive 3902 Network (无根树转有根树,贪心)

摘要:题意:一个树形网络,叶子是客户端,其他的是服务器。现在只有一台服务器提供服务,使得不超k的客户端流畅,但是其他的就不行了, 现在要在其他结点上安装服务器,使得所有的客户端都能流畅,问最少要几台。 析:首先这是一棵无根树,我们可以转成有根树,正好可以用原来的那台服务器当根,然后在不超过 k 的叶子结点 阅读全文
posted @ 2017-03-07 18:51 dwtfukgv 阅读(227) 评论(0) 推荐(0)
POJ 1182 食物链 (破题)

摘要:食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 119148 Accepted: 36393 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动 阅读全文
posted @ 2017-03-06 22:50 dwtfukgv 阅读(179) 评论(0) 推荐(0)
POJ 1703 Find them, Catch them (并查集)

摘要:题意:一共有N个人,给出M个操作分为两种: 1、A a b :提问a和b是否是同一个帮派的。有三种答案:是,不是和不确定 2、D a b :a和b不是同一个帮派的。 析:加权并查集,用一个r[i]来表示 i 和其父亲的关系,如果为0,表示 i 和其父亲是同一帮,1表示不是,每次更新即可。 代码如下: 阅读全文
posted @ 2017-03-06 20:54 dwtfukgv 阅读(145) 评论(0) 推荐(0)
POJ 3658 Artificial Lake (单调栈)

摘要:题意: 析:利用单调栈,维护一个单调递增的栈,首先在最低的平台开始,每次向两边进行扩展,寻找两边最低的,然后不断更新宽度。 代码如下: 阅读全文
posted @ 2017-03-02 12:21 dwtfukgv 阅读(153) 评论(0) 推荐(0)
HDU 3706 Second My Problem First (单调队列)

摘要:题意:求给定的一个序列中最长子序列,该子序列的最大值和最小值介于m和k之间。 析:用两个单调队列来维护一个最小值,一个最大值,然后每次更新即可。 代码如下; 阅读全文
posted @ 2017-02-28 20:33 dwtfukgv 阅读(138) 评论(0) 推荐(0)
UVa 12661 Funny Car Racing (dijkstra)

摘要:题意:给定一个有向图,每条路有5个整数修饰,u, v, a, b, t,表示起点为u,终点为v,打开时间a,关闭时间为b,通过时间为t,打开关闭是交替进行的, 问你从s到t最短时间是多少。 析:使用dijkstra算法,从每个结点出发,求最短路,并维护时间的最小值,这个可以用优先队列,然后考虑能不能 阅读全文
posted @ 2017-02-19 17:47 dwtfukgv 阅读(147) 评论(0) 推荐(0)
UVa 658 It's not a Bug, it's a Feature! (状态压缩+Dijstra)

摘要:题意:首先给出n和m,表示有n个bug和m个补丁。一开始存在n个bug,用1表示一个bug存在0表示不存在,所以一开始就是n个1,我们的目的是要消除所有的bug, 所以目标状态就是n个0。对于每个补丁,会给出使用这个补丁的时间,另外会给出两个长度为n的字符串,第一个字符串表示这个补丁适用于什么情况下 阅读全文
posted @ 2017-02-19 14:56 dwtfukgv 阅读(249) 评论(0) 推荐(0)
UVa 12333 Revenge of Fibonacci (字典树+大数)

摘要:题意:给定一个长度小于40的序列,问你那是Fib数列的哪一项的前缀。 析:首先用大数把Fib数列的前100000-1项算出来,注意,一定不能是100000,要不然会WA的,然后每个数取前40位,不足40位的全取,然后插入到字典树上, 并用一个数组标记是哪一项,最后查询的时候,如果查不到就是无解,否则 阅读全文
posted @ 2017-02-16 22:52 dwtfukgv 阅读(238) 评论(0) 推荐(0)
POJ 3419 Difference Is Beautiful (DP + 二分 + rmq)

摘要:题意:给n个数(n<=200000),每个数的绝对值不超过(10^6),有m个查询(m<=200000),每次查询区间[a,b]中连续的没有相同数的的最大长度。 析:由于n太大,无法暴力,也承受不了O(n*n)的复杂度,只能是O(nlogn),首先是用f[i] 表示每个数 i 为左端点,向右可以最多 阅读全文
posted @ 2017-01-31 20:52 dwtfukgv 阅读(198) 评论(0) 推荐(0)
CodeForces 755C PolandBall and Forest (并查集)

摘要:题意:给定每一点离他最远的点,问是这个森林里有多少棵树。 析:并查集,最后统计不同根结点的数目即可。 代码如下: 阅读全文
posted @ 2017-01-16 12:43 dwtfukgv 阅读(192) 评论(0) 推荐(0)
CodeForces 754D Fedor and coupons (优先队列)

摘要:题意:给定n个优惠券,每张都有一定的优惠区间,然后要选k张,保证k张共同的优惠区间最大。 析:先把所有的优惠券按左端点排序,然后维护一个容量为k的优先队列,每次更新优先队列中的最小值,和当前的右端点, 之间的距离。优先队列只要存储右端点就好。 代码如下: 阅读全文
posted @ 2017-01-15 16:39 dwtfukgv 阅读(192) 评论(0) 推荐(0)
POJ 3468 A Simple Problem with Integers (线段树)

摘要:题意:给定两种操作,一种是区间都加上一个数,另一个查询区间和。 析:水题,线段树。 代码如下: 阅读全文
posted @ 2016-11-19 17:46 dwtfukgv 阅读(172) 评论(0) 推荐(0)
HDU 1754 I Hate It (线段树)

摘要:题意:略。 析:裸的线段树。 代码如下: 阅读全文
posted @ 2016-11-19 16:59 dwtfukgv 阅读(134) 评论(0) 推荐(0)
HDU 1166 敌兵布阵 (数状数组,或线段树)

摘要:题意:。。。 析:可以直接用数状数组进行模拟,也可以用线段树。 代码如下: 阅读全文
posted @ 2016-11-19 16:30 dwtfukgv 阅读(118) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3