Hanks_o的博客

有权限号的bzoj蒟蒻用户

bzoj1024: [SCOI2009]生日快乐(dfs)

题目传送门 。。 解法: 首先他要面积一样。 那肯定对于每一块都是均分啊。 而且。。 N 不说了。 搜索 代码实现: #include #include #include #include #include #include #include using namespace ...

2018-01-30 12:59:43

阅读数 178

评论数 0

bzoj1040: [ZJOI2008]骑士(树形Dp)

题目传送门 神。。 解法: 做法还是蛮容易的。 首先它肯定是无向的。因为讨厌是互相的嘛。 然后它肯定是森林(显然) 对于每一棵树。 它如果有m个点。 那么它就会有m条无向边。 那么它只有一个环。 所以我们对于每一棵树,找到一条边。 断开这条边后它剩下m-1条边成为一棵树。 ...

2018-01-29 20:14:52

阅读数 145

评论数 0

GDKOI2018游记

Day0 颓废了一上午。 唯一干的事情就是记了记打都没打过的对拍(注意这是个flag) 下午坐车到了广州。 晚上躺在床上颓。 无聊跟肉老师说了句 “明天考AC机怎么办。我连模板都没打过” 神flag! 然后就开着十六度的空调睡觉了。 Day1 早餐吃的真不爽。人好多。。 早餐...

2018-01-28 22:00:06

阅读数 283

评论数 1

bzoj4884: [Lydsy2017年5月月赛]太空猫(dp)

题目传送门 。。 解法: 很水的dp嘛。 因为你落地了才能左右动。 所以每个横坐标只有两种情况一种天一种第。 分两种情况dp转移咯。 代码实现: #include #include #include #include #include #include #include usi...

2018-01-24 21:08:57

阅读数 92

评论数 0

bzoj1005: [HNOI2008]明明的烦恼(prufer数列+高精度)

题目传送门 。。。 解法: 卡了一天。。 原来是高精度数组开小了??? 其实就是组合嘛。 假设cnt为-1的个数。 sum为各个规定的度数-1的和。 那么首先在一个n-2的prufer数列里面。 有sum个位置被确定了。 首先就是n-2里选sum。 然后sum个可以进行排列。...

2018-01-23 15:12:03

阅读数 99

评论数 0

bzoj1957: 楼房重建(线段树)

题目传送门 。。 解法: 有点玄学呀。。 区间维护两个值。 一个值维护这个区间有多少个能被看到。。而仅仅只是这个区间里面不受区间外的影响。 一个值维护区间最大斜率。 那么怎么维护答案呢。 首先对于一个区间。分成两段,分别为左区间和右区间。 左区间肯定不受右区间影响。 所以可以直...

2018-01-21 16:41:32

阅读数 124

评论数 0

bzoj1230: [Usaco2008 Nov]lites 开关灯(线段树)

题目传送门 ….. 解法: 裸线段树。。 打个lazy。。 代码实现: #include #include #include #include #include #include #include using namespace std; struct node {int l,r,...

2018-01-20 16:19:55

阅读数 143

评论数 0

bzoj3211: 花神游历各国(线段树)

题目传送门 。 解法: 线段树。 开根的话想了很久不知道整段咋开。。 然后。。 发现数字不会变。 那么一个数开几次就变成0或1了就没得变了。 那么我们就可以不动他。 那么我们记录区间最大值。 如果区间最大值小于等于1的话就不用往下开咯。 小小的优化。 开根就暴力咯。 代码...

2018-01-19 21:00:37

阅读数 107

评论数 0

bzoj1211: [HNOI2004]树的计数

题目传送门 。。 解法: prufer数列。 有这么三个性质: 一个prufer数列与一个无根树一一对应。 一个n个节点的无根树的prufer数列长度为n-2。 一个点的度数等于他在prufer数列里面出现的次数+1。。 第三个性质这样证明: 首先需要了解prufer序列如何构造...

2018-01-19 15:29:01

阅读数 206

评论数 0

bzoj1430: 小猴打架(prufer序列)

题目传送门 好神。 解法: 了解到一种叫prufer序列的东西。 这个东西大概就是用n-2的序列表示出n个点的树。 %%% 代码实现: #include #include #include #include #include #include #include using nam...

2018-01-18 14:55:15

阅读数 148

评论数 0

bzoj1458: 士兵占领(最小割)

题目传送门 解法: 好水的最小割。不就是套路吗。。。 首先先把所有的行跟列加起来。 因为你最多最多只需要这么多啊。 然后一个士兵可能会有两次贡献(一次行,一次列) 就相当于找尽量多的贡献为2的士兵。 按照这个图去建最小割即可。 代码实现: #include #include ...

2018-01-16 16:57:58

阅读数 114

评论数 0

bzoj3781: 小B的询问(莫队)

题目传送门 裸 解法: 裸莫队。 之前写的 代码实现: #include #include #include #include #include #include #include using namespace std; typedef long long ll; struct ...

2018-01-08 13:47:32

阅读数 115

评论数 0

bzoj2157: 旅游(树链剖分)

题目传送门 呵呵呵。解法: 没学过树剖看这里 很水很水的树剖? 整段取反就打个lazy嘛。列举各种情况。 就会发现,取反时: 最大值等于原来最小值取反,最小值等于原来最大值取反。其他维护最大值最小值和就没什么了吧。代码实现:#include<cstdio> #include...

2018-01-03 13:26:34

阅读数 145

评论数 0

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