bzoj5152 [Wc2018]通道】的更多相关文章

题目链接 正解:不会做. 写一个爬山算法就过官方数据了(逃 具体来说就是每次随机一个根,然后迭代找最长路的那个点. 多随机几次取$max$就行了.正解以后再补.. #include <bits/stdc++.h> #define il inline #define RG register #define ll long long #define N (100005) using namespace std; int pos[N],vis[N],q[N],n; ll dis[][N],ans;…
题目链接: [WC2018]通道 题目大意:给出三棵n个节点结构不同的树,边有边权,要求找出一个点对(a,b)使三棵树上这两点的路径权值和最大,一条路径权值为路径上所有边的边权和. 我们按照部分分逐个分析有1.2.3棵树时的做法. 首先说一个结论,在下面讲解中能应用到: 对于一棵树T1的直径两端点为u,v,对于另一棵树T2的直径两端点为x,y,如果将两棵树合并(即将两棵树中的各一个点连边)那么新树的直径的两端点一定是u,v,x,y中的两个. 证明见树的直径及其性质与证明. 一.一棵树 这个很好做…
\([WC2018]\)通道(虚树,边分练习) 感受码题的快感 这段时间真的是忙忙忙忙忙,省选之前还是露个脸,免得以后没机会了. 但是我感觉我的博客真的没啥人看,虽然我挺想要有人看的,但是自己真的没啥时间写优质博客,而且最主要的是我做的题大佬们都做过. 现在这样还不如转肯竞... 不管怎样,\(mona\),在努力点吧,拜托了. 拜托了. 进入正题:思路讲解 这题还是很有意思的. 题目大概是给你三棵树,你需要找到一个点对使得他们在三棵树上的路径长度加起来要最大. 重新理一下思路. 像这样的题,给…
题目描述 http://uoj.ac/problem/347 题解 解法1 求三棵树的直径,看起来非常不可做,但是所有边权都是正的,可以让我们想到爬山. 所以我们可以按照BFS求树的直径的方法,随机一个点作为起点,然后BFS一遍,找到在这三棵树的意义下最远的那个点,然后继续爬山. 因为这样做没啥正确性,所以再卡一下时间就好了. 代码 #include<iostream> #include<cstdio> #include<cstring> #include<cst…
传送门 毒瘤数据结构题qwq 设三棵树分别为$T1,T2,T3$ 先将$T1$边分治,具体步骤如下: ①多叉树->二叉树,具体操作是对于每一个父亲,建立与儿子个数相同的虚点,将父亲与这些虚点穿成一条链(父亲在链顶),在虚点的另一边接上儿子,之前父亲到儿子的边权移动到虚点到这个儿子的边上.代码长下面这样 void rebuild(int x , int f){ int pre = ++cntNode , p = x;//pre是当前虚点的编号 for(int i = Thead[x] ; i ;…
题面 传送门 题解 代码不就百来行么也不算很长丫 虽然这题随机化贪心就可以过而且速度和正解差不多不过我们还是要好好学正解 前置芝士 边分治 米娜应该都知道点分治是个什么东西,而边分治,顾名思义就是对边进行分治,即每次选出一条"子树中点的个数的最大值最小"的边,处理所有经过这条边的路径的贡献,然后割掉这条边之后对子树递归下去就好了 然而出题人给你一个菊花图就能把你卡得不要不要的 我们发现上述策略在一个二叉树上是最优的,因为割掉边之后左右子树大小都会变为原来的一半 于是这里就需要多叉树转二…
[洛谷题面]https://www.luogu.org/problemnew/show/P4221 这个题以及[CTSC2018 暴力写挂]都有类似的乱搞做法能通过考场数据. 具体搞法就是随一个起点,找一个离他最远(按题目要求计算的贡献最大)的点,让后再令 \(now=mxpoint\) 不断迭代上述过程. 然后整个上述过程最好也要不断重复进行,直到卡满时限为止就好. 多调随机种子就好. #include<cstdio> #include<vector> #include<a…
Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. 偶尔也会打一些比赛找找手感(比如HHHOJ的比赛,Luogu比赛,以及comet OJ上之前的CCPC题) CF和CC看情况,主要是我真的不太喜欢读英文题的恐怖感觉233 希望这段时间的努力可以让我不跪省选吧 2-26 早上晨跑完了就和杨浩讲了停课的事,不出意外地很轻松就通过了. 然后回班拿了点东…
WC 2018 题解 一些感受.jpg 题目难度相较前些年会相对简单一点?(FAKE.jpg 平均码量符合WC风格?(甚至更多一点 出题人良心! [WC2018] 通道 一个不知道对不对的$\log ^3$大常数解法:对于第一棵树边分治,第二颗树建虚树然后边分治,最后一颗树再建虚树DP 显然我是不可能写的,这辈子都不可能写的. 那么显然,我们还是要分析性质的! 我们想到把第一个树的点权第二个树的点权附到第三棵树上,然后做直径就完事了. 对于边权非负,贪心解决树的直径是对的,所有链接两个树之后的直…
仙人掌&圆方树 Tags:图论 [x] [luogu4320]道路相遇 https://www.luogu.org/problemnew/show/P4320 [ ] [SDOI2018]战略游戏 https://www.luogu.org/problemnew/show/P4606 [x] [APIO2018]铁人两项 https://www.luogu.org/problemnew/show/P4630 [ ] [SHOI2008]仙人掌图 [ ] [BZOJ4316]小C的独立集 [x]…
传送门 看到要求两棵树的 \(lca\) 深度不太好操作 考虑枚举第二棵树的 \(lca\),这样剩下的都是只和第一棵树有关的 而注意到 \(dis(x,y)=d(x)+d(y)-2d(lca(x,y))\) 那么 \(d(x)+d(y)-d(lca(x,y))=\frac{1}{2}(dis(x,y)+d(x)+d(y))\) 这样就好多了,可以直接沿用WC2018通道的做法 对于第一棵树进行边分治,把两边的集合合起来在第二棵树上建个虚树 然后在虚树上枚举 \(lca\),\(dp\) 统计不…
原文链接www.cnblogs.com/zhouzhendong/p/UOJ397.com 前言 这真可做吗?只能贺题解啊-- 题解 我们称一条路径的 LCA 为这条路径两端点的 LCA. 我们将相交的路径分成两种: 两条路径的 LCA 相同. 两条路径的 LCA 不同. 设路径 \(1\) 的两端点为 \(x_1,y_1\),LCA 为 \(lca_1\) ,消耗为 \(v_1\) . 设路径 \(2\) 的两端点为 \(x_2,y_2\),LCA 为 \(lca_2\) ,消耗为 \(v_2…
原文链接 www.cnblogs.com/zhouzhendong/p/UOJ400.html 前言 老年选手没有码力. 题解 先对第一棵树进行边分治,然后,设点 x 到分治中心的距离为 $D[x]$,点 x 在原树上的深度为 $d[x]$,那么 $$d[x]+d[y] - d[LCA(x,y)] - d'[LCA(x,y)] = \frac 12(D[x] + d[x]) + \frac 12 (D[y] + d[y]) - d'[LCA(x,y)]$$ 于是我们考虑将分治区域内的节点在第二棵…
[WC2018]通道(边分治,虚树,动态规划) 题面 UOJ 洛谷 题解 既然是三棵树,那么显然就是找点什么东西来套个三层. 一棵树怎么做?入门dp. 两棵树?假设在第一棵树中的深度为\(dep\).在第一棵树中枚举\(LCA\),因为两点之间距离可以转化为两点深度和减去两倍\(LCA\)的深度,而已知当前的\(LCA\)是谁了.那么在第二棵树上的每个节点\(u\)下挂一个\(u'\),边权为\(dep[u]\),那么枚举\(LCA\)之后答案就是在当前\(LCA\)的不同子树中的两点\((x\…
目录 @desription@ @solution@ @accepted code@ @details@ @desription@ 11328 年,C 国的科学家们研发了一种高速传送通道,可以在很短的时间内把居民从通道的一端送往另一端,这些通道都是双向的. 美中不足的是,这种传送通道需要进行大量的维护和检修.经过规划,C 国总统决定在 M 城中新建这种通道,在 M 城中,建立了 n 个传送站和 3×(n−1) 条传送通道,这些传送通道被分为 3 组,每一组都包含了 (n−1) 条通道. 当任意一…
没有代码能力... LOJ #2339 Luogu P4220 UOJ #347 题意 给定三棵树$ T1,T2,T3$,求一个点对$ (x,y)$使得$ T1.dist(x,y)+T2.dist(x,y)+T3.dist(x,y)$最大 每棵树的点数为$ 10^5$,时限$ 4s$ $ Solution$ 尝试对$ T1$边分治 设当前分治到边$(L,R)$ 将$ L$及$ L$所在一侧的点染黑,将$ R$及$ R$所在一侧的点染白 问题转化为找到一个点对$ (x,y)$使得满足$ x$为黑点…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ347.html 题意 有三棵树,边有边权. 对于所有点对 (x,y) 求在三棵树上 x 到 y 的距离之和 的最大值. 点数 <=100000 题解 我自闭了. 在此之前,我没写过边分治,只写过一次虚树. 我自闭了. 一棵树怎么做? 树的直径. 两棵树怎么做? 有一个定理:从点集A中的点到点集B中的点的最长路径的两端点一定属于   点集A中最长路两端点和点集B中最长路两端点  构成的集合. 首先,在第一…
题目大意 给你三棵树,点数都是\(n\).求 \[ \max_{i,j}d_1(i,j)+d_2(i,j)+d_3(i,j) \] 其中\(d_k(i,j)\)是在第\(k\)棵数中\(i,j\)两点之间的距离. \(n\leq 100000\) 题解 设\(d(i,j)=d_1(i,j)+d_2(i,j)+d_3(i,j),h_k(i)\)为\(i\)号点在第\(k\)棵树上的深度 一棵树 树形DP. 时间复杂度:\(O(n)\) 两棵树 这是一道集训队自选题. 点分治+动态点分治 设这两个点…
题目:https://loj.ac/problem/2339 两棵树的话,可以用 CTSC2018 暴力写挂的方法,边分治+虚树.O(nlogn). 考虑怎么在这个方法上再加一棵树.发现很难弄. 看了看题解,发现两棵树还有别的做法. 就是要最大化 d1[ x ] + d2[ x ] + d1[ y ] + d2[ y ] - 2*d1[ lca1(x,y) ] - 2*d2[ lca2(x,y) ] ,考虑在第一棵树 T1 上 dfs 地枚举 lca1 ,那么考虑的答案就是 T1 上在当前点 c…
题目:http://uoj.ac/problem/347 https://www.luogu.org/problemnew/show/P4220 先写了暴力分的44分.那个两棵树.其中一棵是编号连续的链.边权都是1的点好像可以线段树合并,但没写. #include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; ll rdn() { ll re…
传送门 就是求两个点 \(a,b\) 使得 \(dis_1(a,b)+dis_2(a,b)+dis_3(a,b)\) 最大 step1 对第一棵树边分治 那么变成 \(d_1(a)+d_1(b)+dis_2(a,b)+dis_3(a,b)\) 最大 并且 \(a,b\) 属于边分开的不同的集合 \(S,T\) 边分治 对于一条边,算经过这条边的路径的答案 点分治不方便的就是同一棵子树的容斥,而边分治不用考虑 直接边分治显然菊花就卡掉了 所以我们要转二叉树 具体来说就是把一个点的儿子建一棵线段树,…
题目 三棵带边权的树,求 \[ dis1(u,v) + dis2(u,v) + dis3(u,v) \] 的最大值 \(1 \le n \le 10^5\) 题解 对\(T_1\)做边分治,把分治边的两边分别染成白色和黑色,设分治边权值为\(W\)距离变成: \[ d1(u) + d1(v) + dis2(u,v) + dis3(u,v) + \ W \] 将分治中心\(dfs\)到的所有点加入\(T2\)做虚树得到\(T2'\),\(dfs\)这颗虚树到\(p\)的时候统计所有\(p\)作为\…
最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案"的问题: /// <summary> /// 发送请求 /// </summary> /// <param name="nvp"></param> /// <returns></returns> private…
  DatagramChannel和SocketChannel都实现定义读写功能,ServerSocketChannel不实现,只负责监听传入的连接,并建立新的SocketChannel,本身不传输数据. Socket通道被实例化时都会创建一个对等的socket,通过此方式创建的socket都会有关联的通道,通过getChannel()获取.   继承于 SelectableChannel,所以socket可以在非阻塞模式下运行:   Readiness Selection:就绪选择,查询通道的…
上篇文章中我们讲到了使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操作. 而为了更好地观察一些图像材料的特征,有时需要对RGB三个颜色通道的分量进行 分割显示和调整 .通过Opencv 的split和merge 方法很方便 达到的目的. 一.分离颜色通道 先讲讲这俩个互为冤家的函数.首先讲进行通道分离的split 函数 <1>split函数详解 将一个多通道数组分离成几个单通道数组.  PS:这里的array按语境译…
转载请标明处: 作者:微微苏荷 本文地址:关于QImage提取单色通道方法(vector) 近日,用QT和mxnet结合做一个图像识别的demo.遇到需要把图片从QImage转为vector单色分离的格式的要求,用来识别时输入. 经实践,找到3种方法,分享给大家:需要注意的是,QImage的存储顺序是 BGRA(opencv也是这样反着的),不是正常口述RGBA. 另:mx_float  == float一. int image_size = width * height * channels;…
基于暗通道优先的单幅图像去雾算法(Matlab/C++) 算法原理:             参见论文:Single Image Haze Removal Using Dark Channel Prior  [1]        ① 暗通道定义      何恺明 通过对大量在户外拍摄的自然景物图片进行统计分析得出一个结论:在绝大多数非天空的局部区域里,某一些像素总会(至少一个颜色通道)具有很低的值.换言之,该区域光强度的最小值是个很小的数(趋于0). 基于上述结论,我们定义暗通道,用公式描述,对…
Socket通道 上文讲述了通道.文件通道,这篇文章来讲述一下Socket通道,Socket通道与文件通道有着不一样的特征,分三点说: 1.NIO的Socket通道类可以运行于非阻塞模式并且是可选择的,这两个性能可以激活大程序(如网络服务器和中间件组件)巨大的可伸缩性和灵活性,因此,再也没有为每个Socket连接使用一个线程的必要了.这一特性避免了管理大量线程所需的上下文交换总开销,借助NIO类,一个或几个线程就可以管理成百上千的活动Socket连接了并且只有很少甚至没有性能损失 2.全部Soc…
通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据. 通常情况下,通道与操作系统的文件描述符(FileDescriptor)和文件句柄(FileHandler)有着一对一的关系.虽然通道比文件描述符更广义,但开发者经常使用到的多数通道都是连接到开放的文件描述符的.Channel类…
本文原创,转载需标明原处. 通道,主要负责传输数据,相当于流,但流只能是输入或输出类型中的其一,而通道则可以兼并二者. 通道的基类是:Channel boolean isOpen() void close() 通道有同步方式和异步方式. 同步方式:亲力亲为,不交给他人来做. 异步方式:需要等待的事情,交给他人来做.做完之后,可以自己接着做,也可以由他人继续接着做. 通道有阻塞方式与非阻塞方式. 阻塞方式:在做这件事时,可能需要等待,也可能不需要等待. 非阻塞方式:在做这件事之前,确保不需要等待.…