图论
wddwjlss
垫底选手
展开
-
bzoj 3143 luogu P3232 HNOI2013 游走(期望+高斯消元)
题意:给定一个nnn个点mmm条边的无向连通图。在该图上进行随机游走,起点为111号顶点,每一步以相等的概率随机选择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数,到达nnn号顶点时游走结束,总分为所有获得的分数之和。对这mmm条边进行编号,使获得的总分的期望值最小。首先我们不难发现要让总分的期望值最小,期望经过次数越多的边的编号越小,所以我们要求的就是所有边的期望经过...原创 2018-06-10 11:05:44 · 177 阅读 · 0 评论 -
树的直径 NOIP 2007 树网的核
题意:求一条直径上的链,要求链长<=s<=s<=s,使所有点到这条链上的距离中的最大值最小。首先我们先求出直径,年轻的时候n3n^3n3求直径也是没谁了qwq首先若直径<=s<=s<=s,我们枚举所有一个在直径上,一个在直径外的点对,他们距离的最小值就是答案。若直径>s>s&原创 2018-10-19 11:01:33 · 145 阅读 · 0 评论 -
最短路+并查集 USACO 安全出行
题意:给你一些点, 他们与节点1的最短路的最后一条边当且仅当对于这个点的最短路不可走, 求每一个点到1的最短距离。原创 2018-09-19 10:22:46 · 222 阅读 · 0 评论 -
随机化乱搞 NOIP 2017 宝藏
题意:一个图,可以选择任意一个点作为起点,向外拓展成一棵树,每次拓展时的花费为边权*起点到该点(均包含)经过的·所有的点的数量,求拓展成一棵树的最小花费。这题可以状压dp,可以搜索,可以模拟退火,但是以上所有的我都不会QAQ这里采用随机化乱搞——randomrandomrandom_shuffle(a+1,a+n+1),shuffle(a+1,a+n+1),shuffle(a+1,a+n+...原创 2018-09-12 20:33:11 · 410 阅读 · 0 评论 -
LCA AHOI 2008 紧急集合
题意:一棵树,边权为111,三个人在三个点,需要三个人到同一个点,选取一个集合点,使三个人到达同一个点所走的路程总和最短,求集合点和最短路程和。假设三个人分别在a,b,ca,b,ca,b,c点,那么集合点一定是lca(a,b),lca(a,c),lca(b,c)lca(a,b),lca(a,c),lca(b,c)lca(a,b),lca(a,c),lca(b,c)中的之一。因为lcalcalc...原创 2018-08-29 20:19:25 · 171 阅读 · 0 评论 -
并查集 HEOI 2016/TJOI 2016 树
题意:一颗根为1的树,有两种操作 1.标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记)2.询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)询问祖先,我们会想到并查集,对于一个被打了标记的点,他的会管辖自己子树内的一些节点,如图: 图中1号,3号节点被标记,而红色的节点和1号节点是1号节点控制的...原创 2018-08-29 16:25:07 · 116 阅读 · 0 评论 -
生成树 SCOI 2012 滑雪与时间胶囊
题意:一个图,每个点有一个高度HiHiH_i,边有边权。从111号点开始,每次从iii走到jjj当且仅当存在一条iii和jjj之间的边,且Hi>=HjHi>=HjH_i>=H_j。当到达任意一个点时,可以000花费回到之前走到的任意一个点。要求满足经过点数最大的前提下使得经过的总距离最小,求最大点数和最短距离。首先是建图:对于读入的每一条边,如果Hi>=HjHi>=Hj...原创 2018-08-29 13:06:48 · 246 阅读 · 0 评论 -
拓扑排序+dp 旅行计划
题意:给出一张图,对于给出每一组边的关系(x,y)(x,y)(x,y),x在yx在yx在y的西边。可以从图上的任意一个点出发,但每次只能往东走,求以1−n1−n1-n为终点的话最多可以走多少个点。首先,我们发现这是一张横向有向图,前面的结果会影响后面的结果,所以考虑拓扑排序。这里设f[i]f[i]f[i]表示以iii为终点的话最多可以走多少个点。f[i]f[i]f[i]的初值均为111,在进行...原创 2018-08-31 22:37:17 · 365 阅读 · 0 评论 -
最短路 玛丽卡
题意:一张图,有一条边无法通过,求1−n1−n1-n最短路的最大值。即求出边权和ansansans,保证无论哪条边无法通过,都能满足有一条从1−n1−n1-n路径边权和小于等于ansansans的最短路。很显然只有无法通过的边在一开始(没有无法通过的边)的图上的最短路上才会对答案产生影响,所以我们先跑一边最短路,然后枚举最短路上的每一条边,将它断掉后再跑最短路,结果就是maxmaxmax{di...原创 2018-08-31 14:57:57 · 111 阅读 · 0 评论 -
二分答案+最短路 通往奥格瑞玛的道路
题意:一个无向图,每个点有一个花费,求在从1−n1−n1-n的边权和<=b<=bspfaspfaspfa,如果nnn不可达或此时的dis[n]>bdis[n]>bdis[n]>b,就输出不可行。对于每一次二分到的最大花费sss,我们跑一次spfaspfaspfa,在跑spfaspfaspfa的时候注意松弛时搜到的点的花费要<=s<=sdis[n]是否<=b...原创 2018-08-31 12:31:32 · 156 阅读 · 0 评论 -
最短路计数 路径统计
题意:给出一个有向图,有重边,求从111号点到nnn号点的最短路长度和数量。去年NOIP的时候连这个都不会,D1T3 30分暴力都没拿到,我还是太弱了。最短路长度跑堆优化dijdijdij就行,而最短路的数量也可以在跑dijdijdij的时候计算出,有以下两种情况:1.如果搜索到的点vvv到起点的距离(dis[v])(dis[v])(dis[v])等于当前点xxx到起点的距离(dis[...原创 2018-08-26 16:24:27 · 1673 阅读 · 0 评论 -
小思维题 图的遍历
题意:给出 nnn 个点, mmm 条边的有向图,对于每个点vv v ,求 A(v)A(v)A(v)表示从点 vvv 出发,能到达的编号最大的点。首先,tarjan+缩点+dp显然是可以的:用tarjan先来缩点,把每个强联通分量中点编号最大的作为这个强联通分量的权值,然后在dfs中进行dp,转移方程是dp[u]=max(dp[u],dp[v]);首先,tarjan+缩点+dp显然是可以的:用...原创 2018-08-26 14:01:54 · 201 阅读 · 0 评论 -
dfs染色 封锁阳光大学
题意:一个无向图,封锁一个点就可以封锁与其相连的所有边,但不能封锁两个相连的点,问封锁所有的边最少要封锁多少个点。做法:循环找每个点,如果这个点没有被访问过就从它开始搜索,因为图可能不连通。对于bfsbfsbfs搜到的点,把该点染成黑或白色,然后让黑色或白色点的数量+1+1+1,如果接下来的点没有被访问过,就将它染成另一种颜色。如果接下来的点的颜色与该点不同,就continuecontinue...原创 2018-08-18 17:55:10 · 193 阅读 · 0 评论 -
CF280C Game on Tree(期望)
题意:给出一颗含n个白点的有根树,每次随机选择一个还没有被染黑的点,将这个点和这个点子树中所有的点染黑,问期望操作多少次后所有点都被染黑。n&amp;amp;lt;=100000。看上去无从下手QwQ 其实实现起来非常简单,但是思维难度很大,作为一个蒟蒻,当然是听别人讲完之后才AC的。我们单独考虑一个节点有多大概率被选到,概率是所有祖先被染的概率加上自己的概率。每一个点的到根的所有点中自己先被选到的概率...原创 2018-06-08 16:06:07 · 252 阅读 · 0 评论 -
BZOJ 3036 luogu P4316 绿豆蛙的归宿
题意:带权DAGDAGDAG,从111号点走到nnn号点,当到达点xxx后有kkk条出边,走这kkk条边的概率均为1k1k\frac{1}{k},求1−n1−n1-n的路径总长度的期望值。我们定义dp[i]dp[i]dp[i]表示从i号点到n号点路径长度的期望值,rd[i]rd[i]rd[i]表示i点的入度数量。 根据期望的定义我们列出转移方程: dp[i]=∑&amp;amp;amp;nbsp;(dp[v]+e...原创 2018-06-08 21:02:01 · 141 阅读 · 0 评论 -
图论 CF547D&QBXT Test Ⅰ T2 Mike and Fish
题意:给出平面上 nnn 个点,你要把每个点染成黑色或白色。要求染完之后,任意一条与坐标轴平行的直线上,黑白点数量差的绝对值小于等于 111。这题QBXT曾经讲过,考试遇到原题依旧挂了QAQ。全网都是二分图欧拉路的做法,在这里介绍一种新的算法,思路来自于无敌的cze,首先是建图,大家都是一个点横纵坐标之间连边,这里考虑一种新的连边方式,我们让同一行之间的两点配对,同一列之间两点配对,如果遇到...原创 2018-10-24 20:45:44 · 231 阅读 · 0 评论