Redian新闻
>
父母b2签证延期特殊问题
avatar
父母b2签证延期特殊问题# Reunion - 探亲与陪读
E*n
1
给定一个整数数组,从大到小已经排好序,比如
30, 23, 10, 5, 2, 1
再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
+ 10
使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
我没有好的idea,
恳请高手指教!
刚才忘了说,1是永远存在数列里面的
avatar
f*i
2
我父母上半年申请b2的时候我还是h1b 在等绿卡,现在拿到绿卡几个月了,现在填表
时有一项问
Are you filing this benefit request for status based on a Principal Alien's
nonimmigrant status? 我改选yes or no 呢?
多谢!
avatar
s*t
3
google 背包问题

10

【在 E***n 的大作中提到】
: 给定一个整数数组,从大到小已经排好序,比如
: 30, 23, 10, 5, 2, 1
: 再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
: + 10
: 使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
: 我没有好的idea,
: 恳请高手指教!
: 刚才忘了说,1是永远存在数列里面的

avatar
p*w
4
从大往小凑。
凑不成功之后,就回退一级

10

【在 E***n 的大作中提到】
: 给定一个整数数组,从大到小已经排好序,比如
: 30, 23, 10, 5, 2, 1
: 再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
: + 10
: 使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
: 我没有好的idea,
: 恳请高手指教!
: 刚才忘了说,1是永远存在数列里面的

avatar
B*t
5
NPC, 没什么通用的好方法。
如果数的个数小于25,DFS效率好一些。
否则的话用 psudo-polynomial的背包问题的标准解法。

10

【在 E***n 的大作中提到】
: 给定一个整数数组,从大到小已经排好序,比如
: 30, 23, 10, 5, 2, 1
: 再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
: + 10
: 使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
: 我没有好的idea,
: 恳请高手指教!
: 刚才忘了说,1是永远存在数列里面的

avatar
E*n
6
谢谢
但是这样不一定能找到最少的.如果我给定数组
10, 7, 1
要求凑14,那么从大往小凑需要14 = 10 + 1 + 1 + 1 + 1,实际上14 = 7 + 7,只要2个

【在 p*********w 的大作中提到】
: 从大往小凑。
: 凑不成功之后,就回退一级
:
: 10

avatar
s*t
7
可以重复使用也没关系
总之思路就是贪心地试验

2个

【在 E***n 的大作中提到】
: 谢谢
: 但是这样不一定能找到最少的.如果我给定数组
: 10, 7, 1
: 要求凑14,那么从大往小凑需要14 = 10 + 1 + 1 + 1 + 1,实际上14 = 7 + 7,只要2个

avatar
b*g
8
hehe, very nice. It is a NPC problem like subset sum problem.

【在 B*****t 的大作中提到】
: NPC, 没什么通用的好方法。
: 如果数的个数小于25,DFS效率好一些。
: 否则的话用 psudo-polynomial的背包问题的标准解法。
:
: 10

avatar
r*o
9
能不能贴一下代码或pseudo code?
多谢。

【在 p*********w 的大作中提到】
: 从大往小凑。
: 凑不成功之后,就回退一级
:
: 10

avatar
y*i
10
回溯法可以么

10

【在 E***n 的大作中提到】
: 给定一个整数数组,从大到小已经排好序,比如
: 30, 23, 10, 5, 2, 1
: 再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
: + 10
: 使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
: 我没有好的idea,
: 恳请高手指教!
: 刚才忘了说,1是永远存在数列里面的

avatar
E*n
11
不能这么做,我最后用了dynamic programming.
Grady algorithm可能无法得到正确的结果,除非穷举,但是这样太慢了

【在 s*********t 的大作中提到】
: 可以重复使用也没关系
: 总之思路就是贪心地试验
:
: 2个

avatar
r*o
12
你说的Greedy algorithm是用DFS搜索吗?

【在 E***n 的大作中提到】
: 不能这么做,我最后用了dynamic programming.
: Grady algorithm可能无法得到正确的结果,除非穷举,但是这样太慢了

avatar
E*n
13
dynamic programming,
和费波纳契数列比较类似
Backtracking可能需要返回不止一次,所以太麻烦了

【在 y**i 的大作中提到】
: 回溯法可以么
:
: 10

avatar
n*r
14
Nice exercise for practising Knapsack problem
Let all items having weight 1, i.e. w_i=1, p_i being item i's value, A(Y)
being the min weight that can be achieved with total money Y (achieveable
becasue 1 is always there)
Then
A(0) = 0
A(Y)=min{1+A(Y-p_i)|p_i≤Y}
Calculate A(1),A(2),..., till you get A(80)
What kind of position is this interview for?

10

【在 E***n 的大作中提到】
: 给定一个整数数组,从大到小已经排好序,比如
: 30, 23, 10, 5, 2, 1
: 再给定一个整数,比如80,用给定数组中的元素来凑成80, 比如 80 = 30 + 30 + 10
: + 10
: 使得使用的元素个数最少(这个题目很像”找钱“,用有限的纸币的面值才凑数)。
: 我没有好的idea,
: 恳请高手指教!
: 刚才忘了说,1是永远存在数列里面的

avatar
c*f
15
对的 就是动态规划
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。