1.贪心,递推,基础DP(背包,区间DP,状态压缩DP(去年出了不少于2道铜牌题,看着办))2.搜索(BFS,DFS,A*,IDA*)3.单调队列、单调栈的思想,倍增算法(ST表) (重点左边3个东西在DP优化上的应用,简单讲一下平行四边形法则、斜率优化)4.线段树,树状数组5.树(包括并查集,生成...
分类:
编程语言 时间:
2015-09-10 00:29:17
阅读次数:
312
既然每块都要买, 那么一块土地被另一块包含就可以不考虑. 先按长排序, 去掉不考虑的土地, 剩下的土地长x递增, 宽y递减dp(v) = min{ dp(p)+xv*yp+1 }假设dp(v)由i转移比由j转移优(i>j), 那么dp(i)+xv*yi+1 -xv然后就斜率优化, 单调队列维护一个....
分类:
其他好文 时间:
2015-09-04 15:44:01
阅读次数:
182
dp(v) = min(dp(p)+cost(p,v))+C(v)设sum(v) = ∑pi(1≤i≤v), cnt(v) = ∑pi*xi(1≤i≤v), 则cost(p,v) = x(v)*(sum(v)-sum(p)) - (cnt(v)-cnt(p))假设dp(v)由dp(i)转移比dp(j...
分类:
其他好文 时间:
2015-09-04 07:13:29
阅读次数:
252
题意:
给出一颗n个结点的有根树,边有长度;
每个点有可以购票前往长度相差不超过li的它的祖先,票的花费为pi*长度+qi;
当然的,可以的选择多次倒车到达;
求每个点到根的最小花费;
n
题解:
这题真的好贴心,数据特殊情况都给你让你特判了2333;
首先一条链的情况都会吧,设f[i]为i到根的最小花费,dis为到根的距离;
转移方程为:f[i]=f[j]+p[i]*(...
分类:
其他好文 时间:
2015-08-31 19:45:24
阅读次数:
192
1010: [HNOI2008]玩具装箱toyTime Limit: 1 Sec Memory Limit: 162 MB
Submit: 7449 Solved: 2854
DescriptionP教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过...
分类:
其他好文 时间:
2015-08-28 19:52:46
阅读次数:
189
1096: [ZJOI2007]仓库建设Time Limit: 20 SecMemory Limit: 256 MB题目连接http://www.lydsy.com/JudgeOnline/problem.php?id=1096DescriptionL公司有N个工厂,由高到底分布在一座山上。如图所示...
分类:
其他好文 时间:
2015-08-21 23:04:51
阅读次数:
238
传送门
大意:打印一篇文章,连续打印一堆字的花费是这一堆的和的平方加上一个常数M。
首先我们写出状态转移方程 :f[i]=f[j]+(sum[i]?sum[j])2+M;f[i] = f[j] + (sum[i] - sum[j])^2 + M;
设 j 优于 k.
那么有 f[j]+(sum[i]?su...
分类:
其他好文 时间:
2015-08-20 20:53:10
阅读次数:
124
hdu3480给定一个有n个数的集合,将这个集合分成m个子集,要求子集的并等于全集求花费最小。花费为该子集的(最大数-最小数)的平方。我们将n个数排序,a 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ...
分类:
其他好文 时间:
2015-08-19 10:58:27
阅读次数:
121
Covered Walkway
Time Limit: 30000/10000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1273 Accepted Submission(s): 491
Problem Description
Your univer...
分类:
其他好文 时间:
2015-08-13 14:29:38
阅读次数:
108
题意:
白板题,略去;
题解:
首先根据操作用Splay维护序列;
注意维护之后的序列应该保证是n个的;
然后就有三个数组a[i],p[i],q[i];
令f[i]表示用前面的弹珠撞击第i个弹珠的最大得分;
那么f[i]=max(0,-a[i]*p[j]+q[j]);
(0
暂时不考虑0,变形可得q[j]=a[i]*p[j]+f[i];
这显然是一个斜率...
分类:
其他好文 时间:
2015-08-12 16:46:21
阅读次数:
288