上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页

2015年1月18日

hdu2196 树形dp(求距离树上每个点最远的距离)

摘要: 一开始就想到了树形dp,然后下午就一直在做其他事中思考==首先,我用一个dfs来找每一个节点所对应的树中到该节点最远距离dis1[],这个很简单,然后。。。。。。我再思考如何计算这个点到他的兄弟和父亲最远。。。。。。好难描述我的想法历程,语文好差T_T==大概就是这样,我在刚才的dfs中记录了最远的... 阅读全文

posted @ 2015-01-18 20:52 xiao_xin 阅读(348) 评论(0) 推荐(0) 编辑

2015年1月8日

hdu1561 树形dp+背包(攻打某点必须要攻打上司点,问攻打最多m点所获得的收益)

摘要: 有一个技巧如何把森林转化成树?把所有无根点连向一个统一的根。 1 #include 2 #include 3 #include 4 using namespace std; 5 int now,m,head[205],next[205],point[205],dp[205][205]; 6 void... 阅读全文

posted @ 2015-01-08 16:05 xiao_xin 阅读(127) 评论(0) 推荐(0) 编辑

hdu3954 线段树 打怪升级,等级不同加经验不同,询问区间经验值最高

摘要: 或许,是我理解错了。完全可以把大白书上的maintain当成pushup。其实只要完全理解了,什么姿势都能把线段树打出来。话题回到这道题目,开一个maxv二维数组,记录等级为i的人在该区间最大经验,然后用线段树(levelup)进行升级。 1 #include 2 #include 3 #inclu... 阅读全文

posted @ 2015-01-08 01:12 xiao_xin 阅读(123) 评论(0) 推荐(0) 编辑

2015年1月7日

读入优化

摘要: 无负数:1 inline int nextInt() { 2 char c; 3 while (c = getchar(), c '9'); 4 int r = c - '0'; 5 while (c = getchar(), c >= '0' && c ... 阅读全文

posted @ 2015-01-07 17:04 xiao_xin 阅读(94) 评论(0) 推荐(0) 编辑

2015年1月4日

hdu4027 线段树(区间开平方,区间求和)

摘要: 本题的线段树区间更新不能用区间更新做,因为不满足:区间和的更新==区间内每个数更新的和所以实际上是单点更新,单点更新不是退化成On2了吗?不,因为要知道一点64位整数开平方七八次就变成1了,退化成1的区间我们不去更新他,正确计算复杂度为O(10*m*log(n));类似开方这些变化很快的,think... 阅读全文

posted @ 2015-01-04 16:05 xiao_xin 阅读(172) 评论(0) 推荐(1) 编辑

2015年1月3日

hdu4747 线段树区间修改值,区间查询和及最大值即最大值位置

摘要: 很久以前就看到过这个题目,当时刚学线段树看了题解还是感觉敲不出来。现在重新做这道题目感觉思路很难想到,代码量也不小,加深了对lrj大白书中pushdown和maintain的理解。预处理从1开始到i的值。然后一个一个更改,求和。具体细节,包括如何找到更改的左端点和右端点,这些需要仔细思考。think... 阅读全文

posted @ 2015-01-03 14:41 xiao_xin 阅读(415) 评论(0) 推荐(0) 编辑

2015年1月2日

hdu4614 线段树区间修改值,区间查询和

摘要: 第一个二分查找的是第num个0,第二个二分查找的是最后一个0把lrj大白书里的线段树重打一遍成以后模板,关于里面的maintain函数: 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,ll; 6 int setv[20... 阅读全文

posted @ 2015-01-02 23:42 xiao_xin 阅读(116) 评论(0) 推荐(0) 编辑

hdu3577 区间加值,区间查询最大值

摘要: 裸==1.从x更新到y-12.注意格式 1 #include 2 #include 3 #include 4 using namespace std; 5 #define n 1000000 6 int ans[100005],maxv[4000005],addv[4000005]; 7 void ... 阅读全文

posted @ 2015-01-02 17:48 xiao_xin 阅读(122) 评论(0) 推荐(0) 编辑

2015年1月1日

hdu4366 线段树:dfs序将树型转化为线型

摘要: 求一个点的下属中能力比自己高,且在所有下属中忠诚度最高的点。dfs扫出左端点右端点,然后按照能力从大到小,id从小到大排序。然后简单的线段树单点修改(忠诚值),区间查询最大(忠诚值)。 1 #include 2 #include 3 #include 4 #include 5 using names... 阅读全文

posted @ 2015-01-01 13:02 xiao_xin 阅读(107) 评论(0) 推荐(0) 编辑

2014年12月31日

hdu2376 树上取两点,求两边距离和期望(树上dfs)

摘要: 同:http://www.cnblogs.com/xiao-xin/articles/4196009.html顺手也给做了,更简单了一些== 1 #include 2 #include 3 #include 4 using namespace std; 5 #define LL long long ... 阅读全文

posted @ 2014-12-31 21:56 xiao_xin 阅读(214) 评论(0) 推荐(0) 编辑

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页

导航