Hanks_o的博客

有权限号的bzoj蒟蒻用户

bzoj3124: [Sdoi2013]直径

题目传送门 。 解法: 两个傻逼结论: 首先肯定在同一条直径上。因为每条直径都要经过这一段。 肯定是连续的一段。 因为如果你有两段的话。那么敢问这两段之间的路径你是怎么走过去的(树上两点路径唯一!) 这样的话就很好做了。 随便找条直径。 在这条直径上确定一条路径。使得这条路径上:...

2018-04-22 19:13:15

阅读数 89

评论数 0

bzoj4444: [Scoi2015]国旗计划

题目传送门 好题 解法: 因为区间互不包含。 那么左端点在区间内最右边的的区间一定是当前区间能扩展到最远的区间。 这句话有点绕。举个例子。 假设当前区间为1~5。 那么我们往右扩展。 找到左端点最右且小于等于5的区间。 这个区间一定是最优解。 因为区间互不包含啊。如果这个区间不...

2018-04-22 16:45:23

阅读数 103

评论数 0

bzoj4247: 挂饰(Dp)

题目传送门 。 解法: 先挂钩子多的。 因为假设你最后选出来五个挂饰。 那么肯定是找钩子多的先挂。 那么按照钩子数排个序。 然后Dp一下就行 f[i][j]表示前i个挂完(不一定每个都要选)之后还剩j个钩子。 f[i][j]=max(f[i-1][j],f[i-1][j-a[i]...

2018-04-12 15:20:16

阅读数 52

评论数 0

bzoj3613: [Heoi2014]南园满地堆轻絮(二分+贪心)

题目传送门 。 解法: 二分答案。 因为后面的元素要大于等于前面的元素。 那么我们使得前面的元素在满足答案的情况下尽量的小就行。 这样后面的元素选择的余地就更大。 贪心一下咯。 代码实现: #include<cstdio> #inc...

2018-04-12 11:44:17

阅读数 59

评论数 0

bzoj2326: [HNOI2011]数学作业(矩阵乘法)

题目传送门 。 解法: 矩阵乘法啊。 设当前数为x。要加上的为i。 若i为1为数。 那么x应该变为x*10+i。i应该变成i+1 这个过程很明显是矩阵乘法嘛。 初始矩阵,因为有个+1,所以多一个元素表示1 X i 1 转移矩阵 10 0 0 1 1 ...

2018-04-07 17:27:11

阅读数 48

评论数 0

bzoj3709: [PA2014]Bohater(贪心)

题目传送门 。 解法: 怪物有加血有扣血的。 分情况讨论: 首先先将加血的先打完。 那么加血的按照怪物消耗的血量从小到大排序。 反正都是加血。肯定先打消耗血量小的啊。 打完之后打扣血的怪物。 要知道最后一个怪物打完其实不需要吃它的草药了。 也就是说最后一个怪物的草药应该希望尽量...

2018-04-07 17:21:47

阅读数 57

评论数 0

bzoj1121: [POI2008]激光发射器SZK

题目传送门 搞笑? 解法: 物理题。 光路可逆。 点对一一对应。 直接n/2。

2018-04-07 17:02:58

阅读数 40

评论数 0

bzoj1345: [Baltic2007]序列问题Sequence(单调栈)

题目传送门 。 解法: 只有我写的是单调栈吗? 维护一个单调递减的栈。 那么每次进来一个元素x 如果大于栈顶的话。说明栈顶要被消除了。 栈顶与栈顶下一个可以认为是挨在一起的。 x与栈顶可以认为是挨在一起的。 所以比较x与栈顶下一个的大小加到答案里即可。 跑完一遍之后可能栈还有元...

2018-04-07 17:01:35

阅读数 57

评论数 0

bzoj2079: [Poi2010]Guilds(并查集)

题目传送门 。 解法: 找孤立点就行。 并查集乱搞?? 代码实现: #include<cstdio> #include<cstring> #include<cstdlib&...

2018-03-27 11:11:53

阅读数 53

评论数 0

bzoj4419: [Shoi2013]发微博

题目传送门 。 解法: %Rose_max用边目录a了完全想不到% 不太容易想。 亮老师跟我说用set来做。。 可是我不会set啊【小声逼逼 那我只好想别的方法了。。 那么题目说删除好友一定保证他们原来是好友。 所以你需要求的其实是每次加和删除之间能看到多少次。 那么作差就行了...

2018-03-27 09:52:20

阅读数 61

评论数 0

bzoj2729: [HNOI2012]排队(高精度+组合数学)

题目传送门 。 解法: 本来我想的是这样的。。。 n个男生插老师。 然后插女生。 然后怎么算都出不来12。。。 %题解。。 原来还有一种叫做女生把老师隔开的东西。 分情况讨论: 老师之间有男生。 那么就是n个男生有n+1个间隔来插老师。 然后一共有n+2个人了。那么又有n+...

2018-03-26 19:51:03

阅读数 93

评论数 0

bzoj1150: [CTSC2007]数据备份Backup(堆+贪心)

题目传送门 。 解法: 跟上一题差不多一个思想。 bzoj2151 只不过这题多了一个比较恶心的边界而已。 那么相对于边界值。就拿他前面没有点来举例。 假设现在前面没有点了。那么肯定选他之后不用反悔啊。 因为你后面那个肯定比你小啊要不然干嘛选你呢。 所以说选完之后把自己和后面的点...

2018-03-25 12:03:18

阅读数 86

评论数 0

bzoj2151: 种树(贪心+堆)

题目传送门 。 解法: 今天才学这种经典做法。。 如果选最大的然后删除两边很显然这种策略是错误的。 因为有可能两边加起来更优。 那么上面的做法是无法反悔的。。 给他一个反悔的机会。 那么就是: 假设选了i,那么删除i前后的两个点。 然后把i这个点的权值变为a[前]+a[后]-a...

2018-03-25 11:39:02

阅读数 203

评论数 0

bzoj4029: [HEOI2015]定价(贪心)

题目传送门 。 解法: 贪心咯。 如果两个数位数不一样。 如果两个位数只差1的话那么要讨论一下。 如果相差不止1的话肯定能组成5000000啥的。 如果两个位数一样的话: 那么从最高位开始往下枚举。遇到一个不同的位就进去因为那一定是最优的 代码里面都有体现。。 代码实现: ...

2018-03-21 11:35:34

阅读数 73

评论数 0

bzoj2697: 特技飞行(贪心)

题目传送门 。 解法: 其实一个装备的贡献值其实就是第一次和最后一次的时间差乘贡献而已。 那么贪心。先排序一遍。 贡献值最大的我们让他第一次和最后一次隔得最远。 依此类推贪心就好。 代码实现: #include<cstdio> #in...

2018-03-20 07:44:55

阅读数 66

评论数 0

bzoj2426: [HAOI2010]工厂选址(贪心)

题目传送门 。 解法: 贪心呗。 枚举每个选址。 因为老发电厂b吨是固定的。 那么我们先搞完他的然后剩下的全部分给新的发电厂。 那么我们用每个矿的新电厂-老电厂花费。 这样结果越大的用在老电厂越优。 按照这个排一下贪心搞下即可。 代码实现: #include&am...

2018-03-08 21:06:10

阅读数 121

评论数 0

bzoj5204: [CodePlus 2018 3 月赛]投票统计

题目传送门 。 解法: 刷经验 代码实现: #include<cstdio> #include<cstring> #include<algorithm&gt...

2018-03-08 21:02:28

阅读数 88

评论数 0

bzoj1089: [SCOI2003]严格n元树(高精度)

题目传送门 。 解法: 好神啊。 f[i]表示深度小于等于i的严格n元树。 那么f[i]怎么用f[i-1]表示呢。 对于任意一个深度为i的严格n元树。 那么它的根一定有n个儿子。 这样我们就可以把它拆成一个根和n棵深度小于等于i-1的n元树了。 那么深度小于等于i-1的n元树方案...

2018-03-06 19:49:42

阅读数 105

评论数 0

bzoj1086: [SCOI2005]王室联邦(贪心)

题目传送门 。 解法: 子树大于等于B就直接那啥嘛。 其实不用管3B的因为你遇到B就分了。 然后剩下的也肯定不大于B,那么加起来也肯定不超过3B。 用一个栈记录下访问过的点就好了。 一开始写错了还挂了一次。 因为栈里有可能有别的省的点啊。 代码实现: #include&am...

2018-03-03 10:10:34

阅读数 80

评论数 0

bzoj1800: [Ahoi2009]fly 飞行棋

题目传送门 水。解法: 矩形? 直角呗。 两条对角线都是直径。 范围? N<=20 暴力枚举N四方代码实现:#include<cstdio> #include<cstring> #include<cstdlib> #include<io...

2017-12-31 11:24:40

阅读数 160

评论数 0

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