这道题在小白书中的分类是动态规划,把题AC了之后在网上看解题报告后,多数解法也是DAG上的动态规划。但其实一个简单的深度优先就能解决问题了。首先将每数从大到小排序,再将各组按照排序后的第一个数字的大小进行从大到小排序。需要注意的是,记录各组数据的编号也要和数进行同步的排序。
#include
#include
#include
#include
#include
using names...
分类:
其他好文 时间:
2015-02-05 11:23:15
阅读次数:
118
Monkey and Banana
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8122 Accepted Submission(s): 4194
Problem Description
A group of...
分类:
其他好文 时间:
2015-01-22 15:28:45
阅读次数:
144
题目:有n种硬币,面值分别为V1,V2,...Vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值!
分析:我们把每种面值看作一个点!表示“还需要凑足的面值”,初始状态为S,目标状态为0。那么若当前状态在i,每使用一个硬币j,状态便转移到i-Vj。
代码:
记忆化搜索:
#include
#include
using n...
分类:
其他好文 时间:
2014-06-10 18:45:32
阅读次数:
315
有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。
题目描述:
有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a
分析:
矩形之间的"可嵌套"关系是一个典型的二元关...
分类:
其他好文 时间:
2014-05-18 07:20:52
阅读次数:
248