上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 132 下一页
摘要: 经过多次试验,我发现虚函数应该是这个意思 对于任何一个类,无论是不是虚函数,所绑定的函数都是这个类里面的函数(这个叫做“隐藏”),比如下面的代码 class A { public: void f() { cout<<1<<endl; } void g() { cout<<2<<endl; } vir 阅读全文
posted @ 2024-06-27 11:56 最爱丁珰 阅读(26) 评论(0) 推荐(0)
摘要: 这里要提醒一点,如果用刷表法,是不要用类似“最长公共上升子序列”这道题目的优化方法的,因为我们求的不是从当前状态到下一阶段的最优的状态,而是要用当前状态去更新下一阶段的所有状态,所以必须枚举下一行选择的左/右端位置所在的列,而不是用上面提到的方法优化到\(O(N^6)\) 阅读全文
posted @ 2024-06-25 16:08 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: 将这个凸多边形编号,如下 对于任意一种划分,边\((1,n)\)一定属于且只属于一个三角形,考虑这个三角形的另一个顶点为\(k\),于是有递推公式: \[f_n=\sum_{i=2}^{n-1}f_i\times f_{n-i+1} \]可知为卡特兰数 阅读全文
posted @ 2024-06-18 12:55 最爱丁珰 阅读(51) 评论(0) 推荐(0)
摘要: 以下考虑完备匹配的必须边(非完备匹配要用到网络流) 给定一张二分图,其最大匹配方案不一定是唯一的。若任何一个最大匹配方案的匹配边都包括\((x,y)\),则称\((x,y)\)为二分图匹配的必须边 以下证明假设我们已经求出了一个最大匹配 在完备匹配时,一条边\((x,y)\)是必须边,当且仅当满足以 阅读全文
posted @ 2024-05-31 23:43 最爱丁珰 阅读(20) 评论(0) 推荐(0)
摘要: 这一道题目蓝书上说的有错,不应该用等价这个词 实际上,原图中任意一种连边方案(无论是否相交)与二分图的一个完备匹配构成双射 而由于我们只用求一种方案,又证明了二分图的带权最小匹配一定是不相交的,所以可以这么求 那数据保证有解的意思是什么?原图一定是二分图,也就一定有带权最小匹配啊,为什么数据要保证有 阅读全文
posted @ 2024-05-31 21:12 最爱丁珰 阅读(18) 评论(0) 推荐(0)
摘要: 假设我们当前循环到了\(i\),\(1\) ~ \(i-1\)都找到了匹配,而\(i\)没有找到匹配,我们要一直找\(\delta\)扩充交错树直到\(i\)找到了交错路我们才继续考虑\(i+1\)。设\(T\)为\(A_i+\delta,B_i-\delta\)之前的交错树,\(T^{'}\)为\ 阅读全文
posted @ 2024-05-31 20:17 最爱丁珰 阅读(33) 评论(0) 推荐(0)
摘要: 这道题目最需要关注的就是当我们考虑序列二分的时候,我们就要考虑是否可以双指针 阅读全文
posted @ 2024-05-30 23:38 最爱丁珰 阅读(13) 评论(0) 推荐(0)
摘要: 解释一下具体方案的选择 我们来思考一下如果给了我们最终方案,我们应该如何选择。产生矛盾当且仅当放在同一水平线的对应的两个点同时选择。也就是说我们的方案对于每对放在同一水平线上对应的两个点应该是选择且之选择一个 那么来看蓝书怎么搞的 首先是第一种方法。如果我们按照拓扑正序去做,有可能会导致我们同时选择 阅读全文
posted @ 2024-05-30 18:26 最爱丁珰 阅读(19) 评论(0) 推荐(0)
摘要: 蓝书的操作是强制一个变量的取值,可以记住,这里主要讲一下最后的图到底长成什么样子 显然可以将图分成左右两部,而且可能存在连接两部的边;左右两部的边的方向刚好相反,如下 这其实也不难理解,如果说存在\((i,j)\),那么当然存在\((\text{opp}[j],\text{opp}[i])\);而\ 阅读全文
posted @ 2024-05-30 18:14 最爱丁珰 阅读(30) 评论(0) 推荐(0)
摘要: 先来讲一下无向图的欧拉图 像蓝书那个代码跑,由于每个点都有偶度,所以第一次跑到某个点不能再跑的时候(也就是即将回溯的时候),这个点一定是起点,于是就形成了一个环(尽管这个环上面可能有多个重复的点),然后代码就开始回溯,回溯到一个点\(x\)的时候,会扫描这个点剩下的边,如果有边没走,会走这条边,而且 阅读全文
posted @ 2024-05-28 20:46 最爱丁珰 阅读(33) 评论(0) 推荐(0)
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 132 下一页