上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页
摘要: 题意 : 给出一颗无限层的满二叉树,然后每个值为 X (根的 X 等于 1 ) 左孩子的值是 2*X,右孩子的值是 2*X+1 ,现在有两种操作,(1, x,k) 表示将 x 所在层的所有节点整体向右循环地移动 k 个单位、(2,x,k)表示将 x 所在的层的所有节点及其子树向右循环地移动 k 个单 阅读全文
posted @ 2018-04-17 21:42 qwerity 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题意 : 给出一个序列,然后每次将重复出现的元素进行求和合并(若有多个,则优先取最小的进行合并),若某重复元素有很多,那么取最左边的那两个进行合并且合并后元素位于原来右边元素的位置,例如 3 2 6 2 2 这里 2 是重复元素,取最左边的两个 2 进行一次求和合并,合并后将变成 4 ,且这个 4 阅读全文
posted @ 2018-04-16 12:28 qwerity 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 : 给出 N 个点(最多 1e6 )和 M 条边 (最多 N + 20 条 )要你输出一条从 1 开始回到 1 的哈密顿回路路径,不存在则输出 " There is no route, Karl! " 分析 : 题意很简单明了 众所周知,哈密顿回路是个 NP-Hard 问题 这么多个 阅读全文
posted @ 2018-04-13 11:00 qwerity 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 混合图 : 同时包含有有向边以及无向边的图 求解混合图的欧拉路径/回路问题需要先了解 有向or无向图的欧拉回路/路径问题 ==> Click here 图论最大流算法 ==> Click here (误) 好了!接下来就是混合图欧拉回路/路径的算法讲解了 好吧,其实我并不会讲,但是找到了一个很详细且 阅读全文
posted @ 2018-04-10 22:22 qwerity 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 题意 : 给出若干个边,每条边按照给出的顺序编号,问你找到一条最长的边权以及边的编号同时严格升序的一条路径,要使得这条路径包含的边尽可能多,最后输出边的条数 分析 : 这题和 LIS 很相似,不同的是加多了一个需要边和边相连这一条件 考虑使用树状数组求 LIS 的方法来考虑这题 如果你还不知道 LI 阅读全文
posted @ 2018-04-10 15:33 qwerity 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 欧拉路径(瞎)定义 : 如果有一条路径使得能够走完所有的边且每一条边经过有且只有一次,这样的路径叫做欧拉路径 欧拉回路定义 : 如果有从起点出发最后回到起点的一条路径使得能够走完所有的边且每条边经过有且只有一次,称其为欧拉回路 根据定义,欧拉回路是欧拉路径的一个子集,存在欧拉回路定存欧拉路径,反之则 阅读全文
posted @ 2018-04-08 20:21 qwerity 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Floyd 可以求解图上的最小环 这里需要注意的是无向图和有向图的求法是不一样的 有向图 : 正常跑一遍 Floyd 再遍历所有的 dp[i][i] 即自身到自身的距离,便是所求的最小环 #include<bits/stdc++.h> using namespace std; const int m 阅读全文
posted @ 2018-04-05 18:49 qwerity 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目链接 分析 : 就是一个 0/1 背包,但是需要记录具体状态的转移情况 这个可以想象成一个状态转移图,然后实际就是记录路径 将状态看成点然后转移看成边,最后输出字典序最小的路径 这里有一个很巧妙的做法 先将所有的硬币升序排序(这一点很重要) 然后在这一条件下,假设当前状态是考虑第 i 个硬币,前 阅读全文
posted @ 2018-03-20 19:49 qwerity 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 不严格说明什么是二分图 ==> 能将图的顶点分为两个集合、同一集合中的顶点没有边相连 匹配 ==> 在图G中两两没有公共端点的边集合M ⊆ 边集合E 除了匹配顺便说一些其他的术语 边覆盖 ==> 在图G中任意顶点都至少是F中某条边的端点的边集合F ⊆ E 独立集 ==> 在G中两两互不相连的顶点集合 阅读全文
posted @ 2018-03-17 22:30 qwerity 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意 : 给出两个操作,① 往一个序列集合(初始为空)里面不降序地添加数字、② 找出当前序列集合的一个子集使得 (子集的最大元素) - (子集的平均数) 最大并且输出这个最大差值 分析 : 首先关注到 ① 操作是有序地添加数 然后为了回答 ② 的问询,来分析一波 直觉告诉我们,要最大化差值,选取的子 阅读全文
posted @ 2018-03-13 18:28 qwerity 阅读(191) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页