一个CPU有两个核,要把n个模块放在其中一个核上,给出放在不同核上的花费。
另给出m对模块,若不放在同一模块则会产生额外花费。求最小花费。
对于每一个模块可以选择核1,核2,和相连的模块。
据此建边,核1为源点,核2为汇点,相连的模块之间建双向边,边权均为花费。求最小割即可。
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-01 09:18:11
阅读次数:
184
题意:有一个公交系统的收费标准如下表:
然后问:给出 这些L1~4 & C1~4的值,然后 N个站,列出每个站的X坐标,然后询问M次,问两个站台的最小花费
题解:那么这里很明显是最短路问题,有一点的麻烦就在于建图,那么我们可以对于所有的点,用两个for循环,算出两两之间的距离,就可以得到花费是多少,同时建边,然后对于每次询问的点,我们就spfa一次就OK
#include
#inclu...
分类:
其他好文 时间:
2014-07-30 14:52:33
阅读次数:
262
题意:现在你要打印一些东西,比如需要99张纸,打印100张以下时话费10元每张,100张及100张以上时需要5元每张,此时你可以选择打印100张,使得花费更小。现给一个数字n,表示n个区间段,然后有s1,p1,s2,p2......sn,pn,表示打印纸张大于等于s1而小于s2时,每张纸话费p1元,现有m个询问,问每次给你x张纸,所需的最小花费是多少。
思路:可以从后往前做一个O(n)的...
分类:
其他好文 时间:
2014-07-28 16:33:54
阅读次数:
180
累了就要写题解,最近总是被虐到没脾气。
来回最短路问题貌似也可以用DP来搞,不过拿费用流还是很方便的。
可以转化成求满流为2 的最小花费。一般做法为拆点,对于 i 拆为2*i 和 2*i+1,然后连一条流量为1(花费根据题意来定) 的边来控制每个点只能通过一次。
额外添加source和sink来控制满流为2。
代码都雷同,以HDU3376为例。
#include
#include
#...
分类:
其他好文 时间:
2014-07-23 22:40:08
阅读次数:
560
还是回文时间限制:2000ms | 内存限制:65535KB难度:3描述判断回文串很简单,把字符串变成回文串也不难。现在我们增加点难度,给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。那么,将字符串变成回文串的最小花费是多少呢?输入多组数据第一个有两个数n,m,分别表示字符的...
分类:
其他好文 时间:
2014-07-17 14:18:35
阅读次数:
252
题意:就是 把编号从0-n的小球对应放进i%a编号的盒子里,然后又买了新盒子,
现在总共有b个盒子,Bob想把球装进i%b编号的盒子里。求重置的最小花费。
每次移动的花费为y - x ,即移动前后盒子编号的差值的绝对值。
算法:
题目就是要求
先判断 n与 ...
分类:
其他好文 时间:
2014-07-12 21:36:33
阅读次数:
255
题意:
已知每个点的加油站的油价单价(即点权),每条路的长度(边权)。
有q个询问,每个询问包括起点s、终点e和油箱容量。
问从起点走到终点的最小花费。如果不可达输出impossible,否则输出最小的旅途费用。
算法:
其实要分析状态= =感觉就像是dp。
最直接的想法是 每到一个点都加上要走到下一个点所需要的油量。但是走的路不同,到底怎么处理加多少的问题呢?
因...
分类:
其他好文 时间:
2014-07-12 18:19:04
阅读次数:
198
我都不好意思在标题上写这是最短路
这题挺有意思,关键在于把题目所求的量转换为最短路问题。
题意:
给一个无向图,每个结点有权值p[i],每条边有权值w[i]
求使这颗树所有顶点与根节点1联通的最小花费,
最小花费=∑w[i]×∑p[i]
第一个∑是所有边,第二个∑是该边下所有结点的权值和
思路:
通过推导可以发现,对于每个结点,它被算入的花费为 p[i]*d[i],...
分类:
其他好文 时间:
2014-07-10 20:18:43
阅读次数:
177
POJ 1160 Post Office (动态规划)
题目大意:
有n个村庄,m个邮局,每个村庄的位置坐标告诉你,现在要将m个邮局设立在这n个村庄里面,问你最小花费是多少?花费为每个村庄到最近的邮局的距离和。
解题思路:
dp[i][j] 记录 i个邮局 j个村庄的最小花费,cost[k+1][j],记录在k+1号村庄到 j 号村庄设立一个邮局的最小花费。
那么:dp[i][j]=min { dp[i][k]+cost[k+1][j] }
最后输出dp[m][n]即可。
但是在k+1号村庄到 j 号村...
分类:
其他好文 时间:
2014-07-10 17:28:24
阅读次数:
168
HDU 4856 Tunnels
题目链接
题意:给定一些管道,然后管道之间走是不用时间的,陆地上有障碍,陆地上走一步花费时间1,求遍历所有管道需要的最短时间,每个管道只能走一次
思路:先BFS预处理出两两管道的距离,然后状态压缩DP求解,dp[s][i]表示状态s,停在管道i时候的最小花费
代码:
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-09 11:01:43
阅读次数:
263