摘要:分类: 贪心, 树结构题意: n个结点,以最小生成树方式连接,有一个结点是服务器,可以服务k以内的叶子结点,求还需要放几个服务器,覆盖所有叶子结点输入: 数据组数T,结点数n,距离k, n-1行表示连接关系输出: 还需要放置的最小服务器数解法: 第一步, 构建有根树,获得结点的深度值和叶子结点 从最底层的叶子结点,自底向上贪心解决覆盖问题 注意,没加入一个服务器,dfs距离k以内的所有结点探测是否要覆盖叶子结点,但不是只遍历一次,注意算法的思路 注意是否需要考虑边界条件和特殊情况#include #include #include #include #include #i...
阅读全文
摘要:分类: 贪心题意: 有一个n*n的格子,里面可能又字母,可能是'.'代表没字母,求出一种字母填法,使得从上到下,从左到右字典序最小输入: 组数T,初始方阵输出: 填好的方阵解法: 关键在于理解题意 只要满足从上到下从左到右字典序最小,那么就按照从上到下从左到右的顺序贪心填写 每一次与四个方向比较#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
阅读全文
摘要:分类: 贪心题意: 每个人分派任务,分配和完工需要时间,如何安排分配顺序总完工时间最小输入: 任务数N,每个人分配需要的时间B,每个人执行需要的时间J输出: 总完成最快时间、解法:贪心核心:①两个任务交换顺序不会影响其它任务的最终完成时间②那么何种情况下交换两种任务可以减少总时间分两种情况情况一:交换之前前面的任务后结束J[1] >= J[2] + B[2] [B...1][J...........1] [B.2][J.2] B[1]+J[1]是总时间且 > B[2]+B[1]+J[2] 如果交换 交换后完成总时间是 B[2]+B[1]...
阅读全文
摘要:题意:有n条恶龙,m个骑士,每个骑士能够斩掉直径为x的恶龙需要支付他x的费用,如何聘请骑士费用最小输入:整数n,m 每个龙的直径,每个骑士的能力(费用)输出:最小费用,无解则输出Loowater is doomed解法:贪心#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using na
阅读全文