摘要: void solve(char *str,int N) { int i,j,k,Len,pos,s; Len = strlen(str); memset(dp[1],0x11,sizeof(dp[1])); dp[1][0][0] = ... 阅读全文
posted @ 2015-08-21 10:49 Milkor 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 斐波那契递推式:斐波那契通项公式:求证过程如下:斐波那契和矩阵的关系:描述这个。那还是描述矩阵和线性递推式的关系吧线性递推式。即F(n)和F(n-1),F(n-2),F(n-3),F(n-4)...其阶均是一次的关系。如F(n)=2F(n-1)+F(n-2).F(n)=F(n-1)+2F(n-3)+... 阅读全文
posted @ 2015-08-16 18:51 Milkor 阅读(17262) 评论(0) 推荐(5) 编辑
摘要: 首先是描述个大概。不说一些特殊的DP 或者借用矩阵来状态转移 (这些本质都是一样的)。只讲AC自动机和DP的关系(个人理解)。AC自动机 又可以叫做状态机。我一开始的认为。AC 自动机提供了一些节点的信息。以及那些节点之间的关系。(节点也就是我们创建的 Trie图的节点。往往我们会有一维这个信息)。... 阅读全文
posted @ 2015-08-13 09:44 Milkor 阅读(1954) 评论(1) 推荐(1) 编辑
摘要: ---------------------------------------------------------------------------------------------------by Milkor -----------------------------2015.7.12int... 阅读全文
posted @ 2015-07-12 10:43 Milkor 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 前提是建立在理解Nim博弈的情况下。对于阶梯博弈。我只想描述清楚为什么对偶数列的操作是没有意义的。我们明显地可以发现这样的现象。当只剩下偶数列有数值的时候。先手必输。后者必赢。因为先手只能做将偶数列的物品移动到奇数列上。此时后手只要把同样数量的奇数列的值移动到下一个偶数列上。最后胜利的操作一定是将奇... 阅读全文
posted @ 2015-07-01 21:25 Milkor 阅读(384) 评论(0) 推荐(0) 编辑
摘要: #include#include#define LL __int64LL mult_mod(LL a,LL b,LL c){ a%=c; b%=c; LL ret=0; while(b) { if(b&1){ret+=a;ret%=c;} a=c)a%=c; b>>=1; } return ret;... 阅读全文
posted @ 2015-06-08 16:45 Milkor 阅读(253) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#define LL __int64using namespace std;LL mult_mod(LL a,LL b,LL c){ a%=c; b%=c; LL ret=0; while(b) { if(b&1){ret+=a;ret%=c;} a=... 阅读全文
posted @ 2015-06-08 15:34 Milkor 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 我们都知道区间更新时候有个lazy 标志。而这个lazy 标志 我们要使得其可以理论重叠。即使操作不能重叠。也尽可能让其重叠。比如:一道修改区间>x的值为gcd(x,val)的操作题。首先针对查找区间>x 这种查找。我们在节点上存储 区间最大值 作为剪枝。另外针对求gcd(x,val)操作。用向量存... 阅读全文
posted @ 2015-05-26 19:02 Milkor 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 考虑一下逆序数的定义:{ 2, 4, 3, 1 }分别是(2,1), (4,3), (4,1), (3,1)也就是说针对一个数。判断在这个序列中这个数位置后面的数有多少个比它小。也就是说针对一个数。判断在这个序列中这个数位置之前有多少个数比它大。那就是询问当前数~n 区间上的出现了多少个数。 (由于... 阅读全文
posted @ 2015-05-22 15:56 Milkor 阅读(295) 评论(0) 推荐(0) 编辑
摘要: int ex_gcd(int a,int b,int &x,int &y) { int t,d; if(b==0) { x=1; y=0; return a; } d=ex_gcd(b,a%b,x,y); t=x; x=y; y=t-(a/b)*y; return d; } /* 处理的只是NN'+ 阅读全文
posted @ 2015-05-17 12:22 Milkor 阅读(291) 评论(0) 推荐(0) 编辑