![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 68
IDSY QAQ
日常三问:我被机残了吗?我密码被盗了吗?我的号还在吗?
展开
-
「雅礼集训 2018 Day7」A 证明
& = \And^ = \oplus$\forall $ = \forall$\therefore $ = \therefore1.结论区间 [1,n][1, n][1,n] 的元素为 a1,a2,a3...ana_1, a_2, a_3 ... a_na1,a2,a3...an令 t1=a1&a2&a3&...&ant_1 = a_1 \And a_2 \And a_3 \And ... \And a_nt1=a1&a2&a原创 2021-06-19 08:06:44 · 223 阅读 · 0 评论 -
圆桌骑士题解
圆桌骑士前言怎么每篇博客都有这个还没完全弄懂,图论的证明好♂难啊,俗(wo˘w\breve{o}wo˘)话说的好:图论代码百余行,证明上万行。题解部分(1)实现部分为什么把实现部分放在前面呢,因为估计没人看证明0.建图,将所有骑士抽象成点,再将每对不互相怨恨的骑士连上一条无向边 ①:题目的理解:找到所有不在任何一个奇环上的点。1.得到每个极大点连通分量2.判断这个极大点双联通分量是不是二分图。 ①:若是二分图,则不存在奇环,所以这个极大点双联通分量中没有一个满足要求 ②:若不是二原创 2021-04-13 17:21:23 · 222 阅读 · 0 评论 -
矩阵游戏
前言我太菜了。。不得不看 TJTJTJ ,由于自己的 SB 誓言,我又来写 TJTJTJ 了。蓝题我都要看 TJ, 我好菜啊,提前 AFO 吧题解题面我们可以研究一个样例.in131 0 00 1 11 0 0.outNo我们做出这个操作,当 a[i][j]=1a[i][j] = 1a[i][j]=1 时,在二元组边集 EEE 中加入一个元素 (i,j)(i, j)(i,j),如图。注:左边的表示行,右边的表示列。若交换行引理一:行的交换不会改变最大匹配数若我们此时原创 2021-03-13 13:50:38 · 198 阅读 · 0 评论 -
棋盘上的守卫
一.前言这个题好 喵 妙啊,不写标签我是真没想到。。。二.题面棋盘上的守卫三.题解部分我们思考一个问题,选择一个点 a[i][j]a[i][j]a[i][j],TaTaTa 能为我们带来什么呢???这里定义一个阶段的概念:阶段iii 表示横向或纵向前i−1i - 1i−1 (列/行)已经安排好守卫,开始放置第iii (列/行)。在 (i,j)(i,j)(i,j) 这个点上我们可以放置两种守卫,第一种是横向守卫,第二种是竖向守卫,所以 TaTaTa 们之间只能选择一种,可以抽象成一条边,链接的是原创 2021-03-12 19:02:18 · 192 阅读 · 0 评论 -
学习笔记:有向图的强连通分量(持续更新中)
1. stackstackstack 中元素的含义:能走到 uuu 的节点编号 (未知正确性)原创 2021-02-18 14:11:04 · 103 阅读 · 0 评论 -
「泉州一中基地赛20180519」第四题题解 (代码注释有时间再补)
1.题目2.分析①操作一应该做的操作我们可以知道,树上两点的路径 (路径上的点的集合记作l)(路径上的点的集合记作l)(路径上的点的集合记作l) 是确定的,所以任意两个被标记的点之间的路径上的点 (记作x)(记作x)(记作x) 的 f(x)f(x)f(x),满足下面的等式f(i)=f(j)(i∈l)f(i) = f(j) (i \in l)f(i)=f(j)(i∈l)解释:这个等式相当于从iii走到jjj后再前往任意一个被标记的点(但不走回头路)所以我们可以在 lll 集合选一个标兵(并查集的树原创 2020-11-05 22:52:57 · 1171 阅读 · 6 评论 -
假日住宿题解
1.题面2.前言太妙了啊太妙了3.分析大体思路:枚举每一条边,每一条边都对应着两个点 (u,v)(u, v)(u,v) ,从这条边断开后,将出现以 uuu , vvv 为根节点的两颗树,我们就将这条边最大化利用,就是将在左子树的人尽可能多的移动到右子树去(这样一定会经过 edge(u,v)edge(u, v)edge(u,v) ),右子树同理,由于每个城市只能由一个人,所以在两颗树上的人交换过去的数量为两棵子树节点数量的最小值。ATTENTION :为什么这样做不会出现一个人多次走一条边的情况呢?原创 2020-10-04 14:17:49 · 268 阅读 · 0 评论 -
情报机器人(robot) + 三分小结
题面思路很容易想到思路,算出每两个机器人之间的"相遇时间"(即何时记录信号),再用最小生成树(kruskal)算出答案。难点:如何算出每两个机器人之间的“相遇时间”?考场上我脑子一抽,就想枚举(略加亿点小技巧)每两个机器人之间的相对运动关系,可是打了30多种情况后就放弃了(共有64种可能,而且打的还不一定是对的),于是打了一个暴力枚举t就跑了 (结果只有8分) , 可是我就没有思考t和两个机器人的距离的关系。建立一个直角坐标系,以t为x轴,以两机器人之间的距离为y轴,函数图像成一个单峰函数。 (易原创 2020-09-21 21:28:38 · 350 阅读 · 0 评论 -
Sightseeing Trip(又双叒被大佬们踩爆了)
前言。。。我好蒻啊,当我做出时又是十几位大佬做出来了。题目分析(后文中的dis[i][j]表示i到j的最短路,w[i][j]表示i->j的边权)怎么构出一个环呢???1.我们很容易就能想到一个做法:answer = min(dis[i][j] + w[j][i]), i != j可是我们很快就会发现一个事情:而这种做法并不能保证有三个点,可能会出现下面的路线1 -> 2 -> 1那我们就将经过了1条路的最短路(w[i][j])保存一份,将经过了不止1条路的最短路也原创 2020-08-02 15:21:33 · 247 阅读 · 3 评论