自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC_Arthur的专栏

Always challenge miracles!

  • 博客(8)
  • 收藏
  • 关注

原创 51NOD 1640 天气晴朗的魔法(二分+最大生成树)

题目链接:点击打开链接思路:我们二分最大的边, 这显然是符合二分性质的, 然后使得边权和最大用最大生成树就行了。细节参见代码:#include #include #include #include #include #include #include #include #include #include #include #include #include

2016-11-30 21:20:08 563

原创 51NOD 1272 最大距离(线段树)

题目链接:点击打开链接思路:问题简化一下就是, 求任意一个数后面大于等于它的数中距离它的最远距离。   因为有两个特征:“大小”, “距离”, 我们可以用线段树下标表示数的大小, 距离作为值, 就变成了求区间最大值的问题了。细节参见代码:#include #include #include #include #include #include #include #in

2016-11-30 14:18:49 549

原创 51 NOD 1521 一维战舰(并查集)

题目链接:点击打开链接思路: 倒着用并查集合并就行了,  一边合并一边统计,  当能放置的船数大于等于k就停止。细节参见代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #

2016-11-28 22:48:52 633

原创 HDU 4366 Successor(分块)

题目链接:点击打开链接思路:把题目转化一下就是:   求一个区间内所有大于能力值v的人中忠诚度最大的是哪个人。我们考虑分块, 对于一个块内的人, 我们另开一个数组维护,  将块内的人按照能力值排序, 二分这个能力值,  之后还要维护一个左端点变化的区间最大值, 预处理即可。细节参见代码:#include #include #include #include #inclu

2016-11-11 12:29:17 581

原创 E. XOR and Favorite Number(莫队算法)

题目链接:点击打开链接思路:莫队算法适用于无修改操作的区间问题。   关键是, 需要能够用O(1)时间从[l, r]转移[l+1, r], [l-1, r], [l, r+1], [l, r-1]。该题需要观察异或和的特点, 它是满足区间加减的。 区间[l, r]的异或和等于[1, r] - [1, l-1]。   那么我们用莫队算法维护每个点的前缀异或值,  就是可以完美解决这个问题

2016-11-09 15:41:43 785

原创 Vijos P1988 自行车比赛(treap)

题目链接:点击打开链接思路:如果我们判断第i个人是否能第一, 只需要把尽量小的分值给分数最大的人, 如果有人超过了他, 就不能得第一。我们可以把n个人排序, 让2~n个人分别加上n-1~1, 用treap维护最大值。 转移到下一个人的时候, 只需要把下一个人的加分加到当前这个人上就行了。PS:用treap的原因是set被卡了。 吐槽:set太慢了。细节参见代码:#inclu

2016-11-03 21:31:15 772

原创 Vijos P1987 游戏(DP)

题目链接:点击打开链接思路:类似背包, 很容易想到用d[i][j][s]表示前i个数字选了j个和为s的情况是否存在, 复杂度略高, 考虑到这是个布尔类型, 可以用bitset转移, 复杂度/6, 这样就可以过掉全部数据了。细节参见代码:#include #include #include #include #include #include #include #inc

2016-11-03 17:25:29 620 1

原创 HDU 5945 Fxx and game(DP+单调队列)

题目链接:点击打开链接思路:用d[i]表示从i变到1的最小花费, 那么如果i % k == 0, 转移到d[i/k], 还可以转移到min(d[i-t, i]),  我们可以发现这是一个区间最小值, 用线段树维护即可, 但是该题时间卡的很严, 线段树会TLE, 那么我们还可以用单调队列搞一搞。复杂度O(n)。细节参见代码:#include #include #include

2016-11-01 16:09:29 648

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除