hoj题解
For Resting
不一样的生活,在于自己的想法
展开
-
hoj 5311 字符串,dfs
题意好懂的很。。。题意: 给一个串,然后叫你找三节串,组合起来形成一个特定的串;理解: 这题是Bestcoder上的,当时比赛并没有做出来; 前几天想了下,发现可以做; 我理解为深搜dfs,找3个子串组成特定的串; 然后搜3层; 判断组合在一起是否是特定的串; 当然,你可能只找到一串或两串就形成特定的串了; 这两种情况是可以特判的。代码如下:#include <cstdio>#in原创 2015-11-28 14:15:52 · 335 阅读 · 0 评论 -
poj3260&&hdu3591 多重背包+完全背包
题目链接:poj:点击打开链接hdu:点击打开链接题意:一个人要买 t 元钱的东西;他有 n 种钱;每种钱有 v[i] 的价值;每种钱有 w[i] 个;然后他要在花 t 这么多钱的同时用最少的硬币数量;并且商店找回的硬币数量也是最少的;如果不能买或者找不回那么多钱就输出 -1;理解:两题题意一模一样;所以放一堆写题解;并不造怎原创 2016-08-13 20:51:07 · 410 阅读 · 0 评论 -
hdu4501 三维01背包,三个条件
题目链接:点击打开链接题意:中文题,不在详述;理解:三维01背包;递推式含义:dp[j][k][l] 表示用 j 的钱和 k 的积分 和 l 的免费次数能买到最大的价值;递推式:dp[j][k][l] = max(dp[j][k][l], dp[j - a[i]][k][l] + w[i], dp[j][k - b[i]][l] + w[i], dp[j][原创 2016-08-13 16:47:41 · 1294 阅读 · 0 评论 -
hdu1171 01背包 | 多重背包
题目链接:点击打开链接题意:杭电分设备;有 n 种设备;每种都不同,每种都有 w[i] 个;问怎样分才能使分成的两堆只差最少;理解:多重背包;套模板;递推式:dp[i] = max(dp[i], dp[i - mul * v[i]] + mul * v[i]);其中的值根据代码定义;也可以 01背包做;但是顺手就用了多重背包;有个原创 2016-08-13 15:04:24 · 299 阅读 · 0 评论 -
hdu1565 状压dp
题目链接:点击打开链接题意:给你一个n*n的格子的棋盘,每个格子里面有一个非负数;从中取出若干个数,使得任意的两个数所在的格子没有公共边;就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大;理解:状态压缩dp;也可以用网络流做,但是不会;递推式含义:dp[i][j] 表示第 i 行为 j 状态时的最大值;递推式:dp[i][v[j]]原创 2016-08-11 20:11:37 · 297 阅读 · 0 评论 -
hdu3033 分组背包
题目链接:点击打开链接题意:买球鞋;给 n 种鞋, K 种品牌;有 m 的钱;每种鞋有一个品牌 a,价格 b,价值 c;问能买到的最大价值;其中每种品牌都必须买一双;不能满足就输出 Impossible ;理解:分组背包;每一种有一个最大的价值;即每一种用一个 01背包;然后对于前一种可以推导出后一种的总价值;即前一种的价值加原创 2016-09-16 20:03:00 · 324 阅读 · 0 评论 -
hdu3496 二维01背包
题目链接:点击打开链接题意:朵朵喜欢看cartoon;但她只有 l 的时间看;她喜欢看 n 种cartoon;但商店里只能卖 m 种;对于每一种都会消耗 w[i] 的时间;而看完之后她会得到 v[i] 的价值;问朵朵能得到最大的价值;如果不能看够 m 种,则输出 0;理解:在01背包的基础上多了一项条件;即只有 m 种,并且 m 必须原创 2016-09-17 10:21:33 · 372 阅读 · 0 评论 -
hdu1059 多重背包
题目链接:点击打开链接题意:给6种等级的物品,每种物品有 ni 个;求是否能平分为两份,其等级之和相等;当然单独一个物品是不能分成两半的;理解:最开始想了下,直接暴力的一个01背包;就是把这些物品全部按等级值存在一个数组中;之后用01背包计算;即:一些数之和一定是小于等于所有的和的一半才能满足两份接近相等的关系;递推式为:dp[i] = ma原创 2016-07-19 09:02:18 · 314 阅读 · 0 评论 -
hdu5950 矩阵dp
题目链接:点击打开链接题意:给定n, 第一个数 a,第二个数 b;公式:Ai = A(i - 2) * 2 + A(i - 1) + i ^ 4;求第 n 个数;其中 n 的范围是 int;理解:由公式来看,该题很像斐波那契;但是 n 的范围太大;偶然想到斐波那契也可以用矩阵dp来推;所以就应该用这个方法;从公式可以看出,在不考虑 i ^原创 2016-11-03 20:18:56 · 318 阅读 · 0 评论 -
hdu1712 分组背包 *
题目链接:点击打开链接题意:有个学生要复习 n 个功课;每个功课有 m 种复习方式;即:满足一个矩阵;即:第 i 种功课需要花费 j 天;理解:原以为是 01背包;结果发现有个问题;即:如果用 1 天复习了该功课, 那么就不能再复习该功课了;那么就是分组背包的问题了。。。且看此图片:图片说的很详细,便不再赘述;代码原创 2016-08-14 10:21:04 · 303 阅读 · 0 评论 -
hoj1848 Sg函数博弈
题意:中文题,好读;给3堆石子;每次只能从一堆中去Fibonacci数个石子;就是只能从一堆取如1, 2, 3, 5, 8, 13....这么多的石子;数据范围时1000;之后求在绝对最优的情况下,先手和后手谁会赢;理解;开始用手模拟了一边,发现没规律;之后直接打表找P点;交了就错...也不知道为什么;感觉打表的话就是找P点有多少个;然而原创 2015-12-23 16:52:01 · 359 阅读 · 0 评论 -
hoj5596 推理
题解:有n个人,然后他们随机的有一些能量b;然后有m次爆发能量的时刻;在c这个时刻,从1到c的人的能量b都会增加1;在每个时刻i,第i个人会Kill前面能量比他小的人;求n时刻之后存活的人.理解:此题时昨晚Bestcoder的题,我们都没有做比赛;然后yick_liao师兄今天拿来做题;我的理解就是推导一遍之后;会发现3时刻的前两个的关系和4原创 2015-12-13 15:44:58 · 285 阅读 · 0 评论 -
hoj5586 区间和最大
题意:给你一串数,然后给你f(x) = (1890 * x + 143) mod 10007;让你选择某一段进行上述的变换;当然你也可以不选;最终求一个变换之后加起来的最大值;理解:推了一下,发现变换之后有的损失很多,有的增加很多;然后一一列出来,发现,某些区间加起来可以忽略损失;就这样,我就觉的是区间和最大;然后不造怎么写区间和最大;就在网上学原创 2015-12-09 21:07:18 · 373 阅读 · 0 评论 -
hdu5179 数位dp
题目链接:点击打开链接题意:有一种称为“美丽数”,定义为 a[i] % a[j] == 0 (1 j);a[i] 表示第 i 位数字,n 是这个数的位数;如:931, 9993, 1111 便是美丽数;而 932, 5421 等是不符合的;求区间 [L, R] 之间有多少这样的数;理解:很容易想到数位dp;但是又有些要注意的地方;特别是前导原创 2016-07-25 16:20:36 · 363 阅读 · 0 评论 -
hdu3555 数位dp
题目链接:点击打开链接题意:求[1~n] 中的数字包含 49 序列的个数;理解:数位dp啦;模板一套就行;参考:这个链接代码如下:#include #include #include #include #include #include #include #include #include #include #inclu原创 2016-07-20 15:31:20 · 112 阅读 · 0 评论 -
hdu2089 数位dp
题目链接:点击打开链接题意:给定一个区间,求该区间内不含4 和 62 的数字个数; 62 是连续的理解:以前做过,暴力枚举的;现在看了正真的题解,发现是数位 dp ;因此需要花一番功夫来学习一下了;所谓数位 dp,就是对于数字的每一位进行加工求解问题;首先这个递推式的含义便是:开头为 j 的 i 位数的满足条件的个数;即:在 k = [0,原创 2016-07-19 20:24:23 · 270 阅读 · 0 评论 -
hdu2955 概率dp?
题目链接:点击打开链接题意:有个人想偷钱,但是有风险;求在给定的风险下偷到最多的钱;理解:一开始认为是简单的01背包,把概率放大10000倍还是WA。。然后换思路了,神的理解是;把风险的另一面拿出来,就是没有风险的一面;考虑在偷到 x 这么多钱的情况下,最大的没有风险的值位多少;这样递推式就是:dp[x] = max(dp[x], dp[x -原创 2016-07-18 17:37:35 · 231 阅读 · 0 评论 -
hdu2222 AC自动机
题目链接:点击打开链接题意:给n个字串,问文章中有多少个字串;理解:这是一个多模式串匹配问题;和KMP单模式串匹配不同;用AC自动机即可解决;AC自动机:点击打开链接上面链接写的很好;对于AC自动机其实不难,主要在要做好失败指针;其实这个比KMP还容易理解;其目的就是找一个后缀相同的串;第一道AC自动机的题;留作纪念原创 2016-11-19 10:10:04 · 246 阅读 · 0 评论