摘要: 要使两边面积之差最小且保证小矩形直线左边面积大于等于右边面积,在此基础上使大矩形在直线左边的面积尽量大。 想了想后我把这道题分为两步解决,首先找到面积之差的最小值;然后想到一个范围内划直线都是这个最小值,在这个范围内找到最右边的(即保证大矩形左边的面积最大)。 第一次二分算面积之差最小值,squar 阅读全文
posted @ 2018-07-23 22:30 4397 阅读(1053) 评论(0) 推荐(1) 编辑
摘要: 高精度算是我高中期间没有学明白的知识点之一,其实挺简单的东西。核心思路是【按位模拟竖式运算】,说白了就是模拟题。 加法减法从低位到高位模拟,因为会进位借位 乘法也从低到高因为进位 除法要从高到低因为我们手算除法时也是从高到低保留余数的。 高精度减法:https://www.luogu.org/pro 阅读全文
posted @ 2018-07-19 23:40 4397 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 其实题目暗示了算期望,有两个难点。第一点要想到算每个site的期望;第二个是怎么算期望。 其实我一开始也想到了考虑每个site对于答案的贡献,但考虑到每个site对答案的贡献与上一个rest site在哪有关所以没有想出来。这就是第二个难点,我们引入概率来解决每个点的期望。 第n个site的期望是 阅读全文
posted @ 2018-07-19 13:06 4397 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一道暴力题,应该想到要么剪枝要么优化搜索方法。想了想不会剪枝,所以确定这道题考的是怎么搜。 首先暴搜的话复杂度是C(n+m,n),直接炸了。 后来想到优化是分别从起点和终点搜到一半的位置,这个时候分析。那么对于中间行【mid=(n+1)/2】上的每个点来说有一棵从(1,1)到这个点的搜索树和(n,m 阅读全文
posted @ 2018-07-18 15:06 4397 阅读(220) 评论(0) 推荐(1) 编辑
摘要: 其实是一道裸题,如果没学过最短路树的话会比较难做,要想很久想到关键性质才能做出来。 最短路树顾名思义,就是从一个图中生成出来一棵树,使得每个顶点到root的距离是单源最短路。如果有这样的树的话,那可见这样的树是符合题意的。 怎么生成这样的树呢?关键在于记录前驱father,一个距离root最短路是6 阅读全文
posted @ 2018-07-15 21:53 4397 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: 我的代码看起来复杂度是n^2*logn【枚举i,j==n^2 , 判断gcd==logn】 (n=1e5)但为什么过了呢? 因为数据里限定了m也是1e5级别的数 如果impossible 【及贪心完造的边还没有m这么多】,那n一定很小,小到n^2 * logn可以过; 如果possible,那一定n 阅读全文
posted @ 2018-07-15 13:38 4397 阅读(361) 评论(2) 推荐(0) 编辑
摘要: E1 想到的O(n)做法,因为m只会出现一次,所以subarray里必须包括m。可以想像合法的subarray是m左边一个连续区间+m+m右边一个连续区间组成。然后把左区间预处理,枚举右区间就行了。(根据性质:一个subarray的median是m,那说明有0个数净比m大,或有1个数净比m大)【净大 阅读全文
posted @ 2018-07-15 12:51 4397 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 这个的模拟比较复杂。大方向是记录count表示有效的循环层数(x>=y时count不++),还有维护一个enter数组,enter[i]代表第i个循环体能不能进去,再维护contri数组,contri[i]表示第i个循环体对count有没有贡献。 然后模拟一下语法错误的情况,注意有错误输入还得输进去 阅读全文
posted @ 2018-07-09 18:15 4397 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 世纪好题! 无向图缩点的话 在dfs的时候禁止访问父节点就好了,其他与有向图缩点一样。 然后就是求树的直径。 画图想想就理解了,从“必经之路”入手,想到环是造成非必经之路的原因。我们缩完点后得到无环连通图,即一棵树,树上每两个点之间有一条唯一的路径,路径上每条边都是必经之路。 所以只是到 tarja 阅读全文
posted @ 2018-07-08 22:53 4397 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 花d+1个点建一个长度为d的链子,然后每个结点可以建一棵深度为min(i-1,d-i+1)的树【因为这个点距链子两头的最长距离是max(i-1,d-i+1),我们需要保证建的树的叶子结点到链子头的距离不超过d】 就做完了。 那为什么不会出现两个叶子结点连起来超过d的情况呢?原因如下: 我用bfs写的 阅读全文
posted @ 2018-07-08 10:38 4397 阅读(285) 评论(0) 推荐(0) 编辑