
ACM 动态规划
文章平均质量分 84
百里屠猪
I'm an ACMer!
展开
-
2012 Multi-University Training Contest 4[hdu4331~4339]
hdu 4332 Constructing Chimney 状态压缩dp+矩阵优化, 256×256的暴力方法,幂矩阵的预处理和某项为0时的跳出优化,时间1s多, 还要消化下那个循环移位取最小的神优化能化到35×35typedef long long ll;typedef unsigned int UI;using namespace std;const int SZ=256;c原创 2012-08-06 13:22:09 · 571 阅读 · 0 评论 -
2012网赛金华赛区
hdu 4405 Aeroplane chess期望dp..倒着推方便一些。 dp[i]记录从i到终点用的次数的期望, dp[0]为答案。#include #include #include #include #include using namespace std;const int maxn=100000+123;double dp[maxn];int fly原创 2012-09-22 20:51:57 · 1656 阅读 · 0 评论 -
动态规划 斜率优化
hdu4258/** * Covered Walkway * @author vanb * * This problem would be pretty easy, if it weren't for the size of the data sets. * If the data sets were small, a simple DP solution would原创 2012-08-30 16:00:25 · 904 阅读 · 0 评论 -
2012网赛天津赛区 2012tianjin regional online contest
b题 平衡树 或multiset.hdu Problem 4279#include #include #include using namespace std;const int maxn=100000+123;///int ax[maxn], ay[maxn], bx[maxn], by[maxn];multiset > card;struct Node{ i原创 2012-09-11 20:58:13 · 656 阅读 · 0 评论 -
斯坦纳树[全都floyd+状态dp]
http://endlesscount.blog.163.com/blog/static/821197872012525113427573/poj3123 这个只有30个节点, 直接floyd即可, 后面找最优解还是比较恶心的, 不过一共就2^4个状态,再 循环4次搞定, 老外还有一种神代码, 看了好久才懂不过最后看了别人的代码, 还有一种合并的方法http://blog.原创 2012-09-02 16:21:22 · 1568 阅读 · 0 评论 -
2012网赛杭州赛区
1002 arrest有k个警察在0点按顺序遍历1到n去抓小偷, 这样构图时就要对编号小的连向编号大的, 之前要floyd处理。我赛后的构图:对每个点的遍历有个限制是必须是1次, 由于是费用流, 可以用将该流置为-inf的方法,强制改变访问一次。当时比赛时zzc的构图:跑k次网络流, 分别枚举1~k个警察情况下的最小费用, 也同样用了一个-inf的方法, 不过是加到了城市之间的连通原创 2012-09-25 20:21:09 · 1373 阅读 · 0 评论 -
斜率优化
/** * Covered Walkway * @author vanb * * This problem would be pretty easy, if it weren't for the size of the data sets. * If the data sets were small, a simple DP solution would suffice: * *原创 2012-08-26 21:13:59 · 514 阅读 · 0 评论 -
2012 Multi-University Training Contest 10[hdu4390~4399]
多校终于结束了, 开始从后往前整理4390 Number Sequence容斥原理, 比赛的时候把10^25理解成2^25以为不会超long long, wa了好几次,最后队友提醒才看到#include #include #include #include #include #include #include #include #include #原创 2012-08-24 20:49:42 · 1403 阅读 · 0 评论 -
2012 Multi-University Training Contest 8[hdu4370~4379]
4370 0 or 1就2种情况, 一种是1到n的最短路, 一种是包含1的环和包含n的环, 第一种情况直接sssp就好, 第二种比较好的处理方法就是枚举环的一个点, 然后用sssp得到的dist数组去求2个最小环, 相加即可,我的方法是再跑遍floyd, 不过要用dist优化一下, 提前排除不是最优解的情况, 1600ms水过#include #include #include原创 2012-08-16 18:24:26 · 764 阅读 · 0 评论 -
多校第16场 HDU3996 Gold Mine (最大权闭合图)
被数据范围坑了。。。构图方法这里讲的很详细http://apps.hi.baidu.com/share/detail/18295127和之前的一道题类似,用总的正值和减去最小割, #include #include using namespace std;typedef long long ll;const int N=3550;const int M=900原创 2011-09-01 20:55:33 · 1287 阅读 · 0 评论 -
2012 Multi-University Training Contest 6[hdu4350~4359]
4351 Digital root4355 Party All the Time 两种解法, 一种三分,一种dp三分是要满足凹凸性的, 既二阶导数不变号, 这个很好证明的, 题目要求的是sigma|p-xi|^3*wi, 不妨对每项拆开讨论 :|p-xi|^3*wi ,当p>=xi时 原式为(p-xi)^3*wi 二阶导为(6p-6xi)*w原创 2012-08-09 18:29:38 · 810 阅读 · 2 评论 -
2012 Multi-University Training Contest 5[hdu4340~4349]
hdu4340#include #include #include #include #include #include #include #include #include #include #include const double pi=cos(-1.);const double eps=10e-6;const double eps1=10e-9;const原创 2012-08-08 13:30:44 · 731 阅读 · 1 评论 -
2013南京 Onsite 代码(未提交)
4题第一名, 比赛的时候看的C,E,K, 都敲出来, 有机会交下, 我真是个逗逼, #include #include #include using namespace std;const int maxr = 103;const int maxc = 12;int dp[103][12][2048+123][22];char mp[maxr][maxc];const in原创 2013-11-06 19:56:01 · 1001 阅读 · 0 评论