摘要:
链接:https://vjudge.net/problem/HDU-1394 题意: 给一个由0-(n-1)n个值组成的序列。挨个把首位置的值移到最后一位,求每次的逆序对数,找到最小的那个。 思路: 线段树,对每个值加1方便处理,每来一个新值,查询当前比他大的值的数目。 位移时,因为数组由(0-(n 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-1428 题意: LL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边,缺乏运动。他决定充分利用每次从寝室到机房的时间,在校园里散散步。整个HDU校园呈方形布局,可划分为n*n个小方格,代表各个区域。例如LL居住 阅读全文
摘要:
链接:https://vjudge.net/problem/UVA-10118 题意: 给你四个柱子,每个柱子有n个不同颜色的糖果。 每次只能取柱子顶的一个糖果。 手上最多抓5个糖果。但是手上每有2个相同的的糖果的时候可以将这一对糖果放到口袋。 求最多能放几对糖果到口袋。 思路: 记忆化搜索。dp。 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-1501 题意: 给定3个字符串,在不改变原来顺序上能否用第一个和第二个组成第三个。 思路: dp。dp[i][j]表示可以用第一个字符串前i位和第二个字符串前j位,组成第三个字符串前i+j位。 两重循环。 考虑每一次ij,当dp[ 阅读全文
摘要:
链接:https://vjudge.net/problem/UVA-10285 题意: 给你一个二维矩阵,任意选一个起始点,每次可走上下左右四个方向。 但是只能走比他小的格子,求最长的一条路的长度。 思路: dp[i][j]表示从i,j位置开始的最长路。 得到转移方程dp[i][j] = max(d 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-2182 题意: 有一只青蛙,有n个节点,开始时在1节点,有k次往右跳的机会,每次跳的距离是a-b之间。 每个节点有一个值,到达那个节点则总值加上那个值。 求最大能得到的值 思路: dp[i][j]表示第i个节点,第j次跳跃得到的值 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-2044 题意: 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 思路: 刚开始按位置递推,后来发现是按照距离递推。 代码: 阅读全文
摘要:
链接:https://vjudge.net/problem/POJ-1163 题意: 给一个三角形,每次只能从点往下一层左边或者右边走。 求走到最下面一层能得到的最大值。 思路: dp,每个位置是上方左右中较大的值加上自己。 代码: 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-1159#author=0 题意: 最长公共子序列,LCS 思路: LCS 代码: 阅读全文
摘要:
链接:https://vjudge.net/problem/HDU-2069 题意: 给你面值有1,5,10,25,50的币种,然后随意输入一个钱的数目,问用这些面值刚好凑成这个钱的方法有多少个(最多100个硬币) 思路: dp,二位数组,dp[i][j]。表示i值用j个硬币有几种方法。 好像这题有 阅读全文