- 博客(6)
- 收藏
- 关注
原创 codeforces914C Travelling Salesman and Special Numbers 二进制特性+组合数学+递推
比较骚的一道题。。 题意大概是,我们定义一次操作α" role="presentation" style="position: relative;">αα\alpha:将一个数i" role="presentation" style="position: relative;">iii二进制是1的位数取出来。 比如说,1010=10102" role="presentation"
2018-01-30 23:10:29 664 1
原创 luogu3194/BZOJ1007/HNOI2008 水平可见直线 单调栈/计算几何入门
题意乍一看不是很明确…所以首先解释一下题干。 如上图,蓝色的是各式各样的直线,而我们要求的就是最上面的这一部分包含哪些直线。 就相当于求一个分段函数函数的极值。并且,我们称这些部分的集合为凸壳。 我们一点一点来思考。首先介绍一下单调栈的概念: 如果有一个栈,支持不断弹出以维护单调性,那么就称这个栈叫做单调栈。对单调性的维护方法是因题而异的。由于每个元素至多进入一次,所以其复杂度是O(n
2018-01-18 22:10:19 425
原创 luogu2387/NOI 2014 魔法森林 SPFA动态加点
很毒的一道题 蒟蒻不会LCT,看到有SPFA的做法…于是(看题解)水一发我们发现我们要求两个权值之和的最小值。这是没有办法实现的,所以我们不妨换个思路,也就是在某一权值的条件下看看达到的最小值是多少(有些拗口)。 换句话说,如果我们以a为关键字对边进行从小到大排序的话,依次加入边,之后对b进行最短路处理。如何处理呢?将这条边的两个顶点加入队列中进行松弛。 显然这个时候加入该边之前最优
2018-01-13 17:33:38 370
原创 并查集的删除操作
有一类删除叫做惰性删除,其特点是,这个点仍然在集合中但不去统计它。 对于并查集,一般来说想要实现删除是有些困难的,不过如果用一些黑科技就会非常简洁。 首先先引入按秩合并并查集的概念。用路径压缩的并查集,复杂度虽然是O(nα(n))O(n \alpha (n)),但是会破坏原本的结构,这是比较令人不爽的。 但是朴素的并查集在最坏的情况下查询会被卡成O(n)O(n),这是无法接受的慢。所以我们需
2018-01-13 09:37:11 2709
原创 BZOJ1003/luogu1772/ZJOI2006 物流运输
很有趣的一道图论+DP。首先看数据范围,m小于等于20,直观感受状压DP…不过蒟蒻并没有想出来怎么转移。 有一个自然而然的想法:能不能每次将堵塞的边的代价加上去,然后最后求一次最短路?但是这样很难维护转多少次,所以PASS. 于是我就可耻的看了一下题解区。 首先我们先列这样一个转移方程: dp[i]=min{dp[k]+g[k+1][i]∗(i−k)+K}dp[i] = min\{ d
2018-01-11 16:49:52 348
原创 母函数入门
今天好像终于对困惑已久的母函数有了些感觉的样子….赶紧水一波.jpg例一 骰子问题掷两个清廉正直的骰子,点数之和为7的情况有多少? 我们来思考一下,嗯,7 = 1 + 6 = 2 + 5 = 3 + 4所以有6种。但是这样看上去一脸不爽的样子,所以我们不妨来搞一些事情。 令f(x)=x+x2+x3+x4+x5+x6f(x) = x + x^2 + x^3 + x^4 + x^5 +
2018-01-06 00:10:12 948 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人