
URAL
文章平均质量分 68
代金桥
交流邮箱daijinqiao(at)163.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ural 1012 K-based Numbers. Version 2
类型:递推+高精度 题目:同ural 1009 思路:同ural 1009 // ural 1012 K-based Numbers. Version 2 #include #include #include #include using namespace std; #define FOR(i,a,b) for(i = (a); i < (b); ++i) #define FOR原创 2012-03-06 10:52:31 · 343 阅读 · 0 评论 -
ural 1078 Segments
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1078 思路:按照长度从小到大进行排序,然后就是最长上升子序列,这样最优解一定可以得到 !!!模型的建立 // ural 1078. Segments // wa ac 0.031s #include #include #include #include #include原创 2012-03-13 15:12:30 · 333 阅读 · 0 评论 -
ural 1081 Binary Lexicographic Sequence
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1081 思路:用f(i)表示位数为i的合法的数的个数,容易得到f(i) = f(i - 1) + f(i - 2) 对于k, 假如f(n - 1) >= k,则第1位为0,否则为1,为1时,更新k = k - f(n - 1),依次得到每一位数 // ural 1081. Bina原创 2012-03-13 17:34:11 · 290 阅读 · 0 评论 -
ural 1073 Square Country
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1073 思路:状态f(i)表示整数i至少能由f(i)个平方数组和而成 则:f(i) = min(f(i - k^2) + 1) // ural 1073. Square Country // ac 0.046s #include #include #include #in原创 2012-03-13 11:25:57 · 331 阅读 · 0 评论 -
ural 1031. Railway Tickets | poj 2355
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1031 思路:用f(i)表示到第i站时的最小费用,考虑第i站有两种选择,单独买一张票,或者和前面的几个站共同买一张票 !!!可能总共用一张票就够了 // ural 1031. Railway Tickets // wa wa wa wa ac 0.406s #include #i原创 2012-03-12 19:21:39 · 685 阅读 · 0 评论 -
ural 1029 Ministry
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1029 思路:很容易想到f(i, j) = min(f(i - 1, j), f(i, j - 1), f(i, j + 1)) + val[i][j] 实现时,可以分两步dp,对于每一行先从左往右dp,然后再从右往左dp,这样可以得到正确解 利用上一层的最优解,假如当前j是由j原创 2012-03-12 12:39:31 · 365 阅读 · 0 评论 -
ural 1036 Lucky Tickets
类型:DP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1036 思路:状态f(i, j)表示前i个数字和为j的方案数 容易得到f(i, j) =∑ f(i - 1, j - k) (0 需要用高精度计算 !!!s为奇数的情况 // ural 1036. Lucky Tickets // wa wa ac 0.203s #inclu原创 2012-03-13 09:06:18 · 373 阅读 · 0 评论 -
ural 1018 Binary Apple Tree
类型:树形动态规划[经典] 状态:dp(i,j)表示以i为根的子树(还包括i与i的父亲这条边)内,保存j条边最多可以有多少苹果 转移方程:dp(i,j) = max(dp(i.left,k) + dp(i.right,j-1-k)) + i.val (0 思路:输入处理,递归建树,树内dp记忆化搜索实现,输出结果 #include #include #include usin原创 2012-03-11 10:44:05 · 605 阅读 · 0 评论 -
ural 1039 Anniversary Party
类型:树形dp 题目:http://acm.timus.ru/problem.aspx?space=1&num=1039 思路:考虑到树形结构,以1为根节点建树。用状态f(0, i)表示以i节点为根并且不包含i节点的最大值 f(1, i)表示以i节点为根并且包含i节点的最大值。因为同一条边的两个节点不能同时出现。可以得到: f(0, i) = ∑max(f(0, j), f(1, j))原创 2012-03-11 20:19:35 · 325 阅读 · 0 评论 -
ural 1017 Staircases
类型:递推 题目:http://acm.timus.ru/problem.aspx?space=1&num=1017 思路:用f(i, j)表示,用j块砖组成i个梯级能组成的方案数 考虑最下面一层为i块砖,如果去掉这一层,会有两种情况f(i, j - i)和f(i - 1, j - i) 故有f(i, j) = f(i, j - i) + f(i - 1, j - i) 初始化:f(1,原创 2012-03-10 10:41:05 · 488 阅读 · 0 评论 -
ural 1009 K-based Numbers
类型:递推 题目:求n位的合法(无两个连续的0出现)k进制个数 状态:f(i)表示合法的i位k进制数(首位不为0)的个数 容易知道第i位有k - 1种选择,考虑第i - 1位,如果第i - 1位为0,情况转化为f(i - 2),如果不为0,情况转化为f(i - 1) 故有:f(i) = (k - 1)(f(i - 1) + f(i - 2)) // ural 1009 K-based原创 2012-03-06 10:00:00 · 268 阅读 · 0 评论 -
ural 1684 Jack's Last Word
类型:KMP 题目:http://acm.timus.ru/problem.aspx?space=1&num=1684 思路:将amusing word看做模式串,将Jack's last word看做原串,进行匹配 在kmp算法中如果更新到第一个字符都不匹配即可结束,输出"yes" 如果为"no",保存字符的匹配位置,从后往前更新每个前缀串到第一个字符 如: abracadabra原创 2012-03-13 20:02:11 · 477 阅读 · 0 评论