上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 57 下一页

2017年1月21日

D. Caesar's Legions 背包Dp 递推DP

摘要: http://codeforces.com/problemset/problem/118/D 设dp[i][j][k1][k2] 表示,放了i个1,放了j个2,而且1的连续个数是k1,2的连续个数是k2 如果这样写,用dfs写是很简单的。但是超时,我记忆化不到 如果用递推写,对于每一个状态,更新到下 阅读全文

posted @ 2017-01-21 15:46 stupid_one 阅读(118) 评论(0) 推荐(0) 编辑

E. The Values You Can Make 背包,同时DP

摘要: http://codeforces.com/problemset/problem/688/E 题目需要在n个数中找出一个集合,使得这个集合的和为val,然后问这些所有集合,能产生多少个不同的和值。 题解是直接两个同时dp,设dp[j][h]表示主集合的和为j,能否产生h这个数字。 把他们看作是两个集 阅读全文

posted @ 2017-01-21 00:18 stupid_one 阅读(91) 评论(0) 推荐(0) 编辑

2017年1月20日

D. Arpa's weak amphitheater and Mehrdad's valuable Hoses 分组背包模板题

摘要: http://codeforces.com/problemset/problem/742/D 并查集预处理出所有关系。 一开始的时候,我预处理所有关系后,然后选择全部的时候,另起了一个for,然后再判断。 这样是不对的。因为这样使得同一组里面可能选择了两次。 3 0 2 1 2 3 1 1 3 #i 阅读全文

posted @ 2017-01-20 20:18 stupid_one 阅读(141) 评论(0) 推荐(0) 编辑

1043 幸运号码 数位DP

摘要: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1043 设dp[i][j]表示前i位数中,i位数的和为j时的所有情况。 转移的时候和普通的数位dp是一样转移的,但是如果你压缩了空间的话,就是用滚动数组的话,记录情况数就要多 阅读全文

posted @ 2017-01-20 19:07 stupid_one 阅读(195) 评论(0) 推荐(0) 编辑

C. Unfair Poll 数学题,

摘要: http://codeforces.com/contest/758/problem/C 需要一个能够找到任意一个位置的步数的方法,就能解决三个问题。 预处理出one(row, col)表示第一次经过这个点,需要的步数。 sec(row, col),thr(row, col)分别是第二、三步。 那么, 阅读全文

posted @ 2017-01-20 02:41 stupid_one 阅读(180) 评论(0) 推荐(0) 编辑

2017年1月18日

HDU 3652 B-number 数位DP

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3652 首先先解决怎么判断它是否含有13这个子串。 方法就类似于一个状态记录dp 加多一维[0 or 1]判断是否已经含有了13这个子串,那么如果枚举的时候,相邻的两位是13,则可由0跳转去1 这题是设dp[i][ 阅读全文

posted @ 2017-01-18 23:35 stupid_one 阅读(129) 评论(0) 推荐(0) 编辑

HDU 2089 不要62 数位dp入门

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2089 dp[i][j]表示长度为i的数字中,开头的数字是j的时候,有多少种合法的情况。 预处理挺好理解,关键是那个统计,比较难。 比如我统计的是数字: 456 那么,从高到低枚举。先枚举第一位,4、再枚举5、.. 阅读全文

posted @ 2017-01-18 20:30 stupid_one 阅读(148) 评论(0) 推荐(0) 编辑

The Chosen One

摘要: https://www.hackerrank.com/contests/101hack45/challenges/the-chosen-one 找出一个数字,使得,数组中只有一个数字不是这个数的约数,而且其他数都是这个数的约数。 如果暴力枚举每一个i,表示,就是要排除这个数字,那么,需要找到一个数能 阅读全文

posted @ 2017-01-18 02:09 stupid_one 阅读(168) 评论(0) 推荐(0) 编辑

2017年1月17日

1393 0和1相等串 鸽笼原理 || 化简dp公式

摘要: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1393 正解一眼看出来的应该是鸽笼原理。记录每个位置的前缀和,就是dp[i][1]表示前i个数中,1的个数。dp[i][0]同理。 然后计算出每一个位置的dp[i][1] - 阅读全文

posted @ 2017-01-17 23:27 stupid_one 阅读(327) 评论(0) 推荐(0) 编辑

C. Coin Troubles 有依赖的背包 + 完全背包变形

摘要: http://codeforces.com/problemset/problem/283/C 一开始的时候,看着样例不懂,为什么5 * a1 + a3不行呢?也是17啊 原来是,题目要求硬币数目a3 > a4 > a2,那么,不选的话,是不合法的。就是0、0、0这样是不合法的,因为a3 = a4了。 阅读全文

posted @ 2017-01-17 02:24 stupid_one 阅读(190) 评论(0) 推荐(1) 编辑

上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 57 下一页

导航