自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cifer

永远在内心的最深处听见水手说 他说风雨中这点痛算什么 擦干泪不要怕至少我们还有梦 他说风雨中这点痛算什么 擦干泪不要问为什么 好水 好水 好水 好水 好水 好水 好水 好水 !!!!

  • 博客(32)
  • 收藏
  • 关注

原创 POJ 3624 Charm Bracelet (0-1背包)

题目链接:(—_—) zZ题目大意:有n个手镯, 每个手镯有一定的重量和让Bessie高兴的程度, 现在Bessie最多带重量不超过m的手镯, 求该怎样选取手镯使Bessie最高兴.思路:简单的0-1背包问题code:#include #include #define max(a, b) a>b? a:bint w[3600], d[3600],

2012-07-31 20:40:41 568

原创 POJ 1276 Cash Machine (多重背包)

题目链接:(—_—) zZ题目大意:就是有不同面值的票单D1,每种面值的票单有ni个, 现在给出一个钱数N, 要求求出这些票单能组成的最大面值(小于或等于钱数).思路:多重背包code:#include #include int N[12], D[12], dp[100010], num[100010];int main(){ int i =

2012-07-31 20:26:02 381

原创 POJ 2392 Space Elevator (多重背包)

题目链接:(—_—) zZ题目大意:The cows are going to space(吐槽:牛要上太空?这真的牛逼),现在奶牛要搭建一个上太空的电梯, 用的是高科技材料板砖,每个板砖有一定的高度,和它最高能堆积在a_i高度处,现在给出k个板砖的信息(每个砖的高度, 所能在的最大高度, 和个数), 求能堆积出的电梯最大高度.思路:多重背包问题, 把板砖的所在最大高度

2012-07-31 20:04:22 493

原创 POJ 2923 Relocation (状态压缩 0-1背包)

题目链接:(—_—) zZ题目大意:有n个物品用2个车来运输, 每个物品有一定的重量, 每个车能承受一定的重量, 现在要求用车把物品从老房子运输到新房子, 问至少要运多少趟Ps:我太弱了, 不会状态压缩, 第一回乱搞超时,看了大牛的状态压缩,哦了code:#include #include #define min(a, b) a>b? b:aint n

2012-07-31 19:52:12 893

原创 HDOJ 2639 Bone Collector II (背包求第k大)

题目链接:(—_—) zZ题目大意: 有n个骨头, 和一个容量为v的背包, 现在给出每个骨头的重量和价值, 求在容量为v的背包中能装的第k大的价值。思路:dp[j][k]表示容量为j时第k大的价值。code:#include #include #include int a[32], b[32], w[122], V[122], dp[122][32

2012-07-31 15:11:51 451

原创 HDOJ 3535 AreYouBusy (背包 每组至少一个)

题目链接:(—_—) zZ题目大意:有n种工作的集合, 每种集合有一种类型, 0为最少在这个集合中选一个工作, 1为最多在这个集合中选一个工作, 2为随便选, 做每个工作要花一定的时间和得到一定的幸福度, 求在t时间内获得的最大幸福度思路:类型为0时是分组背包的变形 , 为1时就是分组背包, 为2是为0-1背包,分别根据背包类型求出就可Ps:无限wacode

2012-07-28 22:01:00 499

原创 POJ 1787 Charlie's Change

题目链接:(—_—) zZ题目大意:有面值为1分,5分, 10分,25分的面值的硬币, 现在现在要买价格为p分的咖啡,要求求出给出的硬币数最多且和为p分的方案。思路:dp[i][j] = max(dp[i-1][j], dp[i][j-coin[i]]), dp[i][j] 表示用第i种硬币凑成j分的用了多少硬币数code:#include #incl

2012-07-26 14:43:05 1070 1

原创 POJ 3181 Dollar Dayz

题目链接:(—_—) zZ题目大意:long long ago 有一个商店, 它里面卖的东西价格为[1¥...k¥]区间内的, 每种价格的物品都有无限件, 现有n元,要求花完这n元买物品, 求出能买物品搭配方式的总数思路:这题是在背包问题里面的题, 不过不会做, 参考了大牛的思路code:#include #include #define inf 1

2012-07-26 09:31:57 1048

原创 POJ 2063 Investment

题目链接:(—_—) zZ题目大意:现在又一笔钱, 要买bond,买一个bond要花费一定的钱和这个bond一年结束后可以得到的分红。每年都是根据上一年最终得到的钱重新买bond,现在要求n年后使最初的那笔钱得到的增长最大。思路: 完全背包。code:#include #include int value[12], interest[12], dp[100

2012-07-25 15:57:46 431

原创 POJ 3211 Washing Clothes

题目链接:(—_—) zZ题目大意:有一男一女一起洗衣服, 衣服有不同的颜色和洗每件衣服要花一定的时间, 为了不让衣服染色洗的时候2人只能洗完1种颜色的才能洗下一种,要求求出洗完2人洗完衣服的最短时间。思路:这题可以根据POJ 1014得出思路,对于每种颜色洗它都有一个总时间,要求洗这种颜色的最少时间,就是求看能不能一个人洗这种颜色的衣服达到总时间的一半。

2012-07-25 12:47:15 451

原创 HDOJ 3496 Watch The Movie (二维背包)

题目链接:(—_—) zZ题目大意:小明想要买n张碟子来看, 但商店只卖m张(m思路:简单的二维费用背包问题, dp[j][k]表示时间为j内, 看k张碟子得到的最大价值。dp[j][k] = max(dp[j][k], dp[j-time[i]][k-1]+value[i])code:#include #include int main(){

2012-07-24 22:24:02 1296

原创 HDOJ 2159 FATE (二维背包)

题目链接:(—_—) zZ思路:根据背包9讲的二维背包问题。摘自背包九讲:问题二维费用的背包问题是指:对于每件物品,具有两种不同的费用;选择这件物品必须同时付出这两种代价;对于每种代价都有一个可付出的最大值(背包容量)。问怎样选择物品可以得到最大的价值。设这两种代价分别为代价1和代价2,第i件物品所需的两种代价分别为a[i]和b[i]。两种代价可付出的最大值(两种背包容

2012-07-24 15:02:52 716

原创 POJ 3468 A Simple Problem with Integers

题目链接:(—_—) zZ题目大意:给出n个点, 现在更新[i...j]区间的每个点的值, 求[k....l]区间的这些点和的值。资料1code:每回只更新到要更新的区域, 不往下更新, 下回要查询或更新时才往下更新。#include struct node{ __int64 c, sum; int l, r;}tree[10000

2012-07-23 21:17:54 661 1

原创 POJ 2352 Stars

题目链接:(—_—) zZ题目大意: 有n个星星, 现在分别给出它们的坐标(按y递增的顺序给出),每个星星有一个等级(该星星的等级是x坐标和y坐标都不大于该星的星星数),先要求出每个等级的星星有多少个思路:用线段树或树状数组, 由于是按y递增的坐标给出的, 新加入一个点只需判断区间【1,x】多少个点, 并更新后面包含他区间的点的个数  Ps:第一道树状数组, 资料链接资

2012-07-21 10:39:10 980

转载 编程进阶

ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理l 计算机组成原理l 人工智能l 编译原理l 算法设计与分析除此之外,我希望你们能

2012-07-20 14:26:52 9314 2

原创 UVa 131 The Psychic Poker Player

题目链接:(—_—) zZ题目大意:手上有5张牌, 堆上有5张牌, 现在要求舍弃手上的n(0思路:就是一一枚举出每种请况, 然后判断(不懂打牌的孩子这道题伤不起啊)code:#include #include #include struct node{ char str[3];}e[12], ee[12], ans[12];int p

2012-07-20 10:18:24 849

原创 POJ 2377 Bad Cowtractors (prime+堆优化)

题目链接:(—_—) zZ题目大意:有n个点, m条边,每条边有一定的花费, n个点是连通的(没有循环)且花费最大思路:用最小生成树算法就ok了, priem时要判重边code:prime+堆优化(第一回用,wa了半天)#include #include struct{ int weight, num;}dis[1002];int n

2012-07-19 15:10:49 773

原创 UVa 146 ID Codes

题目链接:(—_—) zZ题目大意:给出一个字符串, 要求求它的下一个按字典序排列的字符串思路:字典序的排列最终是由大到小, 那么我们只需从后往前找, 找出第一个不是由大到小排列的字母A,那么这个找到的字母A就要往后移, 在后面找一个比当前字母A大的字母B, 然后交换这两个字符,由于字母A原来的位置已经换成了字母B, 那么就要重新对B字母后面的字符串进行字典序排列(就是找出

2012-07-18 13:34:11 821 2

原创 UVa 10167 Birthday Cake

题目链接:(—_—) zZ直接枚举A与Bcode:#include int main(){ int i = 0, j = 0, k = 0, n = 0, sum = 0, flag = 0, x[102], y[102]; while(scanf("%d",&n), n) { for(i = 0; i<2*n; i++)

2012-07-18 10:19:30 382

原创 HDOJ 1251 统计难题 (trie)

题目链接:(—_—) zZ字典树code:#include #include #include typedef struct node{ struct node *next[27]; int count;}trie;trie *root = NULL;char str[12];int len = 0;void create_trie

2012-07-17 20:38:30 446

原创 HDOJ 1428 漫步校园 (spfa+记忆搜索)

题目链接:(—_—) zZ题目大意:我去, 题目看了半天才看懂, 是求当前这点A到终点的路径距离与下一点B到终点的路径是减小的路径有多少个。比如A到终点的路径为10, B到终点的路径为5, 并可以通过A到B(为直接连通)那么这就是符合条件的一条路。思路:用spfa求出每个点到终点的距离, 在dfs记忆搜索符合条件的, 注意范围(我又这样wa了,)code:

2012-07-17 16:53:16 711

原创 HDOJ 1596 find the safest road (d||s)

题目链接:.........直接模版code:#include int n = 0, used[1002];double map[1002][1002], dis[1002];void dijkstar(int u, int v){ int i = 0, j = 0, k = 0; double min = 0; for(i = 1; i<=n;

2012-07-17 11:31:33 1308

原创 HDOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)

题目链接:.........Ps:刷水, 背包水题哇卡卡, 赤裸裸的多重背包直接模版........code:#include #include int n = 0, m = 0, dp[102];void zero_one(int value, int weight){ int j = 0; for(j = n; j>=value; j-

2012-07-16 15:57:23 1253

原创 POJ 1014 Dividing (多重背包)

题目链接:.........题目大意:有6种价值的大理石(为1~6), 先给出每种价值的大理石若干, 求能不能将它们平分。思路:背包9讲中的模板套着打就ok了, dp[j]表示重量为j时的价值, 这里重量等于价值。             这题和上一道题很像(.........), 也可以用f[j]记录重量为j时是否出现过。code:#include #

2012-07-16 15:29:39 772

原创 POJ 1742 Coins (背包)

题目链接:.........题目大意:给出n种面值的硬币, 和这些硬币每一种的数量, 要求求出能组成的钱数(小于等于m)Ps:用多重背包的方法做在poj上超时了(hdoj行), 然后在网上看到一个方法, 用f[j]表示能组成这价值为j的钱和不能(0与1), 用used[j]表示当前这种面值为j时用了A[i]多少次。code:#include #include

2012-07-16 13:47:43 585

原创 POJ 1384 Piggy-Bank (完全背包)

题目链接:。。。。。。。。。题目大意:给出n种面值的硬币,每种面值的硬币有一定的重量, 给出存钱罐的净重和存钱罐装满的重量, 要求求出存钱罐里最少有多少钱完全背包求解code:#include #include int main(){ int i = 0, j = 0, t = 0, e = 0, f = 0, n = 0, p[502], w[

2012-07-14 19:19:22 528

原创 HDOJ 1712 ACboy needs your help (分组背包)

题目链接:。。。。。。。。。题目大意:有n门功课用A[i][j]表示第i门功课花j天完成得到的profit, 给出m天, 要求在m天内得到的最大profit状态方程:dp[j] = max(dp[j], dp[j-k]+A[i][k])code:#include #include int main(){ int i = 0, j = 0,

2012-07-14 13:18:11 402

原创 HDOJ 2089 不要62

题目链接:。。。。。。。。。code:#include int num[1000000];//记录1~j的要排除数的个数int main(){ int i = 0, n = 0, m = 0, flag = 0, cur = 0, sum = 0; for(i = 1; i<1000000; i++) { cur = i;

2012-07-12 18:00:37 521

原创 HDOJ 1385 Minimum Transport Cost(dijkstar+字典路径||floyd+字典路径)

题目链接:。。。。。。。。。题目大意:开始时输入n表示一个n*n的矩阵, 该矩阵表示从i到j要多少钱, 然后输入经过每个城市时要的税, 起点和终点不需要缴税。要求输出最小花费路径, 并是字典顺序。Ps:法克, 输出格式时比如1到1是 Path: 1, 而不是Path: 1-->1;就这个法克错一下午啊!code:dijkstar+字典路径#include #i

2012-07-12 16:52:34 494

原创 HDOJ 2602 Bone Collector(0-1背包)

题目链接:。。。。。。。。。新手第一道0-1背包问题动态方程:dp[j] = max(dp[j], dp[j-V[i]]+W[i]) j为容量, 最后的dp[v]就为求的答案。code:#include #include int main(){ int i = 0, j = 0, t = 0, n = 0, v = 0; int W[100

2012-07-09 22:05:54 703

原创 HDOJ 1074 Doing Homework (状态压缩)

题目链接:。。。。。。。。。题目大意:给出每项作业, 有它的截止时间和完成它要花的时间, 如果在截止时间后完成, 要扣学分, 让找出最佳的做作业顺序,使扣得学分最少。思路:状态压缩,用2进制表示作业的完成情况, 0代表未完成, 1代表完成,共有n个作业, 那么所有作业完成的情况就是2的n次方减1code:#include #include struc

2012-07-08 17:41:56 577

原创 HDOJ 1595 find the longest of the shortest (枚举最短路+删除)

题目链接:。。。。。。。。。题目大意:有一个女的要到男的家去打他的, 这男的知道了,想要了解这女的到他家断了一条路的最短时间的最坏情况。在这女的到这男的家有一条路是不通的。思路:这条断了的路肯定是在路全通的情况下的最短中, 因为如果在这之外, 找的的路就是路全通情况下的最短路。找的了全通情况下的最短路, 依次枚举最短路中每条路断时所要走的最短路, 选取最大的值就是最后答案。co

2012-07-07 19:40:18 628

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除