图论
文章平均质量分 72
图论
YB Lin
这个作者很懒,什么都没留下…
展开
-
CF 1635E Cars 二分图 + 拓扑
文章目录题意思路传送门题意给你nnn个点,需要给每个点定向,方向可以向右或者向左,定向之后点会朝选择的方向移动,要求满足mmm个条件,两种不同的条件如下:i,ji,ji,j两个位置定向之后移动不会相遇。i,ji,ji,j两个位置定向之后一定会相遇。如果不能满足输出NONONO,否则输出YESYESYES,并且给出定向之后的点的方向和位置。思路考虑两种情况的方向如何选择,首先他们两个位置一定选择不同的方向,让后根据是否相遇来调整他们的位置。那么根据第一个条件,我们给i,ji,ji,j连无向原创 2022-02-21 20:08:37 · 324 阅读 · 0 评论 -
P3067 [USACO12OPEN]Balanced Cow Subsets G 折半搜索
传送门文章目录目录题意:思路:目录题意:给你nnn个数,从中任意选出一组数,使这些数能分成和相等的两组,问有多少种选数方案。2≤n≤20,1≤ai≤1e92\le n\le 20,1\le a_i\le 1e92≤n≤20,1≤ai≤1e9思路:注意审题,是选出一组能分成两组和相等的即可,也就是说如果是同一组但是分成两个部分的时候有多种方案,那么也算一种。看到nnn很小,不难想到爆搜,但是每个数有三种情况,复杂度3n3^n3n,但是我们可以使用meet in 原创 2022-01-27 11:27:41 · 2101 阅读 · 0 评论 -
Codeforces Round #628 (Div. 2) F. Ehab‘s Last Theorem dfs树
传送门文章目录题意:思路:题意:给你个nnn个点mmm条边的图,可以选择完成以下两个任务中的一个:(1)(1)(1)找出大小恰好为n\sqrt nn的一个独立集。(2)(2)(2)找出一个长度≥n\ge \sqrt n≥n的一个环。n≤1e5,m≤2e5n\le 1e5,m\le 2e5n≤1e5,m≤2e5。思路:我们构造出一颗dfs树,这棵树有一个很重要的性质就是所有非树边链接的两个点都是一个树上的点以及这个点的后代。所以我们可与边建树边找环,可以直接用vectorvectorvec原创 2021-05-19 16:04:02 · 96 阅读 · 0 评论 -
Codeforces Round #742 (Div. 2) F. One-Four Overload 构造 + 二分图染色
传送门文章目录题意:思路:题意:给你一个n∗mn*mn∗m的矩形,包含...和XXX,你有两种颜色,你需要给...染色使得每个XXX上下左右相邻的...其两种颜色个数相同,输出一种合法方案。1≤n,m≤5001\le n,m\le 5001≤n,m≤500思路:考虑XXX周围...的个数的情况。(1)(1)(1) 当有奇数个...的时候,显然不可能有合法解。(2)(2)(2)当有两个...的时候,我们将其连边,变成一个图,显然可以直接二分图染色构造答案。(3)(3)(3)当有四个...的时原创 2021-09-23 22:01:10 · 176 阅读 · 0 评论 -
Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门文章目录题意:思路:题意:你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2,...,b_n][b1,b2,...,bn]代表这个力量组合是不能选择的。问你每个槽选择一个力量之后最大的的力量总和是多少。保证有解。n≤10,1≤ci≤2e5n\le 10,1\le c_i\le 2e5n≤10,1≤ci≤2e5cic_ici总和不超过2e52e52e5思路:可以知道,总共的原创 2021-09-21 08:37:42 · 260 阅读 · 1 评论 -
Codeforces Round #731 (Div. 3) G. How Many Paths? dfs + 拓扑 + 思维
传送门题意:给你一张nnn个点mmm条边的图,让你对每个点确定一个编号,规则如下:(1)(1)(1) 对于不能到的点编号为000。(2)(2)(2) 对于只有一条路径能到这个点的点编号为111。(3)(3)(3) 对于有不止一条路径能到这个点的点编号为222。(4)(4)(4) 对于有无数条路径能到这个点的点编号为333。思路:考虑一次dfsdfsdfs能得到什么东西,我们可以通过一次dfsdfsdfs确定下来不能到达的点,还可以确定只有一条路径的点,但是不能确定所有不止一条路径的点,因为有原创 2021-09-17 10:43:14 · 106 阅读 · 0 评论 -
P6378 [PA2010] Riddle 2-sat + 前缀和优化建图
传送门文章目录题意:思路:题意:给你nnn个点mmm调变的无向图被分成kkk个部分,每个部分包含若干点,请选择一些关键点,使得每个部分恰好有一个关键点,且每条边至少有一个是关键点。1≤k,w≤n≤1e61\le k,w\le n\le 1e61≤k,w≤n≤1e6思路:首先每条边至少一个是关键点,这个是2−sat2-sat2−sat的套路建边了,假设这个边是(a,b)(a,b)(a,b),那么应该a′−>b,b′−>aa'->b,b'->aa′−>b,b′−>原创 2021-09-11 16:45:51 · 561 阅读 · 0 评论 -
Codeforces Round #585 (Div. 2) F. Radio Stations 2-sat + 神仙建模
传送门文章目录题意:思路:题意:你现在有ppp种电台,有nnn对关系(x,y)(x,y)(x,y)代表xxx电台或yyy电台中至少有一个,mmm对关系(x,y)(x,y)(x,y)代表xxx电台或yyy电台中最多有一个,每个电台有两个参数li,ril_i,r_ili,ri,你需要在[1,M][1,M][1,M]中选择一个主频fff,如果f∈[li,ri]f\in [l_i,r_i]f∈[li,ri],那么第iii个电台你可以选择是否启用,否则无法启用。请给出fff并构造电台启用方案,无解输出原创 2021-09-11 14:35:26 · 120 阅读 · 0 评论 -
Codeforces Round #453 (Div. 1) D. Weighting a Tree 构造 + dfs树
传送门文章目录题意:思路:题意:给你一颗nnn个点的图,每个点都有一个点权cic_ici,要求你给每个边赋一个权值kik_iki,要求对于每个点与他相连的边的权值之和等于这个点的点权cic_ici。n≤1e5,n−1≤m≤1e5,−n≤ci≤nn\le1e5,n-1\le m\le 1e5,-n\le c_i\le nn≤1e5,n−1≤m≤1e5,−n≤ci≤n思路:考虑这个图是一棵树的时候,那么我们从叶子开始向上递推一定能推出来每条边的唯一解,检查一下根节点是否合法即可。考虑一般图原创 2021-09-05 19:57:15 · 87 阅读 · 0 评论 -
Gym - 102001K Boomerangs 构造 + 三元环
传送门文章目录题意:思路:题意:给你一张nnn个点mmm条边的简单图,让你找出尽可能多的三元环,要求每个三元环都不能共边,输出三元环数量和具体是那个。n,m≤1e5n,m\le1e5n,m≤1e5思路:其实比较容易想到,我们直接贪心的去选有可能是最优的。按照这个思想,我们考虑dfsdfsdfs,先递归到最深层,让后将与其相连的边两两组合,之后如果有多出来的边就与他的父亲组合,可以知道这样一定是最优的,因为每一层都尽可能的都用了,最多也就有一个边没有被用到。注意图不一定连通。//#pragm原创 2021-08-25 23:56:17 · 243 阅读 · 0 评论 -
#2686. 「BalticOI 2013」雪地足迹 双端队列01bfs + 模型转换
传送门文章目录题意:思路:题意:给你一个n∗mn*mn∗m的图,如果某个位置字符为RRR代表兔子走过,如果为FFF代表狐狸走过,如果...代表谁都没走过,每只动物必须从左上角进来,右下角出去,它可以上下左右随意移动,经过的地方会覆盖之前的脚印,每次只能有一个动物进,问最少几只动物经过了草地。n≤4e3n\le4e3n≤4e3思路:考虑左上角和右下角,他们的脚印一定是一样的,如果图内都是这个动物的脚印,设这个脚印为FFF,显然走一次即可。如果有别的动物的脚印,假设存在一个动物的脚印包主了另一个动物原创 2021-08-23 09:53:21 · 191 阅读 · 0 评论 -
Codeforces Round #245 (Div. 1) E. Points and Segments 欧拉回路 + 建模
传送门文章目录题意:思路:题意:思路:考虑对于线段,如何建模。我们考虑先将线段转换成左闭右开的形式,将左右点连起来。再考虑每个点,将所有离散化后的点拿出来,每个点都有一个度,现在问题就是给每个边定向,让入度和出度之差≤1\le1≤1即可。这就是欧拉回路的经典问题了,将奇度点之间连边即可。// Problem: E. Points and Segments// Contest: Codeforces - Codeforces Round #245 (Div. 1)// URL: http原创 2021-08-22 15:44:29 · 96 阅读 · 0 评论 -
Codeforces Round #305 (Div. 1) D. Mike and Fish 欧拉回路
传送门文章目录题意:思路:题意:思路:欧拉回路经典题。将其转换成图上问题,对于横纵坐标我们将其分开,对于(x,y)(x,y)(x,y)我们将其横纵坐标连一个无向边,现在问题就转换成了我们需要对每条边定向,使得点的入度和出度只差≤1\le1≤1。当然如果有奇度顶点,我们将奇度点之间连接即可,最终输出的时候去掉这些边。注意图可能不连通,需要判断每个点来跑。// Problem: A - Mike and Fish// Contest: Virtual Judge - Camp 2// URL原创 2021-08-22 14:41:14 · 73 阅读 · 0 评论 -
Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
传送门文章目录题意:思路:题意:给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数。n,m≤5e3n,m\le5e3n,m≤5e3思路:经过分析不难发现,我们最多用两种颜色,如果要用两种颜色当且仅当这个图存在环,否则一种颜色即可。我们可以直接跑一个dfsdfsdfs树,让后再上面判环,如果是非树边再看一下是否再dfsdfsdfs树上,在的话就构成环,染成222颜色即可。否则就染为111。还可以直接根据拓扑来判断环,如果有环那么u<v原创 2021-08-21 08:33:31 · 82 阅读 · 0 评论 -
nowcoder 清楚姐姐的翅膀们 F 一般图的最大匹配
哦吼吼,我又来啦。时间过的是如此之快,一周的时间又接近了尾声。这个周与其他周不同的是,这个周有七夕节!七夕节!这是跟宝宝过的第二个七夕了,当然要好好过!这么长时间都没看到宝贝,真的好想宝宝,哭唧唧。所以这注定是一个我期盼已久的七夕~~~接下来就开始了大斐斐和大淋淋的故事了。这天,大斐说,你看,过几天七夕了!大淋惊坐起,定睛一看日历,妙蛙!正好有理由见小宝宝了!可是当他翻起了比赛日历,发现七夕正好跟比赛重了!??怎么七夕还有比赛,这还有王法????。没有办法,大淋只能跟大斐说了这个令人扫兴的原创 2021-08-16 10:05:27 · 145 阅读 · 0 评论 -
HDU - 7031 Power Station of Art 思维 + 二分图模型
传送门文章目录题意:思路:题意:给你两个完全相同的图,现在两个图的每个点上有一个值valvalval并且有一个颜色colcolcol,颜色只能为红色或黑色,注意两个图只是长得一样,点的权值和颜色并不一定相同。现在你可以进行若干次操作,每次操作可以选择一条边两边的两个点,交换其valvalval,如果这两个点的颜色相同,那么颜色取反,即红色变黑色,黑色变红色,否则颜色不变。问你能否经过若干次操作使得两张图每个点对应的值和颜色相同。n≤1e6n\le1e6n≤1e6思路:比较显然的是我们只用操作一原创 2021-08-06 16:47:53 · 412 阅读 · 0 评论 -
HDU - 7028 Decomposition 无向完全图构造欧拉回路
传送门文章目录题意:思路:题意:给你一张无向完全图,让你构造kkk个长度分别为lil_ili的路径,这些路径不相交,且∑li=n∗(n−1)2\sum l_i=\frac{n*(n-1)}{2}∑li=2n∗(n−1)。n≤1000,n mod 2=1n\le1000,n\bmod 2=1n≤1000,nmod2=1思路:看到∑li=n∗(n−1)2\sum l_i=\frac{n*(n-1)}{2}∑li=2n∗(n−1),也就是说把所有边都用了一遍,所以考虑构造一个欧拉回路,让后一原创 2021-08-06 00:51:58 · 1898 阅读 · 0 评论 -
HDU - 6982 J - Road Discount wqs二分 + 模型转换 + 优化
传送门文章目录题意:思路:题意:给你一个nnn个点mmm条边的图,每个边有一个代价以及折扣价,你需要输出nnn行,第iii行代表你可以选i−1i-1i−1条边使其变成优惠价,问每次的最小生成树的代价是多少。n≤1e3,m≤2e5,ci,di≤1e3n\le 1e3,m\le2e5,c_i,d_i\le 1e3n≤1e3,m≤2e5,ci,di≤1e3思路:直接考虑折扣价不是很好想,所以考虑能不能把这些边单独拿出来。下面我们假定原边是白边,折扣边是黑边,那么对于每次要输出的,问题就转换成了选原创 2021-07-28 10:09:28 · 457 阅读 · 0 评论 -
2021牛客暑期多校训练营3 C Minimum grid 网络流 + 二分图匹配
传送门文章目录题意:思路:题意:给你一个n∗nn*nn∗n的矩阵,有mmm个点的位置需要填数,填的数范围是0≤k≤1e60\le k\le1e60≤k≤1e6,需要满足第iii行的最大值是bib_ibi,第iii列的最大值是cic_ici,求一个满足条件的最小代价。最小代价即填的数之和。n≤2e3,m≤8e5,k≤1e6,bi,ci≤kn\le2e3,m\le8e5,k\le1e6,b_i,c_i\le kn≤2e3,m≤8e5,k≤1e6,bi,ci≤k思路:我们从大到小考虑一个kk原创 2021-07-26 02:38:22 · 139 阅读 · 0 评论 -
湖南大学第十六届程序设计竞赛 B Yuki with emofunc and playf 同余最短路
传送门文章目录题意:思路:题意:初始有一个数111,你每次可以将其∗10*10∗10或者+(x−1)+(x-1)+(x−1),现在给你xxx,问最少经过多少步能到达nnn。1≤n≤1e6,1≤m≤1e91\le n\le1e6,1\le m\le1e91≤n≤1e6,1≤m≤1e9思路:同余最短路,定义dis[i]dis[i]dis[i]代表通过两个操作能到的数 mod n\bmod nmodn后为iii的最少操作次数,那么答案就是dis[0]dis[0]dis[0]了,直接扩展就好啦。最后注原创 2021-07-15 20:18:53 · 234 阅读 · 0 评论 -
Codeforces Round #588 (Div. 2) F. Konrad and Company Evaluation 图论 + 建反图 好题
传送门文章目录题意:思路:题意:给你一张nnn个点mmm条边的图,其中每个点iii初始编号为iii,边是有向的,方向为从编号大的指向编号小的。定义一个贡献为存在某三个点a,b,ca,b,ca,b,c有两条边为a−>b,b−>ca->b,b->ca−>b,b−>c,这个时候贡献为111。有qqq个询问,每次给出一个点xxx,代表将xxx的编号变成最大。对于每次询问输出当前图的贡献。思路:首先需要知道如何快速的算出贡献来。通过观察不难发现,bbb作为一个中间点,他的原创 2021-07-13 13:48:54 · 336 阅读 · 0 评论 -
Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid 最小生成树 + 虚拟点
传送门文章目录题意:思路:题意:思路:看错题导致误入歧途,如果能早点看见翻译也不至于一天多也没想出来。求联通的最小代价,自然的想到了能不能建边跑最小生成树。对于两点之间比较好弄,直接n2n^2n2暴力建边即可。对于给每个点建发电站的代价我们可以设置一个虚拟节点,将所有点向其连个边即可。让后跑一个裸的最小生成树,注意数组要开大点以及要开LLLLLL。// Problem: D. Shichikuji and Power Grid// Contest: Codeforces - Codefo原创 2021-06-22 23:54:14 · 102 阅读 · 0 评论 -
Codeforces Round #726 (Div. 2) F. Figure Fixing 二分图 + 思维
传送门文章目录题意:思路题意:给你一张nnn个点mmm条边的图,每个点都有一个当前值aia_iai,目标值bib_ibi,每次可以选择一条边(i,j)(i,j)(i,j),将ai,aja_i,a_jai,aj都加上任意一个数,问最终能否将所有aia_iai都变成目标值。n,m≤2e5n,m\le2e5n,m≤2e5思路我们设ci=bi−aic_i=b_i-a_ici=bi−ai,sum=∑cisum=\sum c_isum=∑ci,那么当sum mod 2=1sum\bmod原创 2021-06-21 16:28:43 · 193 阅读 · 0 评论 -
Codeforces Round #599 (Div. 2) E. Sum Balance 图转换 + 子集dp + 环
传送门文章目录题意:思路:题意:思路:首先我们知道如果所有数的和sum mod k!=0sum\bmod k!=0summodk!=0那么此时无解,否则我们设need=sum/kneed=sum/kneed=sum/k。看到kkk这么小,自然的想到是否能状压,但是状压了有什么用也不知道,所以需要继续分析题目。我们可以将每个盒子都看成一个点,那么拿出来一个再放进去一个完全可以看成一个点入度为111,出度为111,转换成图论,这不就是若干个环嘛!换句话说,我们的一个合法方案就是若干个环,我们先考虑原创 2021-06-18 19:59:38 · 109 阅读 · 0 评论 -
Educational Codeforces Round 76 (Rated for Div. 2) F. Make Them Similar 折半搜索
传送门文章目录题意:思路:题意:思路:一个显然的思路就是2302^{30}230枚举所有的xxx,让后再检查,这个复杂度显然不能接受。又发现对于每个位置它取多少不受其他位置限制,满足可拼接性,所以我们考虑用折半搜索来搜出来前151515位的所有情况,让后再枚举后151515位的所有情况,让后从另一半取出来需要的信息即可。实现还是比较有技巧的,前151515位搜出来的情况可以用mapmapmap存一下,让后后151515位搜出来之后,我们可以枚举它的总长度,让后就可以算出来还需要多少,查询是否在原创 2021-06-14 21:47:51 · 160 阅读 · 0 评论 -
Codeforces Round #636 (Div. 3) E. Weights Distributing 思维 + bfs
传送门文章目录题意:思路:题意:n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5思路:怎么感觉每场div3div3div3都有一个巧妙的图论题。首先如果只有两个点的话,肯定是一次bfsbfsbfs之后取前disdisdis小的www作为边权即可。但是这个有三个点,如果两条路径没有重叠的话,那么答案根据我们上面说的一样,不过跑两次bfsbfsbfs即可。但是路径是有可能重叠的,多画几个图就可发现,重叠的部分一定是从bbb出发到aaa的最短路上的一段,记这一段的终点为d原创 2021-06-08 23:53:55 · 69 阅读 · 0 评论 -
兰州大学第一届 飞马杯 体育课排队 二分 + 最大流 + 输出路径
传送门文章目录题意:思路:题意:思路:读懂题就会辣,经典模型了,二分时间,让后将其转换成二分图,左边是人,右边是位置,能在规定时间到的连边,跑匹配即可。// Problem: ★★体育课排队★★// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/16520/B// Memory Limit: 524288 MB// Time Limit: 8000 ms// // Powered by CP Editor (原创 2021-05-29 21:38:31 · 200 阅读 · 1 评论 -
CF1385E Directing Edges 拓扑序
传送门文章目录题意:思路:题意:给你一个图和若干个边,有些是有向边,有些是无向边,让你给无向边定向,使得最终的图是DAGDAGDAG。思路:题目让构造DAGDAGDAG,比较容易想到拓扑序。首先我们需要知道拓扑图中的点都是从拓扑序小的指向拓扑序大的,所以我们就可以根据这个连边。在原来有向图上做一遍拓扑排序,有环的话直接无解就好啦,否则我们就按照拓扑序小的向拓扑序大的连边,这样一定可以保证是正确的。// Problem: E. Directing Edges// Contest: Codef原创 2021-05-28 09:17:55 · 137 阅读 · 0 评论 -
P6348 [PA2011]Journeys 线段树优化建图 区间连区间
传送门文章目录题意:思路:题意:每次连接[a,b][a,b][a,b]与[c,d][c,d][c,d]之间所有点,让后跑最短路。思路:比普通的优化建图能简单点,我们只需要加两个虚点之间边权为111,让后让某个点连接一个区间,另一个连接另一个区间即可。注意是双向边,所以区间交换一下再连一次就好啦。最后求最短路的时候由于边权只有0,10,10,1所以用01bfs01bfs01bfs即可。注意答案是每行一个,CPeditorCP editorCPeditor用多了,都不会自己看了。复杂度O(nlo原创 2021-05-27 22:05:47 · 189 阅读 · 0 评论 -
CF786B Legacy 线段树优化建图
传送门文章目录题意:思路:题意:实现如下连边后跑最短路。思路:优化建图板子题,优化思路就是将区间分割成若干个线段树上的线段,与线段树分治有点类似,由于有点向区间也有区间向点的边,那么我们需要建两颗线段树,点向区间的树是自顶向下连边,区间向点的是自底向上连边,最后两棵树的最后一层需要与原来的nnn个点连双向(未经说明都是单向边),比如下面这个图(盗用了日报的图)让后我们就按照图来建边就好啦,我这里第一颗编号是[1,4∗n][1,4*n][1,4∗n],第二棵编号是[4∗n+1,8∗n][4*n原创 2021-05-26 23:38:45 · 212 阅读 · 0 评论 -
CF1528C dfs序+set维护
传送门文章目录题意:思路:题意:给你两棵有nnn个节点的树,我门记第一棵为aaa,第二棵为bbb,现在你有一个nnn个点都孤立的点集,两个点u,vu,vu,v可以连边当且仅当这两个点在aaa树中一个是另一个的祖先节点且在bbb树中每个都不是另一个的祖先节点,让你求连完边之后的最大联通块的大小是多少。两棵树都以111为根。n≤3e5n\le 3e5n≤3e5思路:首先我们知道答案选的点一定是aaa树中从根节点到叶子节点的路径上点的一个子集,这启发我们可以从aaa树的根开始向下dfsdfsdfs,原创 2021-05-25 13:19:00 · 393 阅读 · 4 评论 -
Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历
传送门文章目录题意:思路:题意:n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5。思路:这是题是我上个题的一部分,算是个小知识点,暴力能过。直接维护一个setsetset,让后遍历所有点,如果当前这个点没有被遍历,那么就放入队列中,扩展出去,每个点最多入队一次,而且边数不会很多,复杂度大约是(n+m)logn(n+m)logn(n+m)logn// Problem: E. Connected Components?// Contest: Codeforces -原创 2021-05-24 20:15:22 · 139 阅读 · 0 评论 -
Codeforces Round #715 (Div. 1) C. Complete the MST 补图 + 思维 + 最小生成树
传送门文章目录题意:思路题意:给你一张nnn个点mmm个边的图,mmm条边是给定的,要求你给未给定的边赋值一个边权,使得所有边权异或和为000,求所有满足这种情况的图中最小生成树边权和最小的,输出最小生成树的边权和。思路我们先假设多余的边边权都为000,已经有的边的异或和为sumxorsum_{xor}sumxor,加上多余的边跑最小生成树后如果还有多余的边不在生成树中,那么答案显然为当前MSTMSTMST的权值,因为我们可以选一条不在MSTMSTMST中的边让他的权值为sumxorsum_{x原创 2021-05-24 19:57:17 · 207 阅读 · 0 评论 -
Pool construction UVA - 1515 最小割模型
传送门文章目录题意:思路:题意:给你一个n∗mn*mn∗m的矩阵,包含字符#和.,将#变成.的代价是ddd,将.变成#的代价是fff,让后将#和.隔开的代价是bbb,现在让你用最小的代价将#和.隔开,并且矩阵边界必须是#。n,m≤50n,m\le 50n,m≤50思路:看到将两部分分开,自然的想到最小割的概念,所以引入源点和汇点考虑建图。首先是将源点与#连容量为ddd的边,代表将#变成.的代价,割掉说明将#变成了.。将.与汇点连代价是fff的边,意义同上。需要注意的是,在边界上的#需要从汇原创 2021-05-20 08:34:44 · 71 阅读 · 0 评论 -
Matrix Decompressing UVA - 11082 最大流 + 输出方案
传送门文章目录题意:思路:题意:给出前iii行的元素和A[i]A[i]A[i],前jjj列的元素B[j]B[j]B[j],让你构造一个矩阵使得其满足前iii行的元素和是A[i]A[i]A[i],前jjj列的元素和是B[j]B[j]B[j]。r,c≤20r,c\le 20r,c≤20,矩阵中元素1≤x≤201\le x\le 201≤x≤20。思路:首先我们知道了前iii行的元素和以及列的元素和,那么第iii行或列的元素和我们也就知道了。首先猜到这是一个网络流的问题,考虑行和列将其看成一个二分图原创 2021-05-20 08:34:36 · 212 阅读 · 0 评论 -
Educational Codeforces Round 84 (Rated for Div. 2) D. Infinite Path 构建环 + 思维
传送门文章目录题意:思路:题意:懒得写了,直接贴图了。思路:遇事不决画成图,考虑将iii向p[i]p[i]p[i]连一个边,可以发现每个点入度为111,出度为111,所以画出来是若干个环,比如说样例三画出来就是这样的(这里只画了一个环)上图为p1p^1p1的情况,进而可以发现,当ppp的幂次为kkk的时候,就是将每个数与其往下数kkk个数之间连边,比如p2p^2p2的图如下所示:所以我们假设环的长度为lenlenlen,那么可以发现只有len mod k=0len\bmod k=0len原创 2021-05-19 20:51:38 · 103 阅读 · 0 评论 -
Codeforces Round #628 (Div. 2) E. Ehab‘s REAL Number Theory Problem 巧妙的质因子建图
传送门文章目录题意:思路:题意:给你nnn个数,每个数的因子个数不超过777个,选出最少的数使其乘积为平方数。n≤1e5n\le 1e5n≤1e5思路:由于因子不超过777个,所以由约数个数(1+p1)∗(1+p2)∗...∗(1+pn)(1+p_1)*(1+p_2)*...*(1+p_n)(1+p1)∗(1+p2)∗...∗(1+pn)得其质因子个数不超过222个,启发我们用质因子来做这个题。一个显然的性质就是平方数的质因子幂次 mod 2\bmod 2mod2之后这个平方数为111。原创 2021-05-19 11:20:30 · 84 阅读 · 0 评论 -
HDU - 1811 Rank of Tetris 并查集 + 拓扑序 +me
link题意:首先看到排名自然想到拓扑序,但是存在等于的情况,这就启发我们把等于的情况缩成一个点,让后在缩点后的图中进行拓扑即可。对于不合法的情况当然是拓扑序没有遍历到应该遍历的点,所以只需要检查遍历了几个点即可。对于信息不全的情况,那就是对应同一级存在多个点,所以只需要判断队列是否恒为一个元素即可(当然这种说法不严谨)。最后如果用并查集缩点的话,一定要注意判断 i == find(i) ,因为缩完点之后这个点就是这个集合的代表。//#pragma GCC optimize(2)#includ原创 2021-02-04 21:20:17 · 117 阅读 · 0 评论 -
P1989 无向图三元环计数 思维 + 建图
传送门文章目录题意:思路:题意:统计无向图中三元环的个数。思路:很明显有一种暴力的方法,就是枚举每条边,让后再跑两个点的所有边,可以卡到复杂度O(m2)O(m^2)O(m2)。我们可以考虑给点之间建立一个优先级,假设deg(u)<deg(v)deg(u)<deg(v)deg(u)<deg(v),那么说明uuu的优先级高于vvv的优先级,我们就连一个u−>vu->vu−>v的边,将原图转换成新图,由于优先级的存在,所以新图是个DAG图。这样就可以得到一个算法,原创 2021-05-08 09:57:00 · 96 阅读 · 0 评论 -
Codeforces Round #620 (Div. 2) E. 1-Trees and Queries 思维 + LCA
传送门文章目录题意思路:题意思路:照例,先考虑不加边怎么做。由于可以经过重复的边或点,设aaa与bbb之间长度为lenlenlen,那么需要len<=klen<=klen<=k并且还需要(k−len) mod 2==0(k-len) \bmod 2==0(k−len)mod2==0,因为他可以到终点的时候来回走一个偶数长度。那么加上一条边有什么用呢?由于上面是(k−len) mod 2==0(k-len) \bmod 2==0(k−len)mod2==0的时候才符合条件,那么我原创 2021-04-28 15:47:03 · 117 阅读 · 0 评论