
HDOJ
文章平均质量分 84
百里屠猪
I'm an ACMer!
展开
-
多校第十场 HDU 3938 Portal(离线的并查集)
题意:定义T是2点间某条路径上的最大边权,要找出某两点间所有路径上的T的最小值,给定一个L问,满足小于等于L的min{T}的个数 题出的挺坑爹的,读半天没读懂啥意思。达哥说是离线的并查集,大概就是用并查集来维护图,根据边权从小到大不断往图中加边,新加的边一定满足是2点间的某路径的最大值,若2点本身不在同一连通分量上,则这条边就是所求的minT,满足它的个数就是2个连通分量的定点个数的乘积。原创 2011-08-15 11:14:47 · 757 阅读 · 0 评论 -
树状数组
http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees 超级讲解,hdu1166 敌兵布阵单点修改, 区间查询, (区间和)const int maxn=50000+123;int a[maxn], c[maxn];int n;int sum(int原创 2012-08-16 20:09:58 · 586 阅读 · 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 评论 -
线段树(堆式)[区间更新]
区间更新是个坎。。。 堆式的区间更新是个大坎。。。hdu1698 Just a Hook解法1 还没理解自底向上的更新方法, 还是自顶向下的递归更新, 跑了859ms,悲剧。。。代码很丑, 不过自创了一个debug函数,可以看树的结构, 不错,不错。#include #include #include using namespace std;typedef lon原创 2012-04-12 21:43:45 · 1501 阅读 · 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 评论 -
斜率优化
/** * 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网赛杭州赛区
1002 arrest有k个警察在0点按顺序遍历1到n去抓小偷, 这样构图时就要对编号小的连向编号大的, 之前要floyd处理。我赛后的构图:对每个点的遍历有个限制是必须是1次, 由于是费用流, 可以用将该流置为-inf的方法,强制改变访问一次。当时比赛时zzc的构图:跑k次网络流, 分别枚举1~k个警察情况下的最小费用, 也同样用了一个-inf的方法, 不过是加到了城市之间的连通原创 2012-09-25 20:21:09 · 1373 阅读 · 0 评论 -
2sat[专题]
http://hi.baidu.com/joy32812/item/8d2c066065a2e92c68105b12http://www.cnblogs.com/ambition/archive/2011/07/30/2-sat.html 这个比较推荐照这个刷,这个2-sat就基本差不多了HDU 3062 Party 【裸题】 模版题#include #includ原创 2012-09-20 20:38:12 · 1758 阅读 · 0 评论 -
hdu2586[lca离线tarjon算法][递归与非递归]
hdu2586[lca]tarjon 是离线的算法, 在线的话会有倍增法和rmq,其实这2个方法有一曲同工之妙#include #include #include #include using namespace std;const int maxn=100000+123;#define forg(p,x) for(p=x; ~p; p=edge[p].nex原创 2012-08-09 11:46:45 · 989 阅读 · 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网赛金华赛区
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 评论 -
多校第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 评论 -
线段树(堆式)[单点更新, 区间查询]
http://acm.hdu.edu.cn/showproblem.php?pid=1166first blood of seg-tree 单点增减 区间求和#include #include #include using namespace std;const int maxn=60000+123;int T[maxn*2];int M;int bit(int原创 2012-03-25 18:59:53 · 774 阅读 · 0 评论 -
划分树
划分树是一种基于线段树的数据结构。主要用于快速求出(在log(n)的时间复杂度内)序列区间的第k大值划分树的基本思想就是对于某个区间,把它划分成两个子区间,左边区间的数小于右边区间的数。查找的时候通过记录进入左子树的数的个数,确定下一个查找区间,最后范围缩小到1,就找到了。划分树定义为,她的每一个节点保存区间 [lft, rht] 所有元素,元素排列顺序与原数组(输入)相同,但原创 2012-07-17 15:30:23 · 636 阅读 · 0 评论 -
线段树[扫描线]
hdu1542 Atlantis POJ 1151(C++才能过, G++WA到死)求矩形面积并#include #include #include using namespace std;const int maxn=1000+123;//n=100struct Segm{ int ymin, ymax;//线段覆盖的区间,当然是离散后的坐标区间原创 2012-04-19 21:16:24 · 1347 阅读 · 0 评论 -
2012 Multi-University Training Contest 3[hdu4320~4330]
hdu4222 candy http://acm.hdu.edu.cn/showproblem.php?pid=4322费用流 看题解构图过的, 同时利用了边的费用和流量 题解这里, 【题目大意】有N颗糖果和M个小孩,老师现在要把这N颗糖分给这M个小孩。每个小孩i对每颗糖j都有一个偏爱度Aij,如果他喜欢这颗糖,Aij = k,否则Aij = 1。小孩i觉得高兴当且仅当ΣCij×A原创 2012-08-01 11:12:12 · 630 阅读 · 0 评论 -
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 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 评论 -
hdu 4253
陈题, 有篇论文, 利用了N多生成树的性质,大体思想就是通过调整某种边的权值后生成一个最小生成树, 这个新树所分的结构是与原树2种边按此分法生成的最小生成树是最优的, 这样就转换成了一种枚举一种边增加的权值后的生成树的算法, 而且我们要找的是一个区间 http://oj.tsinsen.com/resources/Train2012-test-clj-tree.pdf #in原创 2012-07-24 17:07:56 · 1274 阅读 · 0 评论 -
2012 Multi-University Training Contest 2 [hdu4310~4319]
hdu4317 nim+状压dp, Unfair Nim 状态很容易想到,转移就恶心了。。。 不过屡清思路就好了#include #include #include #include #include #include #include #include #include #include #include const double pi=cos(-1.);const原创 2012-07-27 17:39:11 · 656 阅读 · 0 评论 -
2012 Multi-University Training Contest 1[hdu4300~4309]
4300 一开始向到了后缀数组, 后来才弱爆了发现是kmp的变形, 修改下匹配的起点, 并且返回的是文本串匹配完时模式串当前的位置就可以了, 比赛的时候真是弱爆了T.T #include #include using namespace std;const int maxn=100000+5;char pat[maxn], str[maxn];int P[maxn];///原创 2012-07-21 14:40:14 · 598 阅读 · 0 评论 -
2013长春网络赛K题sword (hdu 4769)
本来只想出个中等难度题, 在题意上绕一下, 没想到到了网络赛的时候竟然没有队伍ac, 而且全场也只有2个队伍北大,华南师范尝试过提交,就连4小时就已经10题的清华都没在最后1小时有提交(估计他们10题之后就出去玩耍了吧),---------------------------------------------------------------------------------原创 2013-10-02 23:12:51 · 1643 阅读 · 0 评论