算法
文章平均质量分 52
七情六欲·
唔西迪西 糊不拉几
展开
-
LeetCode 475. 供暖器
冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。说明:所有供暖器都遵循你的半径标准,加热的半径也一样。示例 1:输入: houses = [1,2,3], heaters = [2]输出: 1解释: 仅在位置2上有一个供暖器。如果我们将加热半径设为1,那么所有房屋就都能得到供暖。示例 2:输原创 2022-01-24 16:32:13 · 361 阅读 · 3 评论 -
线段树 + 扫描线求解矩形面积覆盖问题
求解二维的矩形面积覆盖的问题 拖了好久了第一次遇到这个问题 应该是去年的时候 一直想着找个时间学习一下这种问题的求解 然而一直拖扫描线算法流程:想象有一条平行于y轴的直线,从左向右缓慢的移动 并且 时刻在计算需要处理的数据y轴上的线段树 记录y轴上每个点的覆盖次数每当遇到一个矩形的一条边就计算面积,用这次碰上的边的x坐标减去上一次碰到的边的x坐标,然后用这个差值 乘以y当前y轴上有多少点被覆盖当扫描线遇到某个矩形的左边时,将这个矩形的左边所对应的y轴区间的覆盖次数+1,当遇到某个矩形的右边原创 2020-09-20 16:58:44 · 264 阅读 · 0 评论 -
POJ 2186 Popular Cows 受欢迎的奶牛
Popular CowsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 45992 Accepted: 18779DescriptionEvery cow’s dream is to become the most popular cow in the herd. In a herd of N (1 <= N <= 10,000) cows, you are given up to M (1 <= M <原创 2020-08-15 10:29:27 · 170 阅读 · 0 评论 -
Tarjan 算法 浅谈
算法介绍如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。T原创 2017-03-17 16:16:33 · 188 阅读 · 0 评论 -
ICPC Pacific Northwest Regional Contest 2017 (计蒜客马拉松赛)
A. Odd PalindromeWe say that a string is oddodd if and only if all palindromic substrings of the string have odd length.Given a string ss, determine if it is oddodd or not.A substring of a string ss is a nonempty sequence of consecutive characters from原创 2020-08-08 10:05:19 · 399 阅读 · 0 评论 -
A - Palindrome
Andy the smart computer science student was attending an algorithms class when the professor asked the students a simple question, “Can you propose an efficient algorithm to find the length of the largest palindrome in a string?”A string is said to be a p原创 2020-07-21 13:03:50 · 290 阅读 · 0 评论 -
POJ 2083 Fractal
FractalTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 18196 Accepted: 7509DescriptionA fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on all scales. The object need not exhibit exactly the sa原创 2020-07-19 11:13:53 · 285 阅读 · 0 评论 -
UVa 714 Copying Books
Before the invention of book-printing, it was very hard to make a copy of a book. All the contents hadto be re-written by hand by so called scribers. The scriber had been given a book and after severalmonths he finished its copy. One of the most famous s原创 2020-05-23 22:06:50 · 186 阅读 · 0 评论 -
关于强连通分量再瞎扯一点
割点: 在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点对于边(u,v) low[v] >= dfn[u]时,节点u才为割点。该式子的含义:以节点v为根的子树所能追溯到最早的祖先节点要么为v要么为u。割边:即在一个无向连通图中,如果删除某条边后,图不再连通,则成为割边。 求割边时,只需要将求割点的算法修改一个符号即可。只需要将low[v]>=dfn[原创 2017-11-09 16:47:40 · 343 阅读 · 0 评论 -
HDU 3530 Subsequence
SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7550 Accepted Submission(s): 2555 Problem Description There is a sequence of in原创 2017-11-08 21:13:04 · 261 阅读 · 0 评论 -
Tarjan算法--求无向图的割点和桥
一.基本概念1.桥:是存在于无向图中的这样的一条边,如果去掉这一条边,那么整张无向图会分为两部分,这样的一条边称为桥无向连通图中,如果删除某边后,图变成不连通,则称该边为桥。2.割点:无向连通图中,如果删除某点后,图变成不连通,则称该点为割点。二:tarjan算法在求桥和割点中的应用1.割点:1)当前节点为树根的时候,条件是“要有多余一棵子树”(如果只有一颗子树,去掉这个点也没有影响,如果有两颗原创 2017-08-12 10:29:40 · 1186 阅读 · 0 评论 -
BZOJ 1877: [SDOI2009]晨跑
1877: [SDOI2009]晨跑Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 2153 Solved: 1152[Submit][Status][Discuss]DescriptionElaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑、仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑。 现在给出一张学校附近的地原创 2017-03-17 16:24:57 · 327 阅读 · 0 评论 -
网络流入门--最大流算法Dicnic 算法
感谢WHD的大力支持最早知道网络流的内容便是最大流问题,最大流问题很好理解:解释一定要通俗!如右图所示,有一个管道系统,节点{1,2,3,4},有向管道{A,B,C,D,E},即有向图一张. [1]是源点,有无限的水量,[4]是汇点,管道容量如图所示.试问[4]点最大可接收的水的流量?这便是简单的最大流问题,显然[4]点的最大流量为50死理性派请注意:流量是单位时间内的,总可原创 2017-03-17 16:23:58 · 2911 阅读 · 0 评论 -
求LCA最近公共祖先的在线ST算法_C++
ST算法是求最近公共祖先的一种 在线 算法,基于RMQ算法,本代码用双链树存树预处理的时间复杂度是 O(nlog2n) 查询时间是 O(1) 的另附上离线算法 Tarjan 的链接: 首先预处理出深度,以及 DFS 序,这里的DFS序是指回溯时也算上,比如: 1 void dfs(int x,int dep) 2 { 3原创 2017-03-17 16:23:29 · 302 阅读 · 0 评论 -
网络流例题
【HDU】3572Task Schedule(基础) [最大流]任务分配,判断满流3338 Kakuro Extension(较难,好题) [最大流][数和]神奇最大流行进列出2883 kebab(中等) [最大流]判断满流3605 Escape(中等,好题) [最大流](可用多重匹配)4183 Pahom on Water(基础) [最大流]原创 2017-03-16 19:33:54 · 420 阅读 · 0 评论 -
Day 3 网络流
Day3 电子笔记(网络流):备注:上午 网络流,下午 计算几何线性规划(基于 单纯性 做法)可以代替网络流,但是难写、难理解不需要 建模(比网络流好的地方),时间复杂度更玄学Dinic 算法:分层、多路增广,当前弧优化,复杂度:O(N2M)【主要是玄学,跑二分图特别快】Dining(POJ 3281)食物和饮料,S向牛连边,流量为1,饮料向T连边流量1,牛向食物连边,原创 2017-05-01 07:58:18 · 343 阅读 · 0 评论 -
Manacher算法
Manacher算法:Manacher算法是用来求解最长回文子串的一个字符串算法,时间复杂度O(N)算法基本要点:首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就原创 2017-05-07 09:58:02 · 367 阅读 · 0 评论 -
洛谷 P2916 [USACO08NOV]为母牛欢呼Cheering up the C…
题目描述Farmer John has grown so lazy that he no longer wants to continue maintaining the cow paths that currently provide a way to visit each of his N (5 Bidirectional path j connects pastures S_j an原创 2017-03-17 16:25:04 · 2030 阅读 · 0 评论 -
CDQ 学习笔记
CDQ分治CDQ(陈丹琦)分治是一种特殊的分治方法。它只能处理非强制在线的问题。CDQ分治在维护一些动态的凸包、半平面交问题也有一定应用,然而本渣渣并不会。CDQ分治基于时间分治,整体二分基于答案分治。步骤1:将操作按照某个关键字排序2;算出[L,mid]对[mid+1,R]的贡献3;递归处理[L,mid]和[mid+1,R]注:这里的区间指的是操作区间。题原创 2017-03-17 16:25:10 · 497 阅读 · 0 评论