上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: 题意: 给出n个点,以及每个点到其他点的有向距离,要求设计线路使得每一个点都在一个环中,如果设计的线路拥有最小值,那么这个线路就是可选的。输出这个最小值或者说明最小线路不存在。 思路: 在DAG的最小路径覆盖中,找到的最大匹配数实际是非终点的点的最大数量(每一个匹配对应一个起点),点数减去这个数量就 阅读全文
posted @ 2018-04-12 17:17 qrfkickit 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题意: 秦始皇要修路使得所有的城市连起来,并且花费最少;有一个人,叫徐福,他可以修一条魔法路,不花费任何的钱与劳动力。 秦始皇想让修路的费用最少,但是徐福想要受益的人最多,所以他们经过协商,决定让 A / B 最大,A代表被魔法路连接的两个城市的人口总数,B代表修的路中非魔法路的总长度。 输出 A 阅读全文
posted @ 2018-04-12 17:14 qrfkickit 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题意: 邦德在逃命!他在一个有N个城市,由M条边连接的道路网中。一条路的危险度被定义为这条路上危险度最大的边的危险度。 现在给出若干个询问,s,t,问从s到t的最小的危险度是多少。 思路: 首先可以证明这条路是固定的,就是最小生成树,证明略。 之后就是计算生成树上两点间的最长边,用prim算法预处理 阅读全文
posted @ 2018-04-12 17:13 qrfkickit 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个网络中心,和许多个城市,网络中心以及城市之间有若干条边,这些边有两个属性,最大带宽和修建费用。 现在要用最多不超过C的费用修建网络,使得每个城市都有网络连接,最大化最小带宽。 带宽限制是,一条边可以接受不大于自己最大值的带宽。 边是有向边,unidirectional。 思路: 最大化 阅读全文
posted @ 2018-04-12 17:11 qrfkickit 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题意: 一棵生成树的苗条度被定义为最长边与最小边的差。 给出一个图,求其中生成树的最小苗条度。 思路: 最开始想用二分,始终想不到二分终止的条件,所以尝试暴力枚举最小边的长度,然后就AC了。 粗略估计最大规模为1e8,用时2873ms,卡着时间过。 一个不明显的优化是枚举输入的每一条边。 代码: 阅读全文
posted @ 2018-04-12 17:10 qrfkickit 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题意: 求最小生成树和次小生成树的总权值。 思路: 第一种做法,适用于规模较小的时候,prim算法进行的时候维护在树中两点之间路径中边的最大值,复杂度O(n^2),枚举边O(m),总复杂度O(n^2); 第二种做法,倍增求lca,预处理复杂度O(nlog(n)),替换的时候log(n),总复杂度为O 阅读全文
posted @ 2018-04-12 17:09 qrfkickit 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个女孩,需要打电话让所有的人知道一个消息,消息可以被每一个知道消息的人传递。 打电话的关系是单向的,每一次电话需要一定的花费。 求出打电话最少的花费或者判断不可能让所有人知道消息。 思路: 最小树形图模板题。 朱刘算法,复杂度O(n^3),n的规模较小。 代码: 阅读全文
posted @ 2018-04-12 17:08 qrfkickit 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题意: 有许多基地,每个基地都有两种收发信号的方式,一种是通过无线电收发机,另一种是通过卫星。两个基地之间可以通过卫星交流不管它们相距多远;但是通过无线电交流,就要求它们的距离不超过D。为了方便布置,节省成本,每个基地的无线电交流的最大距离都相等。给出基地的位置和卫星的数量,求出D,保证两个基地之间 阅读全文
posted @ 2018-04-12 17:06 qrfkickit 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个图,边是有向的,现在给出一些边的变化的信息(权值大于原本的),问经过这些变换后,MST总权值的期望,假设每次变换的概率是相等的。 思路: 每次变换的概率相等,那么就是求算术平均。 首先求出最小生成树,若变换的边不在最小生成树上,那么就不用管;如果在,那么就需要求变换之后的MST的总权 阅读全文
posted @ 2018-04-12 17:05 qrfkickit 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个KTO被定义为一个特殊的连通块,这个连通块满足一个要求,这个连通块中的最短的边大于 与这个连通相连的不属于这个连通块的边中的最大值。 给出一个图,统计KTO里面的点有多少个。(一个点可以属于多个KTO) 如a中有3个KTO,b中有6个KTO。 思路: 因为题目中给出的n最大为5000,那 阅读全文
posted @ 2018-04-12 17:01 qrfkickit 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个无向图,求一个生成树使得这个生成树的最大边与最小边之差最小,输出这个最小的差值。n的最大值为350。 思路: 这题不看题解想破头也不知道怎么写Orz。 暴力的做法是可以从大到小枚举边作为最小边的权值,求MST,但是复杂度达到了O(n^4),很显然会T。 考虑在kruskal算法加边的 阅读全文
posted @ 2018-04-12 16:57 qrfkickit 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个数列,现在有一种操作,可以任何一个a[i],用a[i] – a[i+1]和a[i]+a[i+1]替代a[i]和a[i+1]。 问现在需要最少多少次操作,使得整个数列的gcd大于1。 思路: 经过思考后发现,除非所有的数的gcd已经大于1,那么就必须把全部数字变为偶数。 变数字的时候, 阅读全文
posted @ 2018-04-12 16:54 qrfkickit 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题意: 有很多家银行,如果一个上线的银行和另一个上线的银行直接相连,那么称这种关系叫相邻; 如果一个上线的银行和另一个上线的银行通过第三个上线银行间接相连,称这种情况为半相邻。 每个银行一开始是上线的并且有一个初始的防卫力量(可能为负数),一个银行被抢劫之后就会下线并且再也不会上线,与它相邻和半相邻 阅读全文
posted @ 2018-04-12 16:53 qrfkickit 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个数列,和一种操作,以及两个数x和k。 这个操作有两个步骤: 首先把这个数列按照升序排序,然后把所有奇数位上的数字与x异或。 问执行k次操作之后,这个数列的最大值和最小值是多少。 思路: 由于每个数字异或两次之后会变回本身,所以猜测这个数列有可能会循环,所以就可以暴力计算周期,对于每一 阅读全文
posted @ 2018-04-12 16:51 qrfkickit 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 题意: 已知若干种硬币的面值和重量,以及一堆硬币的总重量。 求出可以凑出这堆硬币的最小钱数或者说明不可能。 思路: 完全背包。 定义dp[i][j]表示凑到第i枚硬币,重量为j时可以凑出的最小钱数。 当dp[j+w[i]] == -1时,表示这个状态还没有到过,那么当dp[j] != -1时,才能够 阅读全文
posted @ 2018-04-12 16:46 qrfkickit 阅读(122) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页