摘要:
Problem This world need more Zhu 题目大意 给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1,求树链上所有点的新编号cnt满足cnt%k==0的点的权值的最大值。 n,m,k<=10^5 解题分 阅读全文
摘要:
Problem GCD Tree 题目大意 n个点的无向完全图,标号1~n,每条边u-->v 的权值为gcd(u,v),求其最大生成树,输出最大边权和。 n<=10^5,有多个询问。 解题分析 从小到大加入每个点,计算其对答案的贡献。 对于一个点i,只有向它的约数连边才有可能对答案有贡献。 用lct 阅读全文
摘要:
Problem 魔法森林 (NOI2014) 题目大意 给n个点,m条边的无向图,每条边有两个权值a,b。 求一条从1-->n的路径,使得这条路径上max(a)+max(b)最小。输出最小值即可。 解题分析 将边按照权值a从小到大排序后,依次加边,用lct维护一棵权值b组成的最小生成树。 具体做法是 阅读全文
摘要:
Problem Query on The Trees 题目大意 给一棵树,有点权,要求维护4种操作。 操作1:加一条边。 操作2:删一条边。 操作3:将一条路径上的点权增加w。 操作4:询问一条路径上的点权最大值。 解题分析 lct练习题 ps:lct模板抄自黄学长。 参考程序 1 #include 阅读全文
摘要:
Problem Youngling Tournament 题目大意 给一个序列a[i],每次操作可以更改一个数,每次询问 将序列排序后有多少个数a[i]>=sum[i-1]。 n<=10^5,q<=5*10^4,a[i]<=10^12 解题分析 可以发现,在最优情况下,该序列长度最多为logn。 将 阅读全文
摘要:
Problem King's Inspection 题目大意 给一张n个点m条边的无向图,问是否存在一条欧拉回路。 n<=10^5, 0<=m<=n+20。 解题分析 注意到数据范围m<=n+20,可以想象若存在一条欧拉回路,那么图的形状必定是一条长链再加上20条边。 将连续的一段入度和出度均为0的 阅读全文
摘要:
Problem A Bus to Udayland 题目大意 公交车上有些位置能做,有些不能坐,问是否有两个相邻的位置。 解题分析 找到并列的两个O就行。 参考程序 1 #include <map> 2 #include <set> 3 #include <stack> 4 #include <qu 阅读全文
摘要:
Problem A King Moves 题目大意 有一个国际象棋的棋盘,给定一个国王的位置,求其移动一步可到达的合法位置数量。 解题分析 国王的位置可以分为3类,每类的答案为8、5、3。 参考程序 1 #include <map> 2 #include <set> 3 #include <stac 阅读全文
摘要:
Probelm Terrorists 题目大意 给一张n个点,m条边的无向图。共有q个询问,每次询问u到v的最短路。 n <= 100000 , n-1 <= m <= n + 50 , q <= 50000。 解题分析 注意到m的范围比较特殊,所以可以看成是一棵树加上若干条非树边。 将所有的非树边 阅读全文
摘要:
题目大意 给一张n个点的无向图,要求给每个点染色0或1,使得每个点的相邻相同颜色点的数量小于等于其度数的一半。 解题分析 没想到什么好的算法,就随机乱搞了。 若某个状态时,一个点的度数为cnt,相邻相同颜色点的数量为x。 定义delta = cnt / 2 - x; 若delta>=0,说明这是一个 阅读全文
摘要:
Problem Toll Management IV 题目大意 给一张n个点m条边的无向图,有边权。数据保证前n-1条边构成了一棵最小生成树。 要求对于每条边求出其边权上下最多浮动范围,使得最小生成树的形态不变(每次只改变一条边的权值)。 n<=10000,m<=1000000 解题分析 我们称在最 阅读全文
摘要:
Problem A Brain's Photos 题目大意 n行m列的矩形,每个格子有一种颜色。如果含有C、M、Y则输出#Color,否则输出#Black&White。 解题分析 = = 参考程序 1 #include <map> 2 #include <set> 3 #include <stack 阅读全文
摘要:
Problem 炮兵阵地 题目大意 给你一张n*m的地图,一些地区是空地,一些地区是障碍。 可以在空地上布置炮兵部队,炮兵部队的攻击范围为上下左右各两格。 询问最多可以布置多少个炮兵部队,且互不伤害。 0<=N <= 100 , 0<=M <= 10 解题分析 由于攻击范围是两格,所以用dp[i][ 阅读全文
摘要:
Problem Mountain 题目大意 给定一张n*m的地图,由 . 和 X 组成。要求给每个点一个1~n*m的数字(每个点不同),使得编号为X的点小于其周围的点,编号为.的点至少大于一个其周围的点。 n<=5 , m<=5。 解题分析 考虑从1~n*m,从小到大依次填数,则如果某个位置编号为X 阅读全文
摘要:
Problem Counting Intersections 题目大意 给定n条水平或竖直的线段,统计所有线段的交点个数。 (n<=100000) 解题分析 首先将线段离散化。 然后将所有线段按照横坐标的顺序,按照先插入再查找再删除的顺序进行操作。 对于横线 如果是左端点,则将其纵坐标加1,右端点则 阅读全文