uva 548 Tree
题目大意:
给定一个二叉树的中序和后序遍历,求二叉树到每个叶节点的路径和最小的那个叶节点的值。
解题思路:
先建树,后dfs,建树也就是后序的最后一个就是二叉树的当前节点的值,再在中序中找到这个值,那么左边就是左子树,右边就是又子树,再从后序中找出相应的左右子树的后序,然后划分为子问题递归求解。...
分类:
其他好文 时间:
2014-05-23 08:10:59
阅读次数:
255
HDU 4734 F(x)
解题思路
给定A,B, 在[0,B]之间的数字假设为i,问你有多少数字 f[i] 值小于f[A]
解题思路:
数位DP,只需按照位数转移为缩短1位的子问题即可...
分类:
其他好文 时间:
2014-05-22 09:37:11
阅读次数:
275
题目大意:X轴为陆地,X轴上方为大海,海中有多个小岛,坐标为(x,y)。给你任意多个雷达,雷达的扫描范围i是一个以半径为D的圆,问你至少用几个雷达可以将所有小岛覆盖。如不能完全覆盖输出“-1”。解题思路:简单贪心。以每个小岛为圆心作以半径为D的圆,找出与X轴相交的区间,意思为在这个区间上的任意一点都...
分类:
其他好文 时间:
2014-05-19 15:54:58
阅读次数:
177
题意:输入一个n,然后输入两个n*n矩阵,一个代表雷的矩阵,一个代表走过的的矩阵。然后输出结果矩阵、解题思路:结果矩阵分两种情况,一个是没有踩到雷的,一个是踩到雷的,踩到雷的要把雷都显示出来。其实就是用结构体的二维数组存的两个矩阵,然后输入,判断即可。具体代码:#include#include#in...
分类:
其他好文 时间:
2014-05-19 13:41:19
阅读次数:
220
题目链接:11375 - Matches
题目大意:给出n根火柴,问说能组成多少种数字,要求说0不能打头。
解题思路:d[i]表示i根火柴能够组成的数量,d[i+c[j]] = d[i+c[j]] + d[i];
最后dp[i]表示小于等于i根火柴能组成的数量,dp[i]=∑jidp[j].
高精度。
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-05-18 10:21:35
阅读次数:
286
题目链接:hdu 4811 Ball
题目大意:有三种颜色的球若干,每次向桌子上放一个球,保证是一条序列,每次放球的得分为当前放入序列的球的前面有多少种不同的颜色a,后面的有多少种不同的颜色b,a+b。问说给定球的数量后,最大得分为多少。
解题思路:因为放球顺序是自己定的,所以我们可以尽量早得构造一个序列,使得后面放入球的得分均保持在峰值。那么求峰值就要根据球的数量来决定。我们叫得分为...
分类:
其他好文 时间:
2014-05-18 10:01:02
阅读次数:
192
题目连接:Codefoces 432C Prime Swaps
题目大意:给出一个序列,长度为n,要求用5n以内的交换次数使得序列有序,并且交换的i,j两个位置的数时要满足,j?i+1为素数。
解题思路:a数组为对应的序列,b数组为对应的有序序列,p为对应数的位置。每次从有序序列最小的位置开始,该为必须放b[i]才对,所以p[b[i]]=i,否则就要将b[i]尽量往前换,直到换到i的位...
分类:
其他好文 时间:
2014-05-18 09:51:47
阅读次数:
221
题目链接:hdu 4719 Oh My Holy FFF
题目大意:队伍里有n个人,给出每个人的身高,他们按照顺序排列,现在要将这n个人分成若干组,每一组的人数不得大于l,并且第i组的最后一个人的身高一定要大于第i?1组的最后一个人的身高。要求最后的权值最大,权值为,k为组号。
解题思路:dp[i]表示以第i个人作为结尾的最大权值,那么dp[i]肯定是从前面的l-1个中转移过来的,即d...
分类:
其他好文 时间:
2014-05-18 08:08:12
阅读次数:
229
题目链接:hdu 4810 Wall Painting
题目大意:有以为画家,有n种颜料,给出n种颜料的值。然后在1~n天中,他每天都会选择相应天数的颜料数进行混合,形成新的一种颜料。比如说第2天,他会选择任意两种的颜料混合,得到新的一种颜料(所选的颜料的值全部取亦或后的到的数即为新颜料的值)
然后对应输出每一天有可能合成颜料值的总和。
解题思路:因为要考虑到所有情况,所以暴力枚举选...
分类:
其他好文 时间:
2014-05-18 07:47:33
阅读次数:
234
题目大意:
给出一个数n,求m,使得m的长度和n相等,能被k整除。有多个数符合条件输出与n在每位数字上改变次数最小的。改变次数相同的输出大小最小的。
共有三种解法:DP解法,记忆化搜索和DFS+强剪枝的算法。
后两种以后会更新。
1、DP解法:
解题思路:
DP[i][j]表示数n的前i位除以k余j最小改变几位。
DP[len][0]就表示数n被k整除最小改变几位。
根据这个...
分类:
其他好文 时间:
2014-05-18 06:02:56
阅读次数:
319