SPOJ FISHER + FPOLICE SPFA+背包】的更多相关文章

当初第一次做的是FPLICE这个题,当时就觉得要用图论去搜索,但是当时陷入死思维就是 dp[][]两个维度都是点,这样就违背了题目的本意,题目给定了一个时间T,在不超过时间T的情况下求最小的消耗,这不就是背包嘛...即拿T做容量,在图上面 设置 dp[i][j]表示i点的时候 j时间的最小消耗. 这样走一遍spfa就可以了.也有人把这个叫做 分层图最短路...好高端的样子啊 FPOLICE #include <iostream> #include <cstdio> #include…
In Action Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4720 Accepted Submission(s): 1553 Problem Description Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team i…
打表出奇迹!表打出来发现了神奇的规律: 1 1 2 2 3 4 4 4 5 6 6 7 8 8 8 8 9 10 10 11 12 12 12 13 14 14 15 16 16 16 16 16... 嗯嗯嗯?没有规律?我们把每个数出现的次数列出来: 2 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 然后惊觉表中的数字是连续的,每个都至少有一个,而分解因数中有只要2的幂,有一个就会加一,比如8是2.4.8的倍数,在1的基础上会多三个.(1和2除外) 所以对于一个位置$x$,我们可…
题意:给你M,N,K,代表你有M点法力值,N个物品,K个制造方式 接下来N行,如果以1开头则代表既能卖又能合成,0代表只能卖. 然后K行,每行第一个数是要合成的东西,第二个数代表有几对,每对第一个数是那种物品,第二个是需要几个. 注意不能直接合成的可以通过制造方式来合成.然后问你花费完所有的法力制造的东西,能获得最大的金钱是多少 题解:首先处理出来对于所有物品所需要消耗的最小法力值,然后就是做一下完全背包就可以了. 消耗最小法力值可以通过spfa获得,一个技巧就是对于同属一个目标产物的原材料,可…
潜水员要潜水,给出n个气缸(1<=n<=1000),每个气缸中有氧气量为ti,氮气量为ai,气缸重量为wi(1<=ti<=21,1<=ai<=79,1<=wi<=800).现在潜水员需要量为t的氧气,量为a的氮气(1<=t<=21,1<=a<=79),问选哪些气缸,使得重量最小. [背包]二维背包问题,不同的是这个要选的物品占两种容量至少为t和a. 设dp[i][j][k]为氧气量为j,氮气量为k时的最小重量 dp[i][j][k]=…
题意:你生活在一个魔法大陆上,你有n 魔力, 这个大陆上有m 种魔法水晶,还有n 种合成水晶的方式,每种水晶价格告诉你,并且告诉你哪些水晶你能直接造出来,哪些你必须合成才能造出来,问你n魔力最多能卖多少钱的水晶? 析:首先知道的是,如果每个所消耗的魔法水晶固定,那么这就是一个背包问题,很简单就能搞定,然而并不是,但是我们能够推出,经过一定次数的变换,这个值肯定就是固定的了而且是最小的,这个就可以用spfa进行松弛操作. 代码如下: #pragma comment(linker, "/STACK:…
这个题目给定N航班的发出时间和结束时间以及价值,要求不冲突时间的最大价值 第一时间想到经典的N方DP,即对航班按发出时间排一下序之后每个i对前面的都扫一遍 时间过不了N有10万,只能想优化了,一开始想了个用树状数组记录每次加入某个航班之后 后面的所有在结束时间后的区间全部可以加一个最大值,但是首先时间区间的量更大,而且树状数组不好这么操作 后来实在没见过这种DP,还是看的别人的算法,还是挺叼的,不过其实还是沿用的背包思想 对于每个航班区间,我只需要考虑取或者不取,这样的话,对航班按出发时间S排序…
Shadowman loves to collect box but his roommates woogieman and itman don't like box and so shadowman wants to hide boxes as many as possible. A box can be kept hidden inside of another box if and only if the box in which it will be held is empty and…
/* 题意:有 n 个站点(编号1...n),每一个站点都有一个能量值,为了不让这些能量值连接起来,要用 坦克占领这个站点!已知站点的 之间的距离,每个坦克从0点出发到某一个站点,1 unit distance costs 1 unit oil! 最后占领的所有的站点的能量值之和为总能量值的一半还要多,问最少耗油多少! */ /* 思路:不同的坦克会占领不同的站点,耗油最少那就是路程最少,所以我们先将从 0点到其他各点的 最短距离求出来!也就是d[i]的值!然后我们又知道每一个站点的所具有的能量…
三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下,地图上只有他一方势力,现在他只有一个城池,而他周边有一些无人占的空城,但是这些空城中有很多不同数量的同种财宝.我们的小白同学虎视眈眈的看着这些城池中的财宝. 按照游戏的规则,他只要指派一名武将攻占这座城池,里面的财宝就归他所有了.不过一量攻占这座城池,我们的武将就要留守,不能撤回.因为我们的小白手下有无数的武…