摘要: 定义: 最小瓶颈路问题是指在一张无向图中,询问一个点对$(u,v)$,需要找出从$u$到$v$的一条简单路径,使路径上所有边中最大值最小。 根据查询次数不同,最小瓶颈路问题可分为单次查询和多次查询。 单次查询: 例题:Luogu P1396 营救 题目链接 题解一: 根据“最大值最小”,不难想到二分 阅读全文
posted @ 2017-10-28 23:31 青石巷 阅读(2333) 评论(0) 推荐(2) 编辑
摘要: 题面版权来自Shlw。题目链接 题目背景 无 题目描述 给定一个数列,元素均为正整数,对其以下两种操作: 1.将某区间每一个数变为其算术平方根(取整) 2.求出某区间内所有数的最大值 输入输出格式 输入格式: 第一行包含两个整数$n$,$m$,分别表示该数列数字的个数和操作的总个数。第二行包含n个用 阅读全文
posted @ 2017-10-21 08:25 青石巷 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 计算机的整数变量是以二进制的形式存储的,两个数的位运算就是直接将两个数的二进制形式中每一位一一对应,根据一定规则进行每一位的运算。事实上,C++中使用的四则运算,本质上还是位运算,只是对其进行封装之后的结果。也正因此,位运算相对于其他运算而言效率很高。本文简要介绍一些通过位运算进行枚举的技巧。 首先 阅读全文
posted @ 2017-10-06 23:02 青石巷 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 颓得不行的我到D2才想起来自己可以写一篇low得不能再low的游记,然后就动笔了...... Day0 愉快地看着三联,想着别人放一天我放四天的悠闲生活,内心甚是平静。然而晚上回到家就开始浪了,看完了kkk的完美日语教室回放。 Day1 难得的自然醒之后庄重地洗澡,想着马上就能去上人生第一堂网络课了 阅读全文
posted @ 2017-10-04 14:17 青石巷 阅读(334) 评论(1) 推荐(0) 编辑
摘要: 本文通过一道01背包问题的变种介绍了折半枚举的思想和实现思路,并顺便介绍了另一种01背包变种的求解方法。 阅读全文
posted @ 2017-09-30 21:45 青石巷 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 定义: 块状数组是基于分块思想的数据结构,较基于分治思想的数据结构如线段树、平衡树等效率较低,但通用性更强。在块状数组的基础上加以扩展,就可以得到块状链表。 原理: 普通数组在处理一些区间问题时,复杂度通常会退化至O(n)。一个朴素的想法就是将这个数组分为若干个子区间,同时维护这些子区间的统计值,如 阅读全文
posted @ 2017-09-02 19:21 青石巷 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目背景 无 题目描述 在一个n*m 的矩阵A 的所有位置中随机填入0 或1,概率比为x : y。令B[i]=a[i][1]+a[i][2]+......+a[i][m],求min{B[i]}的期望,并将期望乘以(x + y)^nm 后对1e9+7取模。 输入输出格式 输入格式: 共一行包 阅读全文
posted @ 2017-08-26 19:06 青石巷 阅读(361) 评论(0) 推荐(1) 编辑
摘要: 引入: 组合数C(m,n)表示在m个不同的元素中取出n个元素(不要求有序),产生的方案数。定义式:C(m,n)=m!/(n!*(m-n)!)(并不会使用LaTex QAQ)。 根据题目中对组合数的需要,有不同的计算方法。 (1)在模k的意义下求出C(i,j)(1≤j≤i≤n)共n2 (数量级)个组合 阅读全文
posted @ 2017-08-26 11:53 青石巷 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 本文先介绍一些vector常用的函数(部分借鉴一篇博客中的内容 链接),并以此为铺垫,介绍本人在解题过程中对vector用途的一些总结。 阅读全文
posted @ 2017-08-25 17:17 青石巷 阅读(557) 评论(2) 推荐(0) 编辑
摘要: 本文对pbds中各种堆的使用方法进行了介绍,并通过一道模板题大致对比了各自的性能。 阅读全文
posted @ 2017-08-25 14:53 青石巷 阅读(8218) 评论(2) 推荐(2) 编辑