自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(275)
  • 收藏
  • 关注

转载 8.15早训有意思的题

B - Mister B and Angle in PolygonCodeForces - 820B计算几何题意输入n个点,创建一个正n边形,把每个点之间都连起来(如下图举例所示),求出最接近所给∠a的角的角的三个顶点a,b,c,其中b为顶点。题解先说下这题的思路,这题并不是难在代码,但是不太好想。正n边形的内角和为 (n-2)*180°,这个公式当时自然记得...

2019-08-15 13:10:00 204

转载 2 - sat 模板(自用)

2-sat一个变量两种状态符合条件的状态建边找强连通,两两成立1 - n 为第一状态(n + 1) - (n + n) 为第二状态例题模板链接一POJ 3207 Ikki's Story IV - Panda's Trick(2-sat)链接二Katu Puzzle POJ - 3678 (2 - sat)链接三HDU3622 Bomb Game(二分...

2019-08-14 22:10:00 164

转载 HDU3622 Bomb Game(二分+2-SAT)

题意给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径.题解首先二分最大半径值,然后2-sat构图判断其可行性,对于每 两队位置(u,uu)和(v,vv),如果u和v之间的距离小于2*id,也就是说位置u和位置v...

2019-08-14 22:06:00 182

转载 Katu Puzzle POJ - 3678 (2 - sat)

有N个变量X1X1~XNXN,每个变量的可能取值为0或1。给定M个算式,每个算式形如XaopXb=cXaopXb=c,其中 a,b 是变量编号,c 是数字0或1,op 是 and,or,xor 三个位运算之一。求是否存在对每个变量的合法赋值,使所有算式都成立。输入格式第一行包含两个整数N和M。接下来M行,每行包含三个整数a b c,以及一个位运算(AND,OR,XO...

2019-08-14 22:03:00 157

转载 Fire Net(HDU-1045)(匈牙利最大匹配)(建图方式)

题意有一个 n*n的图,.代表空白区域,X 代表墙,现在要在空白区域放置结点,要求同一行同一列只能放一个,除非有墙阻隔,问最多能放多少个点思路只有在墙的阻隔情况下,才会出现一行/列出现多个点的情况,那么可以考虑进行缩点,将同一行且没有墙体阻隔的区域缩成一个点,放到左点集中,将同一列且没有墙体阻隔的区域缩成一个点,放到右点集中,从而建成一个二分图假设 i 为...

2019-08-13 20:34:00 68

转载 poj2226-Muddy Fields二分匹配 最小顶点覆盖 好题

题目给到一个矩阵,有些格子上是草,有些是水。需要用宽度为1,长度任意的若干块木板覆盖所有的水,并不能覆盖草,木板可以交叉,但只能横竖放置,问最少要多少块板。分析经典的矩阵二分图构图和最小点覆盖。无非就是两种方向,横向和竖向。我们把水块连续的编成同一号,那么对于一个点,它会有一个横向编号和纵向编号。我们要覆盖这个点,只需要覆盖这条边即可。于是问题转化成了一个最小点覆盖问题,即在...

2019-08-13 20:28:00 98

转载 有趣的优化(持续更新)

3424:Candies(差分约束,Dijkstra)(配对堆优化卡常数优化转载于:https://www.cnblogs.com/DWVictor/p/11348239.html

2019-08-13 20:15:00 92

转载 有趣的建图(持续更新)

【BZOJ-4289】Tax 最短路 + 技巧建图(化边为点)786B - Legacy(线段树 + 最短路)线段树优化建图poj2226-Muddy Fields二分匹配 最小顶点覆盖 好题Fire Net(HDU-1045)(匈牙利最大匹配)(建图方式)转载于:https://www.cnblogs.com/DWVictor/p/11348236.html...

2019-08-13 20:14:00 60

转载 双连通分量和强连通分量的总结

【双连通分量】一、边双连通分量定义在分量内的任意两个点总可以找到两条边不相同的路径互相到达。总而言之就是一个圈,正着走反着走都可以相互到达,至少只有一个点。二、点双连通分量的定义参照上面,唯一的不同:任意两个点可以找到一个点不同的路径互相到达。也是一个圈,正反走都可以,至少为一个点。三、边、点双连通分量模板代码要注意的地方边双连通分量:1.每个节点的所有儿子遍...

2019-08-13 19:58:00 363

转载 双连通分量(点-双连通分量&边-双连通分量)

概念:双连通分量有点双连通分量和边双连通分量两种。若一个无向图中的去掉任意一个节点(一条边)都不会改变此图的连通性,即不存在割点(桥),则称作点(边)双连通图。一个无向图中的每一个极大点(边)双连通子图称作此无向图的点(边)双连通分量。求双连通分量可用Tarjan算法。--百度百科Tip:先学一下tarjan算法以及求割点割边的算法之后,再看会比较好理解一些。点双连通和边...

2019-08-13 19:40:00 612

转载 Tarjan算法求有向图强连通分量并缩点

// Tarjan算法求有向图强连通分量并缩点#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>using namespace ...

2019-08-13 19:22:00 122

转载 tarjan算法求无向图的桥、边双连通分量并缩点

// tarjan算法求无向图的桥、边双连通分量并缩点#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int SIZ...

2019-08-13 17:53:00 117

转载 POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT)

POJ 3207题意:平面上,一个圆,圆的边上按顺时针放着n个点。现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接。给你的信息中,每个点最多只会连接的一条边。问能不能连接这m条边,使这些边都不相交。思路:对于每条Link,要么在圆外,要么在圆内,且不可同时满足,只能两者取一,判断这M条Link是否合法,也就是M条Link不冲突...

2019-08-13 17:32:00 97

转载 由对称性解2-SAT问题

由对称性解2-SAT问题(by 伍昱,03年IOI国家集训队论文ppt)2-SAT:2-SAT就是2判定性问题,是一种特殊的逻辑判定问题。2-SAT问题有何特殊性?该如何求解?我们从一道例题来认识2-SAT问题,并提出对一类2-SAT问题通用的解法。Poi 0106 Peaceful Commission [和平委员会]某国有n个党派,每个党派在议会中...

2019-08-13 17:31:00 254

转载 Picnic Planning POJ - 1639(度限制生成树)

解题报告题意理解给定一张N个点,M个边的无向图,求出无向图的一颗最小生成树,但是我们要求一号节点的入度不可以超过给定的整数S也就是一个最小生成树,要求它的一号节点,最多只能和S个节点相连.思路确定题意就已经告诉我们,我们的必备算法必然是最小生成树.但是具体的算法流程,我们还得思考一下.首先,我们要知道两个性质.一个最小生成树,它的任意一...

2019-08-13 15:14:00 106

转载 hdu2444The Accomodation of Students (最大匹配+判断是否为二分图)

题意首先判断所有的人可不可以分成两部分,每部分内的所有人都相互不认识。如果可以分成 则求两部分最多相互认识的对数。解题类似分成两组,同组互不相关,就可能使判断是否为二分图能否分成两部分 则是判断是否是一个二分图。无向图G为二分图的充分必要条件是:G至少有两个顶点,且当存在回路时,其所有回路的长度均为偶数。回路就是环路,也就是判断是否存在奇数环。判断二分图方法:用染色法,把...

2019-08-13 00:27:00 88

转载 Fire Net HDU - 1045 (二分图匹配)

题意:给出一张图,图中'X'表示wall,'.'表示空地,可以放置blockhouse同一条直线上只能有一个blockhouse,除非有wall隔开,问在给出的图中最多能放置多少个blockhous分析:把原始图分别按行和列缩点 建图:横竖分区。先看每一列,同一列相连的空地同时看成一个点,显然这样的区域不能够同时放两个点。这些点作为二分图的X部。同理在对所有的...

2019-08-12 23:25:00 89

转载 Labeling Balls POJ - 3687 优先队列 + 反向拓扑

优先队列 + 反向拓扑//#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>using namespace std;...

2019-08-12 21:41:00 68

转载 POJ 3249 Test for Job (拓扑排序+DP)

POJ 3249 Test for Job (拓扑排序+DP)<题目链接>题目大意:给定一个有向图(图不一定连通),每个点都有点权(可能为负),让你求出从源点走向汇点的路径上的最大点权和。解题分析:想到拓扑排序就好做了,然后在拓扑的过程中进行简单的状态转移。#include <iostream>#include <...

2019-08-12 21:40:00 144

转载 Gym 101466(完整)

题目链接 : 点击此处## Problem A题意:  给你n个数,重定义两个数之间的加法不进位,求这些数中两个数相加的最大值和最小值。题解:字典树。我们首先将前i-1为放入字典树中,然后在查询第i位时,我们去字典树中查询,对每一位进行寻找,找到满足题意的当前位的最大值和最小值,然后继续更新下一位,最后维护总的最大值和最小值即可。...

2019-08-12 21:14:00 220

转载 HDU 3639 Hawk-and-Chicken (强连通缩点+DFS)

<题目链接>题目大意:有一群孩子正在玩老鹰抓小鸡,由于想当老鹰的人不少,孩子们通过投票的方式产生,但是投票有这么一条规则:投票具有传递性,A支持B,B支持C,那么C获得2票(A.B共两票),输出最多能获得的票数是多少张和获得最多票数的人是谁?(如果有多个人获得的票数都是最多的,就将他们全部输出)。解题分析:不难看出,同一连通分量的所有点得到的票数肯定是相同的,...

2019-08-11 01:40:00 65

转载 hdu3394--Railway(点的双连通分量)

一个公园中有 n 个景点,景点之间通过无向的道路来连接(明显的点双),如果至少两个环公用一条路,路上的游客就会发生冲突;如果一条路不属于任何的环,这条路就没必要修问,有多少路不必修,有多少路会发生冲突每一个连通块中,如果边数大于点数,这个块中所有的边全部是冲突边。所有桥为不需要修建的路。点双连通分量:对于一个连通图,如果任意两点至少存在两条“点不重复”的路径,则...

2019-08-11 00:11:00 152

转载 poj2186--tarjan+缩点(有向图的强连通分量中点的个数)

题目大意: 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。 先用tarjan求出每个强连通分量,再缩点,统计每个点的出度,如果有且只有1个出度为0的点,就...

2019-08-10 20:18:00 95

转载 Hdu 4738【tanjan求无向图的桥】割边判定定理 dfn[x] < low[y]

题目:  曹操在长江上建立了一些点,点之间有一些边连着。如果这些点构成的无向图变成了连通图,那么曹操就无敌了。刘备为了防止曹操变得无敌,就打算去摧毁连接曹操的点的桥。但是诸葛亮把所有炸弹都带走了,只留下一枚给刘备。所以刘备只能炸一条桥。  题目给出n,m。表示有n个点,m条桥。  接下来的m行每行给出a,b,c,表示a点和b点之间有一条桥,而且曹操派了c个人去守卫这条桥。...

2019-08-10 16:39:00 131

转载 回文树介绍

回文树例题看这 :点击简介  我们知道,Manacher算法可以在[Math Processing Error]O(n)的时间内求出以每个位置为中心的最长回文串(虽然我昨天还不知道Manacher算法是怎么做的)。但是如果要统计回文串的个数,Manacher就捉襟见肘了。于是,回文自动机闪亮登场!   回文自动机是解决回文串问题的一类数据结构。   这个数据结构比较新,是由来自...

2019-08-08 22:22:00 121

转载 回文树总结

回文树介绍看这 : 点击回文树首先,回文树有何功能?假设我们有一个串S,S下标从0开始,则回文树能做到如下几点:1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同)2.求串S内每一个本质不同回文串出现的次数3.求串S内回文串的个数(其实就是1和2结合起来)4.求以下标i结尾的回文串的个数模板...

2019-08-08 22:21:00 107

转载 140. 后缀数组(hash + 二分 / 后缀数组)

题目链接 :https://www.acwing.com/problem/content/description/142/Hash + 二分#include <bits/stdc++.h>using namespace std;const int maxn = 3e5 + 7;typedef unsigned long long ull;...

2019-08-08 21:54:00 129

转载 139. 回文子串的最大长度(回文树/二分,前缀,后缀和,Hash)

题目链接 :https://www.acwing.com/problem/content/141/#include <bits/stdc++.h> using namespace std;const int MAXN = 1000005 ; const int N = 26 ; struct Palindromic_Tree { ...

2019-08-08 20:21:00 129

转载 2015 四川省赛 C Censor(哈希 | KMP)

模式串为子串KMP/*@author : victor*/#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAX = 5e6 + 7;int next_[MAX];char s1[MAX], s2[MAX...

2019-08-06 21:41:00 71

转载 CodeForces - 714E + POJ - 3666 (dp严格单调递增与非严格单调递增)

左偏树炒鸡棒的论文《左偏树的特点及其应用》虽然题目要求比论文多了一个条件,但是……只需要求非递减就可以AC……数据好弱……虽然还没想明白为什么,但是应该觉得应该是这样——求非递减用大顶堆,非递增小顶堆……这题和bzoj1367题意差不多,但是那题求的是严格递增。(bzoj找不到那道题,可能是VIP或什么原因?严格递增的方法就是每一个数字a[i]都要减去i,这样求得的b...

2019-08-05 21:25:00 127

转载 CSUST 8.4 早训

## Problem AA - Memory and CrowCodeForces - 712A题意:分析可得bi=ai+ai+1题解:分析可得bi=ai+ai+1C++版本一#include<bits/stdc++.h>using namespace std;const int maxn = 1e5 + 7;...

2019-08-05 20:05:00 86

转载 CSUST 8.5 早训

## Problem AA - Meeting of Old FriendsCodeForces - 714A题意:解题说明:此题其实是求两段区间的交集,注意要去除掉交集中的某个点。题解:C++版本一#include<cstdio>#include<iostream>#include<algorithm>...

2019-08-05 19:54:00 83

转载 题解模板

## Problem A 题意:题解:C++版本一## Problem B题意:题解:C++版本一## Problem C题意:题解:C++版本一## Problem D题意:题解:C++版本一## Problem E题意:题解:C++版本一## Prob...

2019-08-05 11:00:00 90

转载 CSUST 8.3 早训

A - Settlers' TrainingCodeForces - 63B题意给你一串数字,相同的数字为一组,每次可以给一组中的一个数字加一,问这一串数字全变成K需要多少步?题解模拟C++代码/**/*@author Victor/*language C++*///#include <bits/stdc++.h>#i...

2019-08-03 20:27:00 92

转载 HDU1688-POJ3463-Sightseeing(求次短路的条数)

题意求出最短路和次短路的条数,当次短路比最短路长度小1时,输出条数之和,反之输出最短路条数。题解 dis1[],cnt1[],dis2[],cnt2[] 分别表示最短路的长度和条数,次短路的长度和条数。  当当前距离小于当前点最短路长度的时候,更新二者长度和条数。  当当前距离等于当前点最短路长度的时候,更新最短路条数。  当当前距离小于当前点次短路长度的时候,更新次短路的...

2019-07-30 21:45:00 94

转载 【BZOJ-4289】Tax 最短路 + 技巧建图(化边为点)

题意给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权N<=100000M<=200000题解一无向图连边时要拆成两条边,这大家都知道然后把边看成”点”,(优化:)因为不可能每个”点”之间都能连边,所以对除了 1点和 n点之外...

2019-07-30 17:35:00 140

转载 UVA 11354 Bond 最小生成树 + lca

题意给出一张图,q个询问,每次询问给出uv,找出一条路径,使这条路径上的最大边权是两点所有路径中最小,输出这个值思路很显然要先求出最小生成树,任意两点在最小生成树上有唯一路径,并且这条路径上的最大边权就是所输出的值,接下来就是如何求出树上任意两点唯一路径中的最大边权了,先把最小生成树转化为有根树,并用fa数组表示u的父亲节点,cost数组表示与父亲节点连的边的边权,dep数组...

2019-07-30 17:32:00 130

转载 3424:Candies(差分约束,Dijkstra)(配对堆优化

题面链接题解令x-y<=z表示x最大比y大z。若b-a<=k1, c-b<=k2, c-a<=k3,那么c-a最大为多少呢?显然应该等于min(k1+k2, k3)。可以用下图来表示示(不擅图丑勿怪)C++堆优化代码//链式前向星存图+迪杰斯特拉堆优化 #include<iostream>#include&...

2019-07-30 17:30:00 181

转载 1062:昂贵的聘礼(最短路/枚举)

题面链接题解1//最短路径——Dijkstra算法2//此题的关键在于等级限制的处理,最好的办法是采用枚举,即假设酋长等级为5,等级限制为2,那么需要枚举等级从3~5,4~6,5~73//从满足改等级范围的结点组成的子图中用Dijkstra来算出最短路径4//小结,通过枚举的方式可以消除一些图与图之间的限制C++代码#in...

2019-07-30 17:21:00 75

转载 01分数规划问题(二分法与Dinkelbach算法)

链接前置技能二分思想最短路算法一些数学脑细胞?问题模型1基本01分数规划问题给定n个二元组(valuei,costi),valuei是选择此二元组获得的价值(非负),costi是选择此二元组付出的代价(非负),设xi(xi∈{0,1}代表第ii个二元组的选与不选,最大(小)化下式 下面先说最大化解决方法二分法设r最大值为r∗,转载...

2019-07-23 14:35:00 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除