AOJ.1301 差除

题目

题目描述

集合要满足互异性,即一个集合不能包含相同的元素。但是有的时候,我们需要集合中包含相同的元素,这种集合叫做多重集合(multiset)。
现在有一个多重集合,其中有n个整数。现在需要你从其中选出k个整数,使得k个数中任意两个的差都可以被m整除。
问题来了,能否从多重集合中找到k个数,若果可以的话,输出Yes,否则输出No。

基本算法(3):回溯策略

回溯策略的基本思想

回溯策略是暴力搜索法中的一种。对于某些约束满足问题,要求给出问题全部或最优解时,尤其适合使用回溯策略。

回溯策略的基本思想是试错法,它尝试分步地去解决一个问题。在解决问题的过程中,当回溯策略发现现有的分步答案不能给出有效的解答时,它将向上回溯,取消前一步甚至是前几步的计算结果,然后再通过其他可能的分步解答再次尝试寻找问题的答案。通俗地说,就是选定一条路往前走,直到“撞了南墙”再回头换一条别的路。

HDU.1003 Max Sum

题目

Problem Description

Given a sequence a[1],a[2],a[3]……a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.

基本算法(1):枚举策略

枚举策略的基本思想

  1. 在问题所有可能解之集合中一一枚举所有可能元素。
  2. 以问题所给检验条件判断每个元素的状态(符合或不符合检验条件),符合条件的元素构成问题的解集。