![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 305 阅读 · 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 · 299 阅读 · 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 · 250 阅读 · 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 · 267 阅读 · 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 · 643 阅读 · 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 · 296 阅读 · 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 · 317 阅读 · 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 · 561 阅读 · 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 · 290 阅读 · 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 · 424 阅读 · 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 · 228 阅读 · 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 · 433 阅读 · 0 评论