10 2014 档案
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28214题目大意:源串有如下变形:每次将串切为两半,位置颠倒形成新串。问经过K次变形后,与目标串相同的变形方案数。mod1000000007。解题思路:奇葩的字符串DP...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3352题目大意:一个连通图中,至少添加多少条边,使得删除任意一条边之后,图还是连通的。解题思路:首先来看下边双连通分量的定义:如果任意两点至少存在两条“边不重复”的路径,那么说这个图是边双连通的。那么本题中,删除任意一条边,就可以看作是...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2117题目大意:统计一个范围内数的个数,要求该数能被各位上的数整除。范围2^64。解题思路:一开始SB地开了10维数组记录情况。首先要求能被各位上的数整除,可以转化为被一个数整除问题。这个数就是各位上数的最小公倍数LCM(不是GCD)。...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2117题目大意:在一个非连通图中,求一个切除图中任意一个割点方案,使得图中连通分量数最大。解题思路:一个大陷阱,m可以等于0,这时候要特判,结果就是n-1。同时出题者脑子秀逗了,也不给C的范围。我开了两倍点大小RE了,于是怒开了五倍点大...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1523题目大意:连通图,找图中割点,并计算切除该割点后,图中的连通分量个数。解题思路:POJ的数据很弱。Tarjan法求割点。pre数组,记录这个点的dfs时间位置。割点的条件是lowv>=pre[u], 即子点比父点先dfs,这时候父...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3661题目大意:牛跑步。有N分钟,M疲劳值。每分钟跑的距离不同。每分钟可以选择跑步或是休息。一旦休息了必须休息到疲劳值为0。0疲劳值也可以花费1分钟去休息。最后疲劳值必须为0,问跑的最大距离。解题思路:怎么看都像个随便YY的DP。用dp...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2955题目大意:括号匹配。对称的括号匹配数量+2。问最大匹配数。解题思路:看起来像个区间问题。DP边界:无。区间间隔为0时,默认为memset为0即可。对于dp[i][j],如果i和j匹配,不难有dp[i][j]=dp[i+1][j-1...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27130题目大意:按顺序去参加舞会。每个舞会对衣服都有要求。可以连续穿好多件衣服。需要时候就脱下来,但是一旦脱下来,这件衣服就报废了。问最少需要几件衣服。解题思路:很难...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1651题目大意:加分取牌。如果一张牌左右有牌则可以取出,分数为左牌*中牌*右牌。这样最后肯定还剩2张牌。求一个取牌顺序,使得加分最少。解题思路:矩阵链乘的变种题。假设有10、20、30、40、50五张牌。如果我想要最后取30,则应该先取...
阅读全文
摘要:题目链接:https://vijos.org/p/1100题目大意:NOIP著名的加分二叉树。给出一棵树的中序遍历,加分规则左子树*右子树+根。空子树分数为1。问最大加分的树结构,输出树结构的先序遍历。解题思路:先从小的问题看起。对于一棵子树,只要知道根是啥,就能轻松求出这棵子树的加分情况。那么就变...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074题目大意:有N个作业(N>sub[i]>>dead[i]>>cost[i]; for(int i=1;i=0;j--) { int ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4003题目大意:有K个机器人,走完树上的全部路径,每条路径有个消费。对于一个点,机器人可以出去再回来,开销2倍。也可以不回来,一直停在某个点(如果你的机器人数量足够多的话)。问最小开销。解题思路:其实这题...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1743题目大意:楼教主の男人八题orz。一篇钢琴谱,每个旋律的值都在1~88以内。琴谱的某段会变调,也就是说某段的数可以加减一个旋律范围的值。问这个谱子内最长不重叠的重复部分大小。解题思路:网上题解已经泛滥的题。很多细节都被先辈大神总结...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2217题目大意: 求两个串的最长公共子串,注意子串是连续的,而子序列可以不连续。解题思路:后缀数组解法是这类问题的模板解法。对于n个串的最长公共子串,这要把这些串连在一起,中间用"$"这类的特殊符号分隔一下。先求后缀数组,再求最长公共前...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3626题目大意:树中取点。每过一条边有一定cost,且最后要回到起点。给定预算m,问最大价值。解题思路:首先要注意这题要回到起点,由于树的特殊结构(每个结点只有一个父...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065题目大意:多个模式串,范围是大写字母。匹配串的字符范围是(0~127)。问匹配串中含有哪几种模式串,且每种模式串出现了多少次。解题思路:AC自动机模板题。模式串的范围是大写字母,但是匹配串的范围却是...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896题目大意:多个模式串。多个匹配串。其中串的字符范围是(0~127)。问匹配串中含有哪几个模式串。解题思路:AC自动机模板题。注意一下字符范围。cnt记录这个模式串的个数改为这个模式串的index。f...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222题目大意:多个模式串。问匹配串中含有多少个模式串。注意模式串有重复,所以要累计重复结果。解题思路:AC自动机模板题。一开始使用LRJ的坑爹静态模板,不支持重复的模式串。在做AC自动机+DP的时候,扒...
阅读全文
摘要:题目链接:http://xcacm.hfut.edu.cn/oj/problem.php?id=1102题目大意:树上取点。父亲出现了,其儿子包括孙子...都不能出现。给定预算,问最大值。解题思路:把树形背包的模板改一改。首先对于叶子结点,直接初始化就行了。这步不可以跳过,因为存在负权,仅仅依靠最后...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5337题目大意:方块连接,呈树形。每个方块有两种接法,一种接在父块边上,宽度+1,一种接在父块上面,宽度+0。且一个母块最多有2个子块。问全局的宽度最小是多少。解题思路:...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662题目大意:树枝上间连接着一坨坨苹果(不要在意'坨'),给定留下m根树枝,问最后剩下的最多苹果是多少。解题思路:其实意思和Vijos 1180(选课)的意思差不多...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2342题目大意:直属上司和下属出席聚会。下属的上司出现了,下属就不能参加,反之下属参加。注意上司只是指直属的上司。每个人出席的人都有一个快乐值,问最大的快乐值是多少。解题思路:首先确定一下顶头上司是谁。f[v]=u表示u是v的父亲,这样...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1947题目大意:两人选择图中一个kfc约会。问两人到达时间之和的最小值。解题思路:对于一个KFC,两人的BFS目标必须一致。于是就有以下的SB行为:记录所有KFC,对于每个KFC,对两人BFS。然后你就会看见红红的TLE。实际上,只需要...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1947题目大意:树中各点都由一条边连接。问要弄出个含有m个点的(子)树,至少需要截去多少条边。解题思路:设dp[i][j]为i总根(注意是当前点为总根,不再考虑其父亲,这题是要在原来的树里面切出一个树),留下j个点截去的最少的边。首先d...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561题目大意:从树根开始取点。最多取m个点,问最大价值。解题思路:cost=1的树形背包。有个虚根0,取这个虚根也要cost,所以最后的结果是dp[0][m+1]。本题是cost=1的特殊背包问题,在两...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意:在不是X的地方放O,所有O在没有隔板情况下不能对视(横行和数列),问最多可以放多少个O。解题思路:题目规模比较小(4*4),可以DFS解决。对于一个点,要么放,要么不放。放的话条件必须是上...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5067题目大意:蓝翔挖掘机挖石子。把地图上所有石子都运回起点,问最少耗时。解题思路:首先得YY出来。最少耗时肯定是从起点出发,把所有石子点走一遍且只走一遍,把石子装在车上,然后最后回到起点。由于石子堆最多...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2364题目大意:走迷宫。从某个方向进入某点,优先走左或是右。如果左右都走不通,再考虑向前。绝对不能往后走,即使没走过。解题思路:还是一个关键:每个点可以最多可以走4遍。可以从4个方向到达这个点。所以vis...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2579题目大意:走迷宫。对于障碍点,只有当前(dep+1)%k才能走,问最少时间。解题思路:只有一个关键:每个点不是只可以走一次。最多可以走k次。原因是对于一个点,可能是通过障碍点在k的倍数(即余数为0)...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1155题目大意:电视台转播节目。对于每个根,其子结点可能是用户,也可能是中转站。但是用户肯定是叶子结点。传到中转站或是用户都要花钱,如果是用户,则还可以收钱。问在不亏本的前提下最多能有多少个用户看到节目。解题思路:比较麻烦的树形背包。首...
阅读全文
摘要:题目链接:https://vijos.org/p/1180题目大意:选课。只有根课选了才能选子课,给定选课数m, 问最大学分多少。解题思路:树形背包。cost=1。且有个虚根0,取这个虚根也要cost,所以最后的结果是dp[0][m+1]。本题是cost=1的特殊背包问题,在两个for循环上有一个优...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011题目大意:树上取点,先取父亲,再取儿子。每个点,权为w,花费为cost,给定m消费总额,求最大权和。解题思路:树形背包模板题。首先建一个无向图。每个点的cost=(bug[root]+19)/20,...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2653题目大意:迷宫中有普通点和陷阱。其中普通点可以走可以飞,但是陷阱只能飞。走耗时1,飞耗时2。但是飞耗能1。给定一定能量P,问是否能在T秒内走出。解题思路:一开始SB似地认为每个点最多访问两次。其实每...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3580题目大意:对一个序列进行以下六种操作。输出MIN操作的结果。解题思路:六个操作,完美诠释了伸展树有多么吊。注意,默认使用Lazy标记,在pushdown中维护。ADD操作:为x~y元素加一个d值。首先用split切出x~y元素。然...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1180题目大意:迷宫中有一堆楼梯,楼梯横竖变化。这些楼梯在奇数时间会变成相反状态,通过楼梯会顺便到达前进方向的下一个点(跳过楼梯)。同时可以在原地等待,问到达终点的最少时间。解题思路:很有趣的一个题。还是...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4856题目大意:有一个迷宫。迷宫里有些隧道,每个隧道有起点和终点,在隧道里不耗时。出隧道就耗时,你的任务是访问完所有隧道且仅一次,求最短耗时。解题思路:暑假练习的时候。把英文读了N遍也没理解题意。其实就是...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2531题目大意: 你的身体占据多个点。每次移动全部的点,不能撞到障碍点,问撞到目标点块(多个点)的最少步数。解题思路:挺有趣的一个题,每次要移动多个点。如果只移动一个点,就是个简单粗暴的BFS。多个点照样...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5025题目大意: 迷宫中孙悟空救唐僧,可以走回头路。必须收集完钥匙,且必须按顺序收集。迷宫中还有蛇,杀蛇多耗时1,蛇杀完就没了。问最少耗时。解题思路:2014广州网赛的水题之一。当时没刷过BFS状压,结果...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429题目大意:最短时间内出迷宫,可以走回头路,迷宫内有不同的门,对应不同的钥匙。解题思路:要是没有门和钥匙,而且不能走回头路,就是个简单粗暴的BFS。有了门之后,就要状态压缩+记忆化搜索。不然这个图会搜...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026题目大意:最短时间内出迷宫。迷宫里要杀怪,每个怪有一定HP,也就是说要耗一定时。输出方案。解题思路:要是没有输出方案,就是一个简单粗暴的BFS。一开始解决输出方案问题时,简单粗暴地在每次状态里加个v...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312题目大意:问迷宫中有多少个点被访问。解题思路:DFS肯定能水过去的。这里就拍了一下BFS。然后发现自己BFS访问标记有问题,导致某些点被重复访问了。赶紧改了一下。#include "cstdio"#...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242题目大意:多个起点到一个终点,普通点耗时1,特殊点耗时2,求到达终点的最少耗时。解题思路:如果没有特殊点,就是普通BFS。由于特殊点的介入,所以BFS树的同一深度,各个点的值可能不同。所以使用优先队...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241题目大意:求一张地图里的连通块。注意可以斜着连通。解题思路:八个方向dfs一遍,一边dfs一边染色,断了之后换新颜色。做法类似Tarjan。orz,我是不是刷错顺序了。#include "cstdi...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题目大意:给定起点和终点,问刚好在t步时能否到达终点。解题思路:4个剪枝。①dep>t剪枝②搜到一个解后剪枝③当前走到终点最少步数>满足条件还需要走的步数剪枝(关键)③奇偶剪枝(关键):当前走到终点...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3494题目大意:给定一些被禁止的BCD码。问指定范围内不含有任何这些禁止的BCD码的数的个数。解题思路:AC自动机部分:首先insert这些被禁止的BCD码。然后打一...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4511题目大意:从1走到N,中间可以选择性经过某些点,比如1->N,或1->2->N,但是某些段路径(注意不是某些条)是被禁止的。问从1->N的最短距离。解题思路:AC自动机部分:如果只是禁掉某些边,最短...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3691题目大意:给定N个致病DNA片段以及一个最终DNA片段。问最终DNA片段最少修改多少个字符,使得不包含任一致病DNA。解题思路:首先说一下AC自动机在本题中的作用。①字典树部分:负责判断当前0~i个字符组成的串是否包含致病DNA,...
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4417题目大意:给定一个区间,以及一个k值,求该区间内小于等于k值的数的个数。注意区间是从0开始的。解题思路:首先这题线段树可以解。方法是维护一个区间最大值max,一个区间点个数s,如果k>max,则a...
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5044题目大意:修改链上点,修改链上的边。查询所有点,查询所有边。解题思路:2014上海网赛的变态树链剖分模板题。将以往树链剖分的点&边修改和查询合在一起之后,难度上去不少。第一个卡人点是读入优化。第二...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1548题目大意:给出一张地图上的垃圾,以及一堆机器人。每个机器人可以从左->右,上->下。走完就废。问最少派出多少个机器人才能捡完所有垃圾。解题思路:本题原本是个LIS题。但是有二分图匹配解法。类似POJ 3020的覆盖题,先不管机器人...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3020题目大意:读入一张地图。其中地图中圈圈代表可以布置卫星的空地。*号代表要覆盖的建筑物。一个卫星的覆盖范围是其周围上下左右四个点。问最少需要几个卫星才能覆盖所有建筑物。解题思路:有点类似POJ 1328的覆盖题,不过那题比较简单可以...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966题目大意:营地的分布成树型。每个营地都有一些人,每次修改修改一条链上的所有营地的人数,每次查询单个点。解题思路:树链剖分基础题。维护一个sum。注意轻链修改时,点修改和边修改的不同。由于树的结构与线...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2763题目大意:某人初始在s点。有q次移动,每次移动沿着树上一条链,每经过一条边有一定花费,这个花费可以任意修改。问每次移动的花费。解题思路:树链剖分基础题。每次Q之后改变一下s。线段树记录的是边权。方法是对于一条边(u,v),边权值加...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51919题目大意:斐波那契数列推导。给定前f1,f2,推出指定第N项。注意负数取模的方式:-1%(10^9+7)=10^9+6。解题思路:首先解出快速幂矩阵。以f3为例...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4507题目大意:求指定范围内与7不沾边的所有数的平方和。结果要mod 10^9+7(鬼畜の元凶)解题思路:与7不沾边的数需要满足三个条件。①不出现7②各位数和不是7的倍数③这个数不是7的倍数这三个条件都是...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3281题目大意:有一些牛,一堆食物,一堆饮料。一头牛要吃一份食物喝一份饮料才算满足,而且牛对某些食物和饮料才有好感,问最多有多少头牛是满足的。解题思路:没有费用的匹配最大流题。我一开始是这么考虑的,S->牛->食物->饮料->T,cap...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33631题目大意:Bob有一些贴纸,他可以和别人交换,他可以把自己独有的贴纸拿出去,也可以把重复的贴纸拿出去(有时候把独有的贴纸而不是重复的贴纸拿出去能换到更多贴纸)。...
阅读全文
摘要:题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1416题目大意:一个老师带他的一群学生去旅游。带走的这群学生整体必须满足给出四个条...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=32266题目大意:①先求任意两点间的最短路径累加和,其中不连通的边权为L ②删除任意一条边,求全局最短路径和的最大值。解题思路:首先说下多源最短路中,floyd和和优先...
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23846题目大意:给定一个升序序列,有q次询问,每次询问(L,R)出现最多的值的次数。解题思路:非常麻烦的题目。尽管一眼就能看出来是个RMQ。关键在于如何转化为RMQ。...
阅读全文
摘要:题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=47319题目大意:给定一个序列,要求确定一个子序列,①使得该子序列中所有值都能被其中一个值整除,②且子序列范围尽可能大(r-l尽可能大)。解题思路:对于要求1,不难发...
阅读全文
摘要:准确来说,动态规划是一种思想,而不是一种算法。算导里将它归结为——高级程序设计技巧。 在线性结构上进行状态转移DP,统称线性DP。 线性DP最常见的有: 子集和问题,LIS问题,LCS问题。 拓展之后有:子段和问题,杂类问题。1. 子集和问题和硬币计数问题子集和问题的一个实例: 〈S,t〉。其中,...
阅读全文
摘要:假设手里有N个串,和原文进行匹配,如果跑KMP,得把原文跑N次,实在是太费时间了。AC自动机借助于Trie的压缩功能,将多个串压成一个“树”,用这个树进行KMP,这就是贝尔实验室发明的AC自动机。AC自动机主要有三个操作;insert,getfail,print,find。insert的操作和Tri...
阅读全文
摘要:字符串匹配广泛用于各类工程、研究。朴素的字符串匹配像极了两条履带,小的履带先和大的履带对齐,逐个验证上下是否一致。如果不一致,小的履带右移一格,继续上下比对。最坏复杂度是O(nm),实在难以让人满意。实际上,小履带没必要每次都从头开始和大履带匹配,假设小履带已经匹配了好多,失配后右移一位从头开始走,...
阅读全文
摘要:string标准库固然强大,但是仍然有一些处理字符串的优秀数据结构。Trie(前缀树)就是其中之一,它通过在树上对不同字符串的相同字符只记录一次,来实现对多个字符串的"压缩":可以认为多个字符串被压成了一个超级大的字符串。int ch[10000][26],cnt[10000];int sz=1; ...
阅读全文
摘要:Treap名字的来源:Tree+Heap,正如名字一样,就是一颗简单的BST,一坨堆的合体。BST的不平衡的根本原因在于基于左s; if(ch[1]!=NULL) s+=ch[1]->s; }}Treap的结点结构Treap的主操作由以下几部分构成:rotate、insert,...
阅读全文
摘要:线段树与BST不同,它维护的是区间信息,树高越低,区间范围越大,而最后一层就是单点信息。线段树的价值于其维护的区间信息,如果不能有效利用,那么线段树就是一颗废树。一、单点更新线段树按照结点更新方式的不同,分为单点更新和成段更新。单点更新是线段树最简单的结构。通常由Push_Up, Build,Up...
阅读全文
摘要:尽管堆优化的Prim用于处理稠密图不错,但是实际上很少有题目稠密图。所以一般直接上用并查集优化的Kruskal,简洁高效。int find(int x) {return x!=p[x]?p[x]=find(p[x]):x;}struct edge{ int u,v,c;}Edge[10001]...
阅读全文
摘要:要说最短路,先来说说最长路,理解了最长路问题之后,才能透彻理解最短路的几个算法。最大化问题在线性结构、树型结构里面可以轻松构造无后效性的最优子结构解决,但是在图结构里面就很麻烦,原因是顺着一个点推下去之后,图结构中还存在另一个点亦可到达此点,可能推翻前面存的结果。所以要对整个图进行Relax。最短路...
阅读全文
摘要:1. 最大流问题。实现t点流量最大。这是网络流的基本问题。通常三种方法,EK,Dinic,ISAP。EK最好拍,但是每次找增广路都要BFS一次实在伤不 起,Dinic加上各种神神优化才赶得上没优化的ISAP,弃之。ISAP难拍难理解,但是花点时间理解一下就好了,主要是当前弧优化和GAP优化比较难 理...
阅读全文
摘要:1. 啥是二分图?严格点,就是把给出的N种可能配对关系拆成两边,假设是左、右俩边的话,如果一点无论怎么分,既得在左边,又得在右边,那么这就不是二分图了。 我们常见的题目通常是给出俩类不同的东西配对,比如男女配对(男1~N,女1~N),这样绝对不会出现男男配对这种情况,所以不需要检查是否构成二分图。 ...
阅读全文