随笔分类 -  图论

摘要:一看就知道 可以LCA判断做 也可以树链剖分拿头暴力 然而快速读入和线段树维护区间会T70 于是只能LCA? 线段树的常数不小 于是需要另外一种办法来进行区间加减和查询区间和 就是使用树状数组 这个题的代码 其中的树状数组 拿两个数组来分别维护 具体代码 树状数组天下无敌TAT 于是又上网学习了新姿 阅读全文
posted @ 2017-07-29 12:30 天翎月 阅读(146) 评论(0) 推荐(0)
摘要:B 选取很多数让和是一个奇数并且尽可能的大 于是选多个正偶数 选一个最大的奇数 剩下的奇数sort之后从大向小成对的选和是正数的 C 给一个栈做中转让完全转移一个串 使它的字典序最小 可以想到肯定是先选a..z 所以依次直接提取这个串的a...z 两个a中间的字母全部无脑压站 每次枚举到一个当前的最 阅读全文
posted @ 2017-05-17 00:30 天翎月 阅读(128) 评论(0) 推荐(0)
摘要:过去做的都是二分图匹配 即 同一个集合里的点 互相不联通 但是如果延伸到一般图上去 求一个一般图的最大匹配 就要用带花树来解决 带花树模板 用来处理一个无向图上的最大匹配 看了一会还是不懂 抄了一遍kuangbin的模板熟悉了一下 还有一个一般图最大权匹配 保存下来了VFK菊苣的模板题代码当作板子  阅读全文
posted @ 2017-01-10 18:14 天翎月 阅读(191) 评论(0) 推荐(0)
摘要:二分图最大权匹配有km算法和网络流算法 km算法模板默认解决最大权匹配的问题 而使用最小费用最大流 是解决最小权匹配问题 这两种办法都可以求最大最小权 需要两次取反 TAT 感觉讲km会很难的样子... P hdu2255 km的模板题 Q hdu3488 是一个要求将所有的点连为一些环 并且边权的 阅读全文
posted @ 2017-01-09 17:50 天翎月 阅读(193) 评论(0) 推荐(0)
摘要:二分图的多重匹配问题不同于普通的最大匹配中的“每个点只能有最多一条边” 而是“每个点连接的边数不超过自己的限定数量” 最大匹配所解决的问题一般是“每个人都有一群想加入的团体 并且一个团体只能收一个人 问有多少人可以加入一个自己喜欢的团体” 而多重匹配是 “每个人都有一群想加入的团体 每个团体可以收给 阅读全文
posted @ 2017-01-08 23:29 天翎月 阅读(211) 评论(0) 推荐(0)
摘要:刚回到家 开了二分匹配专题 手握xyl模板 奋力写写写 终于写完了一群模板题 A hdu1045 对这个图进行 行列的重写 给每个位置赋予新的行列 使不能相互打到的位置 拥有不同的行与列 然后左行右列 边是新的坐标 求最大匹配 B hdu2444 double room的意思 不是两个房间 是双人间 阅读全文
posted @ 2017-01-07 22:31 天翎月 阅读(242) 评论(0) 推荐(0)
摘要:因为很久没有个人认真做题了 昨天晚上开了场虚拟cf来锻炼个人手速 选的是第一次做cf的场 那时候7出3还被hack...之后也没补题 这次做的时候顺便回忆了一下以前比赛的时候是怎么想的 发现经验还是很重要的.. E 给出n个城市和m条双向边 把所有的双向边都变成单向的 如果一个城市的入度为0 那它就 阅读全文
posted @ 2016-10-13 19:31 天翎月 阅读(180) 评论(0) 推荐(0)
摘要:题意 给出一个图 给出a点到每个点的路径 最后经过的除这个点本身以外的点 现在把a点改为b点 让求出按上面那种方式 把除b之外的点对应的点列出 ...算了我描述题意得能力好差...这个锅还是给出题的吧 宝宝不背 这时候就应该用到涛哥教我的循环找父节点神术 对 就是这个名字 因为说了 首都到每个点的路 阅读全文
posted @ 2016-03-18 00:08 天翎月 阅读(168) 评论(0) 推荐(0)
摘要:很无聊的背景故事...求最短的时间原来就是省去了检查员最后上山的时间...还让不让人回家了... 感觉这是个最短路 思想是求出来dis 然后求里面最大的那条边 用总长减去最长边 就是答案 写了一个小时...dij用的还是有些不熟练 还出现了初始化dis[0]==1这种卖萌的行为 最后千辛万苦debu 阅读全文
posted @ 2016-03-06 20:42 天翎月 阅读(229) 评论(0) 推荐(0)
摘要:这个题和小希的迷宫很相似但是差一些 有向图和无向图 因为如果是一棵树 根只能有一个 因为是有向图 根肯定是最上面的 它的入度是0 这样的点只能有一个 不能有环 #include<stdio.h> #include<string.h> #include<algorithm> #include<map> 阅读全文
posted @ 2016-02-15 02:10 天翎月 阅读(160) 评论(0) 推荐(0)
摘要:如果要输出yes 需要满足 1 这个图连通 2 没有回路 3 0 0 也是yes 看它有没有回路 在un的时候做一次判断就可以了 然后是判断连通 在这里采用的方法是扫一遍 如果这个点出现过就判断(用vis看是否出现) 然后如果它作为根节点 最后根节点只能是一个 和上次做欧拉用的判断连通办法不一样 上 阅读全文
posted @ 2016-02-15 00:14 天翎月 阅读(143) 评论(0) 推荐(0)
摘要:---恢复内容开始--- 把它看成是一个图 只是需要欧拉路径就可以了 首尾能连成一条线即可 如果要判断这个图是否连通 得用并查集 在hrbust oj里面看答案学到的方法 不用各种for循环套着判断能否循环 只需要在union的时候做做调整 让比较大的父亲节点的父亲节点等于小的父亲节点 向1靠拢就可 阅读全文
posted @ 2016-02-14 01:42 天翎月 阅读(237) 评论(0) 推荐(0)