Processing math: 100%

10 2020 档案

摘要:P1361 小M的作物 建图好题。 思路: 看得出来还是经典的两者取一模型,也就是找出一种割边方式,将点划分为两个集合,且割边花费最小。但是给出的是收益而非费用,怎么办呢? 最大收益=总收益-最小损失。 总收益就是把题目给出的种A地种B地的收益以及组合的bonus全部加起来。最小损失就是跑最大流(= 阅读全文
posted @ 2020-10-30 19:55 StreamAzure 阅读(70) 评论(0) 推荐(0) 编辑
摘要:[SHOI2007]善意的投票 思路 把小朋友视为点,“不睡午觉”和“睡午觉”这两种结果作为源点和汇点。 要求冲突数最小,即找出一种割边方式使点划分为两个集合,且割掉的边数最小。 将想“不睡午觉”的小朋友与源点连一条边si,如果割掉了这条边表示这个小朋友与自身意愿冲突;同理,将想“睡午觉”的小 阅读全文
posted @ 2020-10-30 17:38 StreamAzure 阅读(74) 评论(0) 推荐(0) 编辑
摘要:[USACO5.4]奶牛的电信Telecowmunication 思路 最小割模型。但需要注意的是本题要割掉的是点而不是边,直接跑最大流板子是不行的。 为了将删点转化为删边,只需将原图中每个点拆分成入点i和出点i+n,原图中所有指向点i的边都应指向入点i,原图中所有从点i出发的边 阅读全文
posted @ 2020-10-30 15:42 StreamAzure 阅读(91) 评论(0) 推荐(0) 编辑
摘要:ST表 导入 RMQ(Range Mininum/Maxnum Query):即区间最值查询。对于长度为N的数组A,有若干次询问RMQ(i,j)\(\)[i,j]内的最大/最小值。 ST表可以很好地解决此类问题,预处理复杂度O(NlogN),查询O(1)。 预处理 阅读全文
posted @ 2020-10-28 11:18 StreamAzure 阅读(98) 评论(0) 推荐(0) 编辑
摘要:LCA 解法一:Tarjan 【O(n+q)】 流程 初始化fa[i]=i,vis[i]=0. 从树根开始DFS,标记当前搜索中的节点vvis[v] = -1。然后搜索其满足vis[i]=0的所有子节点i。当一个节点v的所有子节点均被搜索过(或无子节点)时,则用并查集的合并操作,令$ 阅读全文
posted @ 2020-10-27 17:11 StreamAzure 阅读(134) 评论(0) 推荐(0) 编辑
摘要:基于CNN的手写数字识别程序 一、数据准备 训练及测试数据采用Tensorflow官方提供的MNIST数据集,具体内容如下表所示: 文件 内容 图片信息 大小为28*28的灰度手写数字图像,数字从0到9 train-images-idx3-ubyte.gz 训练集图片,55000张训练图片,5000 阅读全文
posted @ 2020-10-23 23:56 StreamAzure 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:【模板】2-SAT 问题 通用做法:拆点+Tarjan求强连通分量。将点i拆为ii+n,分别表示i为假以及i为真。注意这个顺序不能搞反,否则求可行解的时候会出错。 连边: 本题中给出的命题为:“xayb”。以“x为真或y为假”为例,连边时作以下考虑 阅读全文
posted @ 2020-10-22 17:55 StreamAzure 阅读(90) 评论(0) 推荐(0) 编辑
摘要:UVA1108 Mining Your Own Business 题意:在一个无向图上选择尽量少的点涂黑,使得删除任意一个点后,每个连通分量里都至少有一个黑点。 分析:对于每一个双连通分量,以割点数量分情况讨论: 0个割点:不能与其他双连通分量的黑点连通,因此至少需要设2个黑点,方案为任选其中两个节 阅读全文
posted @ 2020-10-20 14:48 StreamAzure 阅读(110) 评论(0) 推荐(0) 编辑
摘要:UVA1364 Knights of the Round Table 题意:求无向图G上不在任何一个简单奇环上的点的个数。 分析:首先知道两个定理: 若双连通分量C含奇环,则C上任意一个点都位于奇环上(不一定是同一个奇环)。 若双连通分量C不含奇环,则它一定是个二分图,反之也成立。 阅读全文
posted @ 2020-10-20 11:36 StreamAzure 阅读(146) 评论(0) 推荐(0) 编辑
摘要:P1137 旅行计划 思路:缩点+DAGdp,与模板有所区别的是,本题求的是“以节点i为终点的最长路”。将缩点之后的新图反向建边,即可直接用“以节点i为起点的最长路”的DAGdp。 #define mem(a,n) memset(a,n,sizeof(a)) #define f(i,a,b) 阅读全文
posted @ 2020-10-15 15:06 StreamAzure 阅读(89) 评论(0) 推荐(0) 编辑
摘要:UVA11324 The Largest Clique 思路:强连通分量缩点转化DAG+DAG上的DP 解法一:记忆化搜索 #define mem(a,n) memset(a,n,sizeof(a)) #define f(i,a,b) for(int i=a;i<=b;i++) #define af 阅读全文
posted @ 2020-10-14 18:24 StreamAzure 阅读(80) 评论(0) 推荐(0) 编辑
摘要:预备知识 强连通:对于图(V,E)上的两个顶点u,v,若存在从uv的有向路径,同时也存在从vu的有向路径,(注意有路径即可,也就是允许有中间顶点)则称这两个顶点强连通。 强连通图:若图(V,E)上的任意两个顶点都强连通,则称这个图为强连通图。 强连通分量:有向图的极大 阅读全文
posted @ 2020-10-14 18:20 StreamAzure 阅读(443) 评论(0) 推荐(0) 编辑
摘要:Johnson 全源最短路 特点 可求图上任意两点间的最短路,比Floyd快 支持负权图,且可判断负环 核心流程 创建超级源点0,并以0为起点向图中各结点建边,边权均为0. 以0为起点进行SPFA,求出节点0到各节点i的最短路,记为h[i]。由于SPFA的自身特点,这一步可以同时判断负环。 阅读全文
posted @ 2020-10-09 09:24 StreamAzure 阅读(161) 评论(0) 推荐(0) 编辑
摘要:预备知识 二分图:如果一张无向图(V,E)存在点集A,B,满足|A|,|B|1AB=AB=V,且对于x,yAx,yB(x,y)E,则称这张无向图为二分图,A,B分别为二分图的左部和右部。 图的匹配:对于一张无 阅读全文
posted @ 2020-10-07 18:23 StreamAzure 阅读(1781) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示