摘要: 1.求达到某个状态的最小值,考虑用动态规划方式求解。 2.考虑第i棵树的决策,他的颜色对答案及状态的贡献受两个因素的影响: ①上一颗树颜色的选取 ②考虑前i-1棵树已经分成了几段 定义dp[i][j][k] : 第i棵树 当涂j颜色 分成k段时的最小消耗是多少 如果已经涂上色了 dp[i][j][k 阅读全文
posted @ 2017-02-23 21:24 Lorazepam 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 直接Kruskal 但是注意一点的是 从起点到终点 只要起点和终点连通就可以停止添加路径了 因为再添加 就会减小weight最小的路 阅读全文
posted @ 2017-02-23 21:09 Lorazepam 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 暴力肯定是无法做的 当时做的时候 当成一道递推来做的 用到分治的思想 想象一串长度为2n+1的列 那么前n个为前一串数 后n个是前一串数的reverse 第n+1个数 为第几串的编号 例如 第几串 中间的那个数 中间那个数的位置 长度 1 1 1 1 2 2 2 3 3 3 4 7 n n 2^(n 阅读全文
posted @ 2017-02-23 21:05 Lorazepam 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 这道题确实是自己太蠢 每个数通过双倍或者三倍 能否达到同一个数 当时一直想用LCM/a[i]后来除以2 除以3看最后是否为1 然后一直WA On test49 当然知道是数据爆了 然后就卡住了 想想如果这n个数能够乘2 乘3 得到同一个数说明 这些数的约数 只在2 和 3的数量上不同 其他约数都应该 阅读全文
posted @ 2017-02-23 20:34 Lorazepam 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 简单搜索 判断是否能在最后一步下棋得到胜利 问题转化为 是否有可以胜利的x的摆法 那么就只有两种情况 1、有两个x相连 并且 在端点还有.可以落子 那么就可以在最后一步 胜利 2、两个x中间恰好有一个.空着 那么可以再这里落子胜利 搜索这两种情况 存在则胜利 不存在 则无法再最后一步胜利 阅读全文
posted @ 2017-02-23 20:23 Lorazepam 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 简单题 给出身份证号 判断住址 和出生年月 熟练字符串的操作 主要是string::substr(s, l)//s:起始位置 l长度 阅读全文
posted @ 2017-02-23 20:17 Lorazepam 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 下列程序 1、素数的判断 2、找x的约数 3、找x的质因数 4、艾氏筛法 筛出1..n的素数 思路 确定基准为2 那么从3 到n 去掉所有2的倍数 确定基准为3 那么从4 到n 去掉所有3的倍数 确定基准为下一个剩下的数a 从a到n 去掉所有 a的倍数 直到n 边筛选完毕 阅读全文
posted @ 2017-02-23 20:13 Lorazepam 阅读(142) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1930 小学奥数忘了吗 求无限循环小数的分数方法 //计算循环小数的公式/*用9和0做分母,首先有几个循环节就几个9,接着有几个没加入循环的数就加几个0,再用小数点后面的数减 没加入循环的数,比如0.43,3的循环,有一位数没加入循环,就在9后面 阅读全文
posted @ 2017-02-23 19:41 Lorazepam 阅读(285) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2429 给GCD 和 LCM 求对应的两个数 a b 要求 a+b最小 因为lcm(a, b) = a*b * gcd(a, b) 所以 可以得到 a*b = LCM / GCD 要求 a*b值最小 只要让a b尽量接近就好 也就是搜索LCM / 阅读全文
posted @ 2017-02-23 19:29 Lorazepam 阅读(202) 评论(0) 推荐(0) 编辑