摘要:
显然在某一天要么花完所有钱,要么不花钱。 所以首先想到O(n^2)DP: f[i]=max{f[i-1],(f[j]*r[j]*a[i]+f[j]*b[i])/(a[j]*r[j]+b[j])},j<i 其中f[j]*r[j]/(a[j]*r[j]+b[j])是第j天最多能买多少A券,B类似。 假如 阅读全文
摘要:
显然只需求LCP(i,j)就可以了。 将s反转,然后插入后缀自动机。由于后缀自动机的link指针构成了一棵后缀树,而字符串又反转过,所以两个结点的LCP就是LCA。 树形DP,求出以每个结点为LCA的个数就可以了。 代码: 1 #include<iostream> 2 #include<cstdio 阅读全文
摘要:
题目大意: 对于一个给定长度为N的字符串,求它的第K小子串是什么。 思路: 先对s构造后缀自动机。 令g[x]为x节点代表的字符串个数 当T=0时,g[x]=1 当T=1时,由于link指针将自动机构成了一颗后缀树,所以每个节点的g就是子树中的g之和。 令f[x]为x节点之后有多少种字符串。 f[x 阅读全文
摘要:
线性规划裸题。。。 根据题目很容易可以得到线性规划方程(以样例为例): Min(2*x1+5*x2+2*x3) x1+ 0+ 0>=2 x1+x2+ 0>=3 0+x2+x3>=4 x1,x2,x3>=0 再将方程对偶,得到: Max(2*x1+3*x2+4*x3) x1+x2+ 0<=2 0+x2 阅读全文
摘要:
题目大意: 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法。其中di,s<=100000,tot<=1000 思路:先用完全背包求出如果每种硬币可以用无数次的方案数,再容斥一下就好了。 具体 阅读全文
摘要:
题目大意:有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n。相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案。 题解:看到数据范围第一个想到的就是dp。 阅读全文
摘要:
题目大意:有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000。现在Farmer John要把这些奶牛分成若干段,定义每段的不河蟹度为:若这段里有k个不同的数,那不河蟹度为k*k。那总的不河蟹度就是所有段的不河蟹度的总和。 思路:显然如果连续的一段数字相同,我们 阅读全文
摘要:
题目大意: B进制数,每个数字i(i=0,1,...,B-1)有a[i]个。你要用这些数字组成一个最大的B进制数X(不能有前导零,不需要 用完所有数字),使得X是B-1的倍数。q次询问,每次询问X在B进制下的第k位数字是什么(最低位是第0位)。 思路:由于如下定理: a*Bk≡a (mod (B-1 阅读全文
摘要:
题目大意: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目。 我们可以把风景区看作一个n*n的地图,每个点有它的初始高度,滑雪只能从高处往低处滑【严格大于】。但是由于地势经常变动【比如雪崩、滑坡】,高度经常变化;同时,政府政策规定对于每个区域都要间歇地进行保护, 阅读全文
摘要:
题目大意:给定一个长度为n的整数序列x[i],确定一个二元组(b, k)使得S=Σ(k*i+b- x[i])^2(i∈[0,n-1])最小 看Claris大神的题解就行了。实际上就是用2次二次函数的性质。 http://www.cnblogs.com/clrs97/p/4703437.html 代码 阅读全文