摘要:
跨越大半年的更新 题目链接(点我) 题面描述 我们常常会说这样的话:“X 年是自 Y 年以来降雨量最多的”。它的含义是 X 年的降雨量不超过 Y 年,且对于任意 Y<Z<X,Z 年的降雨量严格小于 X 年。例如 2002,2003,2004 和 2005 年的降雨量分别为 4920,5901,283 阅读全文
摘要:
题目链接 二分+线段树趴 首先让我们想想暴力的做法 emmmmmm 强行暴力,O(n2log2n)(直接强行排序) 让我们想想如何优化这个排序,对一个序列排序的时间复杂度是O(nlog2n),但是当我们对一个01序列排序的时候就是O(log2n)了 那具体怎么做呢?做法如下: 正确做法: 首先二分所 阅读全文
摘要:
题目描述 首先我们简化一下题意: 要找一段区间[L,R],使区间[L,R]内元素最大值减最小值大于等于D。 做法: 首先很容易想到采用二分,分什么呢? 我们二分区间长度为mid 这个时候,检验就成为了我们的目标 最暴力的检验就是枚举左端点,在区间内找最大和最小,有一个max-min>=D 让我们模拟 阅读全文
摘要:
题目链接 看了看其他大佬的文章,为什么要控制右端呢 其实就是一个很简单的模拟队列趴。。。 难点就在于根据题意我们可以分析得一段合法区间内,不同种类个数不能超过k+2 哦当然,由于种类数范围过大,要对种类进行离散化,可以使用STL的map 剩下的就是模拟了,详见代码: 阅读全文
摘要:
题目链接 题解 CF723D 【Lakes in Berland】 首先将边界的水用bfs处理掉 再将中间的每一个湖泊处理出来,存入一个结构体内,结构体里记录湖泊大小和开始点 将湖泊排序从小往大填满,并利用开始点进行bfs改变地图 细节见代码: #include<bits/stdc++.h> usi 阅读全文
摘要:
题目链接 题解 CF799B 【T-shirt buying】 STL大法好!!! 用三个优先级队列记录每件衣服的价钱,堆里存放价钱 因为是按照顺序买衣服 所以每次取堆里最小的就好了 但是一个问题浮现了出来 如何处理别人已经拿过的衣服??? 于是就将优先级队里存放的改为一个结构体,记录价钱和编号 用 阅读全文
摘要:
首先来一段百度百科压压惊。。。 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 让我来翻译一下 阅读全文
摘要:
Tarjan算法:一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法。 定义给出之后,让我们进入算法的学习。。。 【情境引入】 【HAOI2006受欢迎的牛】 题目描述: 每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶 牛都是自恋狂,每头奶牛总是 阅读全文
摘要:
题意: 给一个n(n<=10)个节点的无向图,图里面有m条边,以这m条边构建生成树,求所有生成树中只含有k个度数为1的点的方案数。 题解: 看见这个数量级就一定会想到状态压缩dp... 那让我们设计一下状态: dp[i][j] 表示生成树的状态为i时,所含的度数为1的点的状态j的方案数。 那么就可以 阅读全文
摘要:
【问题描述】 长度为n 的一串项链,每颗珠子是K 种颜色之一。第i 颗与第i-1,i+1 颗珠子相邻,第n 颗与第1 颗也相邻。 切两刀,把项链断成两条链。要求每种颜色的珠子只能出现在其中一条链中。 求方案数量。【输入】 输入文件名为(neck.in)。 第一行两个数n,K。 第二行n 个数,第i 阅读全文