摘要:
一个软件有s个子系统,会产生n种bug。某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。需要注意的是:bug的数量是无穷大的,所以发现一个bug,出现在某个子系统的概率是1/s,属于某种类型的概率是1/n。 阅读全文
摘要:
首先我们可以想到的是,既然求的是前缀的长度,就意味着一定是从1开始的,那么我们可以直接用下 标表示每一个前缀。但是可能存在几个前缀互相包含的情况,比如:abababa我们可以看见的是aba中包含着ab和aabab中包含着aba, ab和a从上面我们能观察出一个性质来:将原字符串自匹配后,扫描到字符i 阅读全文
摘要:
给你一个字符串,它是由某个字符串不断自我连接形成的。但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 因为这个字符串是不断自匹配形成的我们可以很容易的想到,除了第一个字符串外,从第二个字符串开始,根据这样一个过程:cabcabcai=1 0 j=1i=2 0i=3 0i=4 1i=5 -> 阅读全文
摘要:
有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程。将s中的每一个字符压入栈暴力将s中的字符和t中的一个一个匹配,若能够匹配若不能匹配,我们利用next数组转移匹配的位置同时我们利用另一个栈来存 阅读全文
摘要:
分层图最短路,就是在分层图上解决最短路问题一般模型为:在一张图上,有k次机会可以通过一条边而不需要计算权值(免费过路),求从起点到终点的最短路线常规思路:想象将一个点拆分为k + 1个点,分别表示到这个点时,免费权消耗了0次,1次,2次......k次这样实际我们可以把这k个点想象成对应dp的不同的 阅读全文
摘要:
双向BFS 我们在BFS时,要从起点,搜遍整颗搜索树,然后找到终点,整个过程大概是一个如下的结构 我比较懒,所以图非常简陋。 最上面的节点表示起点,最下面的点表示终点。 我们正常的BFS是从起点一路向下搜到终点,这样要扩展不少的状态,耗费不少的时间。 这样我们想我们其实可以从起点和终点同时开始搜,起 阅读全文
摘要:
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点: 0,1…,L (其中 L 是桥的长度)。坐标为 0 的点表示桥的起点,坐标为 L 的 阅读全文
摘要:
给定一个数组a[1,2,..,n] 。定义数组第i位上的减操作:把ai和ai+1换成ai - ai+1。输入一个n位数组以及目标整数t,求一个n-1次操作序列,使得最后剩下的数等于t最后输出依此操作的i 输入:第一行一个N,一个T,接下来N行,每行一个正整数ai输出:依次输出被操作的位置i 首先对题 阅读全文
摘要:
题目大意 :农夫约翰有n*m块地,其中一些地荒掉了。玉米是一种傲娇的植物,种在相邻的地里会导致不孕不育。求所有种法数对100000000求余。 读入:第一行一个n一个m, 接下来是一个n行m列的矩形,表示田地的状态(1表示可种植,0表示不可种植) 输出:一个整数,表示总的方法数 % 10000000 阅读全文
摘要:
状态压缩DP 动态规划的过程是随着“阶段”增长,在每个状态维度上不断扩展的。在任意时刻,已经求出的最优解的状态与尚未求出最优解的状态在各个维度的分界点组成了DP扩展的“轮廓”。对于某些问题,我们需要在动态规划的“状态”记录一个集合,保存这个“轮廓”的详细信息,以便进行状态转移。若集合大小不超过N,集 阅读全文