
bzoj
yxg_123
这个作者很懒,什么都没留下…
展开
-
BZOJ 1024: [SCOI2009]生日快乐 dfs
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1024题意:题解:http://www.cnblogs.com/ljh2000-jump/p/6063364.html 直接搜索每次横着切还是竖着切,同时均分成多少块。因为每个人的面积相等,所以注意一下,切成两半后必须要保证两边分成的块数之比要等于面积之比,仔细想想就可以想通了因为对于当前长原创 2017-02-28 00:34:33 · 744 阅读 · 0 评论 -
BZOJ 1012: [JSOI2008]最大数maxnumber 单调队列/线段树
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1012题意:题解:不用printf输出就RE…代码:代码一: 单调队列#include <bits/stdc++.h> using namespace std; typedef long long ll; #define MS(a) memset(a,0,sizeof(a)) #define原创 2017-03-02 12:31:15 · 314 阅读 · 0 评论 -
bzoj 1798: [Ahoi2009]Seq 维护序列seq 线段树 区间乘法区间加法 区间求和
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798题意:题解:线段树,区间乘法+区间加法,都扔给一个updata就好代码:#include <bits/stdc++.h> using namespace std; typedef long long ll; #define MS(a) memset(a,0,sizeof(a)) #def原创 2017-03-02 16:43:53 · 678 阅读 · 0 评论 -
BZOJ 1096 [ZJOI2007]仓库建设 斜率优化dp
点击打开链接 题意: 有个斜坡,有n个仓库,每个仓库里面都有一些物品,物品数目为p,仓库位置为x,修缮仓库需要的费用为c,现在下雨了,之后修缮的仓库才能放东西,别的地方的仓库要运东西过来,但是只能往比它地势低的运,问所有物品得到保障的最小代价。 思路一: 参考:http://www.cnblogs.com/lidaxin/p/5118045.html 斜率优化+DP。 转移方程式:原创 2017-02-22 22:33:49 · 375 阅读 · 0 评论 -
bzoj 3156 防御准备(斜率优化+DP)
点击打开链接 思路: f[i] 表示前i个的最小花费 转移:f[i] = f[j] + (i-j)*(i-j-1)/2 + A[i]; 需要注意的是过程中数据超范围 代码一: #include using namespace std; typedef long long ll; #define mem(a) memset(a,0,sizeof(a)) #define mp(x,原创 2017-02-23 13:44:10 · 366 阅读 · 0 评论 -
bzoj 1911 [Apio2010]特别行动队(斜率优化+DP)
点击打开链接 思路: 斜率优化。 设f[i]表示将前i个分组的最优值,则有转移方程式: f[i]=max{ f[j]+a*(s[i]-s[j])^2+b*(s[i]-s[j])+c } 经过化简得到:f[i]=max{ (f[j]+a*s[j]^2-b*s[j])-2*a*s[i]*s[j] } + a*s[i]^2+b*s[i]+c 单调队列维护上凸包即可。 y[j] = (f[j原创 2017-02-23 15:01:45 · 256 阅读 · 0 评论 -
bzoj4247 挂饰 背包DP
点击打开链接 思路: 背包问题,dp[i][j]表示在考虑第i个物品的时候,还剩下j个挂钩 注意,要按照挂钩多少排序,如果不排序的话,挂钩有可能会变成负数,然后又被加成正数 代码抄自:http://blog.youkuaiyun.com/creationaugust/article/details/48133509 这个初始化 和 这个转换: 把一开始读入体积为0的物品的原创 2017-02-23 17:42:29 · 268 阅读 · 0 评论 -
BZOJ 2763: [JLOI2011]飞行路线 最短路
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2763题意:题解:最短路,在转移dis的时候多开一维k就好了 dis[i][j]->dis[t][j]+e[i][t] dis[i][j]->dis[t][j+1] if j代码:#include <bits/stdc++.h> using namespace std; typedef l原创 2017-03-05 23:44:17 · 399 阅读 · 0 评论 -
BZOJ 1196: [HNOI2006]公路修建问题 Kruskal/二分
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1196题意:题解:其实也并不是最短路,只是用Kruskal的方法去判定符合条件的ans。 我先让所有公路花费c1(保证了最大值,二分使得最大值最小),用并查集维护一下是否在一个集合,这样剩下的路就都只能用c2的钱代码:#include <bits/stdc++.h> using namesp原创 2017-03-06 18:23:37 · 281 阅读 · 0 评论