整数拆分的方案数目

OEIS: http://oeis.org/search?q=1%2C2%2C3%2C5%2C7%2C11%2C15&sort=&language=english&go=Search 哈代拆分: 对于数字N, 有F(N...

2018-09-03 17:27:45

阅读数:93

评论数:0

NEXT

AC自动机+最大子段和问题(DP)

2018-09-03 13:37:14

阅读数:32

评论数:0

二进制的最小划分

一个数N,划分为M块,使1~N的每一个数字都能由M块内S块且不重复组合相加而成,问:最小分几块? ANS=log2(N) 证明: 二进制加权+进位拆分  

2018-09-03 01:23:43

阅读数:74

评论数:0

字符串与HASH(二)

假设我们有一串字符串: 现在求字符串的前缀后缀的最长公共长度: 即:满足 的最长公共长度是: HASH做法: 先定义一个初始公共长度 x = 0; 如果: HASH1==HASH2 那么; 更新x,x=max(x,i+1); 答案就是X  ...

2018-08-31 10:26:35

阅读数:69

评论数:0

约数个数

有一个数字n: 都是质数 那么n的约数的个数是:  

2018-08-30 17:51:55

阅读数:91

评论数:0

set&multiset

set特性: 1.去重性(1个元素只出现一次) 2.有序性 multiset特性: 1.多重性 2.有序性(1个元素可以出现很多次) 都在<set>内,使用方法相同。

2018-08-30 15:01:42

阅读数:56

评论数:0

费马小定理&逆元&欧拉定理(函数)

    目录   1.逆元: 2.欧拉函数: 3.欧拉定理: 4.费马小定理: CODE(A): CODE(B): CODE(F+打表): 1.逆元: 2.欧拉函数: 3.欧拉定理: 4.费马小定理: 费马小定理是欧拉函数的一种特殊...

2018-08-30 12:03:28

阅读数:77

评论数:0

HDU5015

链接: HDU5015 初始矩阵: 递推矩阵: over ORZ code: #include <cstdio> #include <algorithm> #include &...

2018-08-29 10:02:04

阅读数:63

评论数:0

字符串与hash(一)

之前有一种普遍使用的字符串hash: 可以有效地处理字符串的子串: 再者:还有可以代替KMP的hash: + // 现在我们从一道题目入手(SPOJ-EPALIN): 题意: 对给定字符串S,求以S为前缀的、长度最小的回文串并输出它 网上由两种解法: 一、KMP+逆字符串...

2018-08-28 17:45:29

阅读数:97

评论数:0

hash算法原理详解

原文地址:hash算法原理详解 hash算法原理详解 [+] 一概念二Hash构造函数的方法    1直接定址法数字分析法折叠...

2018-08-28 11:56:16

阅读数:47

评论数:0

HASH-TABLE 的简单介绍

HASH-TABLE是什么:  hash-table HASH的优势: 开一个长度为L的数组,平摊查找速度提到L倍,搞多个键值让HASH的结果不相等,但最终放到数组里布碰撞是由数组大小决定的。,以(%n)来计算,达到sqrt(n)时,由50%的碰撞概率(摘自夹克老爷) 简单来说: HAS...

2018-08-26 23:35:03

阅读数:62

评论数:0

KMP--字符串匹配(前缀数组)

算法背景: Knuth–Morris–Pratt algorithm 数据结构: next数组 +  。。 算法原理: 预处理匹配串(匹配串与自己匹配)得到失配数组 没了。 得到失配数组NEXT的函数: void getnext(char *p)//匹配串 { int m...

2018-08-24 15:41:21

阅读数:120

评论数:0

滚动数组

滚动数组的好处: 和金坷垃一样。。。。txtx 自然是节省空间,这是应对动态规划题目中卡空间的常用做法--可能涉及到3维甚至以上的dp转移方程。 利用滚动数组,可以把某一维(这一维的用到的地方只有有限个,假设为k,那么我们就可以设这一维大小为k) 这里的k与转移方程有关系,所以先要判断转移...

2018-08-22 16:29:08

阅读数:58

评论数:0

多重背包的二进制优化问题

一般的思路: 把多重背包转化为01背包,但这样时间复杂度是不变的,依然会TLE。 二进制优化: 把第 i 种物品的 num【i】 分为 数个新的物品: 分配为: 1,2,4.....2^c  (2^c < num[ i ]) 剩下的数量都可以由这些二进制组合而成。 ...

2018-08-22 12:21:52

阅读数:95

评论数:0

多重背包问题 可行性问题O(V N) 算法

原文地址:多重背包问题 可行性问题O(V N) 算法 算法一 #include<stdio.h> int a[100],m[100]; bool dp[100][100]; int main() { ...

2018-08-22 10:28:15

阅读数:32

评论数:0

多重背包由01背包转化的写法

由01背包转化的写法: 1.嵌套了一层循环:(1~num[i]) CODE: #include <cstdio> #include <cstring> #include <algo...

2018-08-21 19:17:59

阅读数:41

评论数:0

完全背包的两种写法

背包九讲地址: file://C:\Users\PHC\AppData\Local\Packages\903DB504.QQ_a99ra4d2cbcxa\LocalState\User\1021861128\NetworkFile\背包问题九讲_2.0.pdf 完全背包的一种正常思路: 物品...

2018-08-21 12:03:23

阅读数:121

评论数:0

循环区间求最大字段和

解释什么是循环区间: 有一个数组序列: a: a1,a2,a3,a4,a5 ------> 循环区间:a1,a2,a3,a4,a5,a1,a2,a3...... 数据结构: mindp数组,maxdp数组,mmin,mmax,totalsum标记符 算法设计: 动态...

2018-08-21 09:28:07

阅读数:83

评论数:0

非循环区间求最大子段和

自然是DP了。。 状态转移方程: 这里我把dp[i] 赋值为 a[i], 所以这和: 无异 。。 CODE: #include <cmath> #include <cstdio> ...

2018-08-21 00:36:24

阅读数:45

评论数:0

Manacher's Algorithm(马拉车)

最长回文子串简介: Longest palindromic substring 相关算法及时间复杂度: 1.暴力求解:  2.中心扩展:  3.Manacher's Algorithm:   我只解释第三个: 马拉车:(要理解回文的特性) 1.数据结构: 源字符串+一维数组+中心标...

2018-08-20 11:54:44

阅读数:84

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭