一、在学习枚举之前,首先来听听枚举的优点。 1、枚举能够使代码更加清晰,它允许使用描述性的名称表示整数值。 2、枚举使代码更易于维护,有助于确保给变量指定合法的、期望的值。 3、枚举使代码更易输入。二、枚举说明 1、简单枚举枚举使用enum关键字来声明,与类同级。枚举本身可以有修饰符,但枚举...
分类:
其他好文 时间:
2014-07-07 10:07:30
阅读次数:
191
Linq语法小结:有两种形式的语法可供我们在写Linq查询时使用,分别是“查询语法”、“方法语法”。1)先看个列子,有个直观认识 int[] arr = { 12, 2,45,34,23,18,4}; //查询语法形式(推荐使用这种)、返回的是一个可枚举类型 IEnumerable resul...
分类:
其他好文 时间:
2014-07-03 20:58:49
阅读次数:
223
这道题和poj的拯救少林神棍是一样的题目。
要用给出的小棍凑成等长的棍子,求能凑成的棍子的最小长度。
直观的包里思路就是枚举所有可能的长度,然后不停的测试小棍组合,先把小棍加入组合,然后不合适就推翻这一根小棍,再测试下一个小棍,直到推翻所有的小棍。
在枚举的时候,我们只需从最长的小棍长,枚举到小棍总长的一半就行了。然后如果再不符合的话,那么就说明所有小棍只能组合成一根棍子了。
我原先看过关于poj上拯救少林神棍这道题目的详细讲解。一个DFS搜索题,这里DFS共有四种剪枝方案:...
分类:
其他好文 时间:
2014-07-03 17:29:03
阅读次数:
161
题目链接:uva 10539 - Almost Prime Numbers
题目大意:给出范围low~high,问说在这个范围内有多少个数满足n=pb,(p为素数).
解题思路:首先处理出1e6以内的素数,然后对于每个范围,用solve(high)?solve(low?1),solve(n)用来处理小于n的满足要求的数的个数。枚举素数,判断即可。
#include
#include...
分类:
其他好文 时间:
2014-07-03 16:50:09
阅读次数:
190
(一)生成1~n的排列
分析:用递归的思想解决:先输出所有以1开头的排列(这一步是递归调用),然后输出以2开头的排列(又是递归调用),接着是以3开头的排列......最后才是以n开头的排列。
伪代码:
void print_permutation(序列A, 集合S) {
if(S为空) 输出序列A;
else 按照从小到大的顺序依次考虑S的每个元素v {
print_permutati...
分类:
其他好文 时间:
2014-07-03 15:52:07
阅读次数:
216
1.1.1. hadoop IO 对比Java IO即可 FSDataInputStream,FSDataOutputStream 为抽象类, FSInputStream抽象类 1.1.2. hadoop文件系统中的权限 枚举类FsAction定义了rwx权限,常量 ...
分类:
其他好文 时间:
2014-07-02 20:46:22
阅读次数:
308
UVA 10623 - Thinking Backward
题目链接
题意:给定一个数量,求用圆,椭圆,三角形分割平面,分割出该数量,输出所有情况
思路:有公式2 + 2m(m-1) + n(n-1) + 4mn + 3p(p-1) + 6mp + 6np
由于m和p都是[0,100],所以可以枚举m和p,去求出n,然后判断合不合适
代码:
#include
...
分类:
其他好文 时间:
2014-07-02 17:02:41
阅读次数:
179
题目链接:uva 11728 - Alternate
Task
题目大意:给出S,求N,要求N所有的因子和为S。
解题思路:枚举因子i,所有整除i的数和加上i。
#include
#include
const int N = 1005;
int n, c[N], v[N];
void init () {
memset(c, 0, sizeof(c));
...
分类:
其他好文 时间:
2014-07-02 16:55:04
阅读次数:
167
UVA 11754 - Code Feat
题目链接
题意:给定一个c个x, y1,y2,y3..yk形式,前s小的答案满足s % x在集合y1, y2, y3 ... yk中
思路:LRJ大白例题,分两种情况讨论
1、所有x之积较小时候,暴力枚举每个集合选哪个y,然后中国剩余定理求解
2、所有x之积较大时候,选定一个k/x尽可能小的序列,枚举x * t + y (t =...
分类:
其他好文 时间:
2014-07-02 16:21:54
阅读次数:
373
题目连接:uva 294 - Divisors
题目大意:给出一个范围L~U,问说在该范围中因子数最多的数是多少。
解题思路:枚举L~U中的数,将数分解成质因子,利用乘法原理求总因子数。
#include
#include
#include
int countFactor (int x) {
int ans = 1;
int m = sqrt(x+0.5);
...
分类:
其他好文 时间:
2014-07-02 15:27:15
阅读次数:
298