题意给定n种类型灯泡,每个灯泡给出其电压v,电源花费k,每个灯的花费c和需求量l,现在通过用电压大的灯泡替换某些电压小的灯泡来减小总花费,求最小的花费。
首先要说明的是,为求得最小花费,对于某种灯泡,要么全部替换,要么全不替换,这个很容易证明。
这个问题难就难在如何找子问题。如果先按灯泡电压把灯泡从小到大进行排序,定义dp[i]为替换第i种灯泡后前i种灯泡的最小花费,因为对一种替换情况,不知道...
分类:
其他好文 时间:
2015-07-26 19:15:19
阅读次数:
114
题意:
1到n点有最短路。
问你 最少破坏多少条路会阻断所有最短路。
再问你 最多破坏多少边,仍有和原始图的最短路一样长度的最短路存在。
做法:
先跑最短路。
然后通过 dist[i]-dist[j] == map[j][i]
如果符合的话 map[j][i]就是 最短路中的一条边。
然后把这些最短路的边 建图,跑最大流,流量是有多少边权相同的重边,跑出来就是最小割,也就是阻断所有最短路的最小花费。花费是每破坏一条路为1。所以出来的值,就是破坏了多少的边。
然后如最大流同样的建边,跑最短路,边权为1...
分类:
其他好文 时间:
2015-07-22 00:06:29
阅读次数:
169
题目链接:点击打开链接
题目大意:有n个点,m条有向边,经过边需要一个花费,a b c p q代表 a到b的一条道路,如果经过这条边之前经过c点,那么需要p的花费,否则需要q的花费,问从1点到n点的最小花费。
方法1、每条边可能会经过多次,每个点也可以经过多次,这样就没有了边界不能直接进行dfs,因为要记录之前经过的边,所以使用状压,dis[i][j]:当前在第i个点,j表示经过了的点,这样就...
分类:
其他好文 时间:
2015-07-17 16:10:48
阅读次数:
80
题目链接
题意:
给定n个长度均为m的字符串
下面n行给出字符串
下面n*m的矩阵表示把对应的字母修改成其他字母的花费。
问:
对于一个字符串,若它是easy to remembering 当 它存在一个字母,使得这个字母在这一列是独一无二的。
要使得n个字符串都是easy to remembering 的最小花费。
第一个样例是把第一列的4个a中3个a修改成别的字母,所以花费为3...
分类:
其他好文 时间:
2015-07-15 22:49:06
阅读次数:
159
题意:
有若干个灯,每个灯有四个值
V 该灯泡的电压,可以买电压高的灯泡代替电压低的灯泡。 电压两两不同
K 发电机价格,只有有一台,就可以供应无限多个该电压的灯泡。
C 灯泡价格
L 这个电压的灯泡需要多少只
问买完所有要求的灯泡的最小花费
做法
因为高电压可以代替低电压的灯泡,所以高电压可以后判断要不要买发电机。
所以先按电压排个序,那么就是后面一定可以代替前面的了。
预处理下灯泡数的前缀和 sum数组。
然后for两层,
dp[i]=min(dp[i],dp[j]+la[i].k+la[i]...
分类:
其他好文 时间:
2015-07-15 21:05:52
阅读次数:
188
题意:n个人m个单向关系,现在要通知所有的人,两个人之间联系有费用,求最小费用,处于同一个联通块的两个人之间通讯不需要花费。
思路:先建图使用Tarjan算法缩点,然后根据题意我们应该求缩点后新图的最小树形图,但是这里没必要,为什么?仔细想一想,首先题意说总是有解,所以最小树形图一定存在,那么我们对于每一个点在它的所有入边中选择一个花费最小的入边(入度为零的点除外)那么答案就是每个点的最小花费之和。这样贪心是可行的,因为在这个过程中不会出现环,很容易想到,如果出现了环那么这个环就又是一个联通块了,可是我们...
分类:
移动开发 时间:
2015-07-12 15:49:29
阅读次数:
166
题意: 给出n个点(0 - n-1),m条边,code从0开始需要传播到1 - (n-1)的每个点,强连通分量之间的传播是没有花费的,求最小花费。思路: 先计算出强连通分量,然后标出每个强连通分量的最小连通距离。即,它离其他任何一个强连通分量的最小距离。 1 #include 2 3 ...
分类:
其他好文 时间:
2015-06-29 13:03:16
阅读次数:
76
【题目链接】:click here~~
【题目大意】:
给一个长度为n(n
【解题思路】:看到题以为是道考算法的,想了想,朴素算法O(n^2)绝逼超时啊~~其实模拟一下,因为达到最终状态的只有一种,因此移动的步数是一定的,所以每次交换最前面的0和最后面的1,然后分别记录位置,取min((b-a*)*x,y),最后累加就是答案。
代码:
#include
#include
#in...
分类:
其他好文 时间:
2015-06-21 18:35:23
阅读次数:
124
感觉也是一个小清新题。。我们考虑设立状态 $Dp[i][s]$ 表示考虑了前 $i$ 个商店后,购买状态为 $s$ 的最小花费。转移的话就枚举每个商店 $i$,首先令:$$Dp[i][s] = Dp[i - 1][s] + D[i]$$这个过程表示到达这个商店。然后枚举每个状态 $s$,然后枚举每个...
分类:
其他好文 时间:
2015-06-21 18:29:08
阅读次数:
183
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1003解:一个很神奇的dp,预处理所有连续时间段内的最小花费(w[i][j]表示第i天到第j天的最小花费),然后以f[x]表示到第x天为止的最小花费,用f[j]=min(f[j], f[i]+...
分类:
其他好文 时间:
2015-06-09 15:40:16
阅读次数:
133