随笔分类 -  算法

摘要:Building a Space Station POJ - 2031 题意: 给定n个球形空间的坐标(x,y,z)以及半径。以下三种情况均可视为空间之间连通:(1)两球之间有重合部分或一个被另一个完全包含在内;(2)两球之间有走廊直接连接;(3)两球之间通过走廊间接连接。走廊建在两个球形空间的表面 阅读全文
posted @ 2020-08-14 00:49 StreamAzure 阅读(108) 评论(0) 推荐(0)
摘要:Jungle Roads POJ - 1251 题意: 给定若干条村庄之间的道路及其维护费用,问可以保证各村庄之间连通的最低维护费用。 思路: 直接套最小生成树的板子。 int fa[maxn]; int r[maxn]; int x[maxn], y[maxn], w[maxn]; int num 阅读全文
posted @ 2020-08-14 00:00 StreamAzure 阅读(82) 评论(0) 推荐(0)
摘要:Connections in Galaxy War ZOJ - 3261 题意: 有$n$颗星星,编号$0到n$。第$i$颗星星的能量值为$Pi$。每颗星星可以向与它直接或间接相连、且能量值比它大(相等也不行)的星星求助,如果这样的星星有多颗,则向其中编号最小的星星求助。现给定$m$条星星之间的通道 阅读全文
posted @ 2020-08-13 22:25 StreamAzure 阅读(123) 评论(0) 推荐(0)
摘要:A Bug's Life POJ - 2492 题意: 一种昆虫,异性之间才能配对,同性之间不能配对。现给出$n$只昆虫的$m$条配对关系,问其中有没有不合理(即同性配对)的情况。 思路: 虽然看起来迥异,但这题的内在逻辑和Parity game POJ - 1733是一样的……所以公式可以照搬,都 阅读全文
posted @ 2020-08-11 15:05 StreamAzure 阅读(91) 评论(0) 推荐(0)
摘要:Rochambeau POJ - 2912 题意: $N$个小孩玩$M$轮剪刀石头布。其中$1$个小孩是法官,剩下的小孩分为$3$组(可能有空的组)。每轮游戏随机从所有小孩中抽两个人,同组的小孩会出同样的手势,不同组的小孩会出不同的手势,法官可以随意出手势。现给出$M$轮游戏的结果,问哪个小孩是法官 阅读全文
posted @ 2020-08-11 14:43 StreamAzure 阅读(86) 评论(0) 推荐(0)
摘要:食物链 POJ - 1182 思路: 因为和这题差不多,所以就只简单地写一下关键点。 路径压缩的关系维护: A与fa[A]的关系 fa[A]与root的关系 A与root的关系 同类【0】 同类【0】 同类【0】 同类【0】 吃root【1】 吃root【1】 同类【0】 被root吃【2】 被ro 阅读全文
posted @ 2020-08-10 02:18 StreamAzure 阅读(114) 评论(0) 推荐(0)
摘要:1.【板子题】Wireless Network POJ - 2236 (标记结点是否可用) 2.【板子题】The Suspects POJ - 1611 (判断有多少个结点与结点0在同一集合) 3.【板子题】How Many Tables HDU - 1213 (统计集合的个数) 4.【带权并查集】 阅读全文
posted @ 2020-08-10 01:43 StreamAzure 阅读(98) 评论(0) 推荐(0)
摘要:How Many Answers Are Wrong HDU - 3038 题意: 有一个长度已知的整数串,给出一系列包含$l,r$的语句,表示$[l,r]$这个区间的和。问有多少条语句是错误的。 思路: 多组输入!!! 数据只有$2×10^5$这么大,不用离散化了。 因为和这题差不多,所以就只简单 阅读全文
posted @ 2020-08-09 23:56 StreamAzure 阅读(105) 评论(0) 推荐(0)
摘要:Parity game POJ - 1733 题意: 有一个长度已知的01串,给出一系列包含$l,r$的语句,表示$[l,r]$这个区间中的1是奇数个还是偶数个。问前多少条语句是正确的。 思路: 一:集合元素的选定 首先为了能连通,需要把所给闭区间改为左开右闭区间,如第2~4位上有偶数个1,改写为$ 阅读全文
posted @ 2020-08-09 22:54 StreamAzure 阅读(141) 评论(0) 推荐(0)
摘要:Supermarket POJ - 1456 题意: 给出$n$种商品的价格及最后出售期限(如2表示最晚在第2天出售),每天只能出售一种商品,问最大销售额。 思路: 首先想到贪心。如果商品之间存在时间冲突,显然选择价格更高的那一个更优。 将所有商品按价格从大到小排序。对于第$i$个商品,先尝试在它的 阅读全文
posted @ 2020-08-08 23:03 StreamAzure 阅读(90) 评论(0) 推荐(0)
摘要:P3958 奶酪 思路: 因为一开始就知道可以用并查集做,只是试着写了一下。 显然,如果两球相切/相交时是可以merge的,在全部尝试过merge之后再判断【与顶面相交的洞】和【与底面相交的洞】是否在同一集合内即可(也就是find(i)==find(j)) 卡在了两处地方: 一是没有让所有洞两两之间 阅读全文
posted @ 2020-08-08 18:08 StreamAzure 阅读(111) 评论(0) 推荐(0)
摘要:Is It A Tree? POJ - 1308 小希的迷宫 HDU - 1272 题意: 这两题几乎一样,代码改一下输出就行了。 给定一个图,判断这个图是不是树。 思路: 这里判定标准有三个:一是无环,二是n个结点,n-1条边,三是空树的情况。 后两个条件很简单,统计一下就可以了;至于判环,可以用 阅读全文
posted @ 2020-08-07 01:24 StreamAzure 阅读(219) 评论(0) 推荐(0)
摘要:Layout POJ - 3169 题意: $n$头奶牛按序号$1~n$排成一行,允许多头奶牛站在同一个位置上。给定$ML$行关系,每行三个整数$u,v,dis$,表示奶牛$u$与奶牛$v$的距离不大于$dis$;再给定$MD$行关系,每行三个整数$u,v,dis$,表示奶牛$u$与奶牛$v$的距离 阅读全文
posted @ 2020-08-02 17:55 StreamAzure 阅读(137) 评论(0) 推荐(0)
摘要:Extended Traffic LightOJ - 1074 题意: 有$n$个路口,每一个路口有一个拥挤度$A_i$,从一个路口$I$到另一个路口$J$的收益为:\((A_J−A_I)^3\)。问从第$1$个路口到达第$k$个路口的最小收益。如果不能到达或收益<3,输出“?”,否则输出最小收益。 阅读全文
posted @ 2020-08-02 16:52 StreamAzure 阅读(117) 评论(0) 推荐(0)
摘要:Subway POJ - 2502 题意: 给定家与学校的坐标,以及若干条地铁路线各站点的坐标,还有人的速度与地铁的速度。一到达站点就可以立刻上车,不同地铁路线之间可以随意换乘。问从家到学校花费的最小时间。 思路: 懒鬼宗旨:能写floyd绝对不写dijkstra和SPFA…… 唯一要注意的是,本题 阅读全文
posted @ 2020-08-01 00:01 StreamAzure 阅读(112) 评论(0) 推荐(0)
摘要:Wormholes POJ - 3259 题意: 给定一些农场及农场间的双向路径及它们花费的时间,再给定一些农场间的单向虫洞路径。当经过一条虫洞路径从A点到达B点时,会回到比从A点出发时更早的时刻。问农夫能否可以通过这些路径见到以前的自己。 思路: Floyd判负环。 int f; int n, m 阅读全文
posted @ 2020-07-30 18:01 StreamAzure 阅读(226) 评论(0) 推荐(0)
摘要:Currency Exchange POJ - 1860 题意: 这题和Arbitrage POJ - 2240一个意思,区别在于本题给定了起始货币种类及具体数量,并且在兑换其他货币前需要扣一笔手续费,以及是双向边。 思路: 和Arbitrage POJ - 2240一样的Bellman-Ford解 阅读全文
posted @ 2020-07-30 17:22 StreamAzure 阅读(156) 评论(0) 推荐(0)
摘要:Arbitrage POJ - 2240 题意: 给出一系列货币汇率,问其中有无某种货币能在某些兑换操作后兑换回原货币,并且数量比开始时增多。 思路: 将货币视为节点,将兑换操作视为从一个节点到另一个节点的一条单向边。假定起点是1元,进行类似最短路的松弛操作后,再看起点是否多于1元即可。也就是判断是 阅读全文
posted @ 2020-07-30 17:16 StreamAzure 阅读(132) 评论(0) 推荐(0)
摘要:0 or 1 HDU - 4370 题意 给定一个$n$阶矩阵$C_$,找到满足以下条件的仅由0和1构成的$n$阶矩阵$X_$: \(X_{12}+X_{13}+...+X_{1n}=1\) \(X_{1n}+X_{2n}+...+X_{n-1n}=1\) 对于$i$$(1<i<n)\(,满足\)\ 阅读全文
posted @ 2020-07-29 21:19 StreamAzure 阅读(133) 评论(0) 推荐(0)
摘要:昂贵的聘礼 POJ - 1062 题意: 原题干说得不清不楚的……坑死我了。 探险家要得到物品$i$,方式有两种:一、花费金币$P[i]$直接买;二、先得到指定物品$X$,然后可以优惠价格$V$买得。 每个物品都有地位等级。 给定地位等级差距限制$M$,表示可行的交易序列中最高地位等级与最低地位等级 阅读全文
posted @ 2020-07-29 11:34 StreamAzure 阅读(100) 评论(0) 推荐(0)