题目描述 给定一个由前$n$个小写字母组成的串$S$。 串$S$是阶乘字符串当且仅当前$n$个小写字母的全排列(共$n!$种)都作为$S$的子序列(可以不连续)出现。 由这个定义出发,可以得到一个简单的枚举法去验证,但是它实在太慢了。所以现在请你设计一个算法,在$1$秒内判断出给定的串是否是阶乘字符 ...
分类:
其他好文 时间:
2019-09-06 23:13:27
阅读次数:
111
引入概念 什么是数据结构与算法? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器。 那么数据结构和算法是什么?答曰:兵法! 我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利,可能也会付出巨大的代价。我们 ...
分类:
编程语言 时间:
2019-08-30 21:14:45
阅读次数:
139
暴力搜索超时,但是折半后两部分状态支持合并的情况,可用折半枚举算法 poj3977 给一个序列a[],从里面找到k个数,使其和的绝对值最小 经典折半枚举法+二分解决,对于前一半数开一个map,map[sum]里存下凑出当前sum的最小元素个数 枚举后面一半的所有情况,然后lower_bound去找m ...
分类:
其他好文 时间:
2019-08-22 22:02:31
阅读次数:
84
给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0 ...
分类:
其他好文 时间:
2019-07-26 22:48:17
阅读次数:
154
这周主要学习了java的数据类型、常量与变量、运算符、数据类型的转换、分支结构、枚举法,递推法、递归法、面对对象的基本概念、面向对象的三大特征、学习了HTML标题,段落,换行,下划线,<!--StartFragment --> <%@ page language="java" contentType ...
分类:
其他好文 时间:
2019-07-20 23:19:57
阅读次数:
119
一.算法的起始 1.第一次尝试 如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合? (可以考虑到百钱白鸡) 枚举法 # 注意是三重循环 import time start_time = time.time() for a in rang ...
分类:
编程语言 时间:
2019-07-20 18:39:53
阅读次数:
101
昨天看书,没有用enumurate枚举的时候,完全发觉不了他们的区别,倍感困惑。 今天看了其他人写的教程,用了枚举法,然后就发现他们之间的区别了。 还要注意,子代接下一个子代时,可能是换行符,看children找出的子代,你就可以体会到啦! descendants是找了子标签,然后再一步步探入别人的 ...
分类:
其他好文 时间:
2019-07-16 00:04:12
阅读次数:
114
穷举法又称穷举搜索法,是一种在问题域的解空间中对所有可能的解穷举搜索,并根据条件选择最优解的方法的总称。数学上也把穷举法称为枚举法,就是在一个由有限个元素构成的集合中,把所有元素一一枚举研究的方法。 使用穷举法解决问题,基本上就是以下两个步骤: ? 确定问题的解(或状态)的定义、解空间的范围以及正确 ...
分类:
编程语言 时间:
2019-05-30 01:46:06
阅读次数:
135
ALGORITHM "Integer toRoman" 是一个匹配问题,本来自己对这个程序做了很多的判断,可是最后观看别人的实例才发现,解决这个问题是可以很简单的,那就是用枚举法,将每个可以表示的罗马字母先表示出来,这样可以减少很多的逻辑判断。 REWVIEW "The Key To Acceler ...
分类:
其他好文 时间:
2019-05-13 09:16:24
阅读次数:
149
求出所有的水仙花数 水仙花数问题:一个三位数,个位数字立方和等于该数本身 eg:153=1*1*1+5*5*5+3*3*3 a 个位数字 b 十位 c 百位 s 一个三位数 int def(){ int a,b,c,s; int s; for(c=1;c<=9;c++) for(s=100;s<=9 ...
分类:
其他好文 时间:
2019-04-15 23:16:14
阅读次数:
209