随笔分类 - 图论
摘要:之前对树的处理一般是从根节点开始递归处理。今天学习了一种新方法,根据层的深浅处理。即,1、首先得到每个节点的深度 2、然后从最底层开始处理。(貌似是宽搜的逆处理) 题意:给出一个棵树,从根节点向叶节点发信息。如果距离大于k就无法发送信息(节点之间的距离为1)。 为了能够给所有叶节点传送到信息...
阅读全文
摘要:感想:在做题的时候如果能够规划好,按自己的规划写代码bug出现的几率会少很多。 本来以为这道题会消耗我很长时间,结果很快就过了。 题意: 给出一个无向图,现在可以去点两个点想让剩下的图不再连通,问一共有多少种情况。 思路: 我的做法是枚举一个去掉的点, 如果剩下的图分成3部分(或大于三部分), 那么
阅读全文
摘要:题意: 有一个城市的一个机构在n天里需要用车,有c个买车的商店,给出了每个商店车的数量和车的价格(价格是一样的)。 现在给出了每天需要几辆车。 一辆车如果用一天之后就需要维修。一共用r个维修店,每个维修点修一辆车需要di天,需要费用si。现在求满足要求需要的最小花费。 思路: 这道题开始的时候就想到
阅读全文
摘要:题意: 给出一个N*M的矩形格子, 每个格子里边有一个数字,数字的范围在[1,100], 现在给出了两种对角线的和,让求出每个格子中的数字是多少。 思路: 这道题开始想了很长时间都没有思路, 后来一下子就想到了。 这道题是一道求和的问题。可以转化成网络流问题。 但是这里有一个问题就是如何决定节点,
阅读全文
摘要:题意:给出一个无向图, 图中的一些点有mark值, 每条边<u,v>的权值为mark[u]^mark[v], 现在给出了一些点的mark值,现在想让你求出其他点的mark值让边权和最小。 点的个数100, 边的的个数为3000 思路: 对于mark值不同位的值是不影响的,所以可以一位一位的处理。对于
阅读全文
摘要:题意: 给出了处于第i层的树的每个子树中的一个叶子节点。现在想遍历这棵树,前提是标号小的的要尽可能放在前方。 思路: 这道题就是直接把图书建出来, 用vector存边,这样的话容易排序, 然后搜索一边就行了。 AC代码:
阅读全文
摘要:转载请注明出处:http://www.cnblogs.com/gufeiyang 个人微博:flysea_gu题意:给出一个无向图, 求这个无向图的最大密度子图。 就是选择一个子图,使边的数目比上点的数目最大,并且输出方案。思路: 这道题真心不会。 可以确定的是一道01规划的问题。我们依旧是二...
阅读全文
摘要:题意:再有n天就考试了, 如果不复习的话那么每门科目只能得到一点基础的分, 现在每天能复习k节课,每节课能让这门功课涨一分,但是每天能复习的科目是固定定的。现在也知道每门课的学分, 一直GPA的公式是这样计算的。现在想让GPA尽量的高, 并且保证不挂科, 现在问最高的gpa是多少? 如果挂科了输出0
阅读全文
摘要:题意: 给出一个家谱, 并且给出了一种遍历的顺序, 现在有3种询问 1、求出一种遍历的顺序,使同一代的人字典序小的一定出现在前边。 2、问某个人一共有几个亲兄弟姐妹。 3、求两个人的最近公共祖先。 思路:这道题很简单, 不过就是很麻烦, 求最近公共祖先我是用的很朴素的算法。当对边排序的时候首选vec
阅读全文
摘要:题意: 给出若干个炸弹的位置, 位置的坐标都是大于等于0的整数,并且给出了每个炸弹可以轰炸的距离范围(曼哈顿距离),并且如果一个炸弹爆炸后波及到另外一个炸弹的话这个炸弹也会爆炸。现在给出了点燃炸弹的次序方案,问点燃当前炸弹的时候爆炸的炸弹数目是多少。 如果该炸弹已经爆炸了, 输出0. n=10000
阅读全文
摘要:题意:现在给出两棵树, 现在想要让这两棵树变成一模一样的树(点和边都对应一样),现在有一种操作, 可以在一棵树上添加一条边,添加一条边之后会形成一个环, 那么这时间需要从这个环中删除一条边。问至少需要多少步能达到这个目的,并输出方案。思路: 可以说明将一棵树修改成另外一棵树,不会使最优答案变坏。 因为这个操作是可逆的。那么现在所要做的就是将一棵树变成另外一棵树所需要的最小步数。我先遍历第一个图, 如果第二个图中没有这个边, 那么我就要加上这个边, 但是我要删哪条边呢?假设当前的点为u,v,因为在第二图中中因为没有u<--->v, 我在第二个图中搜从u到v的路径, 从u到v的路径上首
阅读全文
摘要:题意:给出了一棵树, 这个树上的边有两种类型,一种是保护的, 另一种是不保护的。 现在想让每个点到根节点中的路线中,受保护的边至少有一半, 现在至少要改变多少条变才能达到目的, 并输出修改边的方案。 思路:这道题是如果要改变边的话那么就尽量在靠近根节点的地方修改边。 我们用一个need保存这个子树中
阅读全文
posted @ 2012-10-01 09:54
Gu Feiyang
摘要:题意: 给出一张图,途中既有有向边又有无向边,现在想要判断这个图里边是否存在欧拉回路。 思路: 开始的时候我直接用求普通图的欧拉回路的方法求,如果求出的边的条数为m那么就存在,否则不存在。但是wa了。 如果存在欧拉回路,那么每个点的入度和出度相等。 我们要努力的做的是让每个点的出度和入度相等。 假设
阅读全文
摘要:题意: 给出一棵树, 树上边上有权值, 现在每个点都要移动到另一个点。现在求他们移动的最大权值。 思路:这道题没有推出来, 后来看了别人的报告。 说每条边都按可以经过的最大次数计算就行。即求出该条边左右点个数的较小的那个值乘以2就行,不明白为什么。还有就是会RE, 起始点可以选择n/2 AC 代码:
阅读全文
摘要:题意: 给出一棵树,树的叶子节点是前线,节点1是总指挥的地方。 现在想破环一些边让前线上的点都不能给1发送消息。现在想要使破坏边的最大值最小,同时还要让总的费用不超过m。单的个数为不超过1000, m不超过1000000. 每条边的值不超过1000. 思路: 这道题是很明显的树形dp。 由于要让最大
阅读全文
摘要:题意: 给出一个树, 现在想得到一个有p个节点的子树,至少需要删除几条边。 思路: 给出一个树并且还要求一个最小值很容易想到要用树形dp。 我开的dp方程 dp[i][j]表示以i为父节点有j个节点的子树需要删掉几条边。 这个方程我是这样推的。 当面对一个子树的时候, 如果不要这个子树的东西,那么需
阅读全文
摘要:题意: 给出一个无向图, 然后逐渐加边, 求出加边后割边的数目。 思路: 首先找出这个无向图的割边, 割边肯定都是在搜索树上的。 对于每次给出的两个点,只需要往上一点一点找lca就行,如果往上的过程中有割边,那么把这个割边擦去。但是我不明白的是为什么我lca的过程中遇到的点都缩成一个点后就不对。 A
阅读全文
摘要:题意:给出一个有向图,求出经过n条边的最短路。 开始的时候把题意理解错了。 后来才明白过来。 这样的话就要用矩阵乘法了、 这说明一个问题就是当按照一个原则变化的时候,并且变化很多次的时候,可以考虑矩阵乘法加速。
阅读全文
摘要:转载请注明出处: http://www.cnblogs.com/gufeiyang 题意: 有一个n个城市的国家, n在1000之内,现在有些牛想做一个旅行,即从一个点出发最后再回到这个点,牛每个城市是后会得到一个欢乐值,这个欢乐值只有在第一次到的时间才会有,一些城市之间有路,给出了走路所需要花费的
阅读全文
摘要:题意:给出了n(n<=30)个串,首先给出一个初始的串,然后两个人轮着从n个串中选择一个串往后边放,要求当前串的第一个字符和上个串的最后一个字符是相同的,有一个成功的串,如果取到成功成功的串就算赢了。 两个人都是随机选串。现在问在m盘内第一个人赢得不同情况有多少种? 思路: 这道题是一道矩阵乘法的题
阅读全文

浙公网安备 33010602011771号