随笔分类 -  2019ACM暑期集训

摘要:给你一个N个顶点的邻接矩阵形式的无向图,然后给你M个已经修好的路。问最后把所有村庄连接好的最小花费思路:我们知道所给出的m条路已经修好即是两个村庄之间的距离被更改为0,顺便熟悉 kruskal算法 ,这里便用了。 我们使用 并查集 来表示边集合,然后记录所有的边信息 ,进行一次 sort 排序,如果 阅读全文
posted @ 2019-08-05 16:00 Tianwell 阅读(107) 评论(0) 推荐(0)
摘要:题意:给出球形空间站数目N,以及各个空间站的三维坐标x,y,z 以及 半径r ,求将所有空间站连接的最小cost (cost就等于空间站之间的距离) 如果接触,包含,或者相交则不需要搭建桥 思路:还是一道最小生成树的题目,我们先记录每个空间站的信息,然后将所有空间站两两相连接,如果 如果接触,包含, 阅读全文
posted @ 2019-08-05 12:30 Tianwell 阅读(128) 评论(0) 推荐(0)
摘要:题意:给出N台电脑(编号为1~N),然后M条连接路径以及对应权值,问怎样把所有结点连接且使得权值和最小 思路:这就是一道最小生成树。但是要注意的是,在输入中,会出现某条边重复输入且权值不同的情况,那么我们就要对应的 add中进行更新判断 完整代码: 阅读全文
posted @ 2019-08-05 11:37 Tianwell 阅读(100) 评论(0) 推荐(0)
摘要:题意:给出一张图然后求最小生成树输入:N个点(输入以0结尾),然后对应N个点相连的 边数m, 以及对应指向的结点 以及权值思路:采用prim算法来做,先类似于dijsktra,搜索集合外点的路径,最小的路径然后加更新集合。再采用优先队列优化,减小每次判断要路径权值大小 完整代码: 阅读全文
posted @ 2019-08-05 10:38 Tianwell 阅读(100) 评论(0) 推荐(0)
摘要:题意:给你一个长为N的序列,m次询问区间最大最小之差 思路:一开始用线段树做一直TLE,加速挂也开了,什么都写了还是TLE(可能是优化的还不够)。由于这道题不涉及任何的在线更新问题,于时就学到了一种 O(1)查询的 st表(RMQ基本算法) 其是利用递推以及倍增的思想,直接就离线处理好了区间最值。所 阅读全文
posted @ 2019-08-04 22:55 Tianwell 阅读(98) 评论(0) 推荐(0)
摘要:题意:给出一个很大的范围(1 <= ri <= 10000000.)表示所给出的m次询问修改中会出现在这个范围中,问最后能够看到的完整海报数 思路:看到这么大的范围我们就会思考离散化数据,离散化说的高大上实际上就是压缩所给出的数据空间。因为所给出的数据不会布满(1至1e7)所以就把空白处的空间压成一 阅读全文
posted @ 2019-08-04 10:55 Tianwell 阅读(116) 评论(0) 推荐(0)
摘要:题意:m次询问给你区间段的颜色,然后区间修改颜色覆盖,统计最后各种颜色出现的段数 思路:就是线段树比较基本的操作,区间修改,再把区间所有的值赋值给统计数组,然后统计段个数 完整代码: 阅读全文
posted @ 2019-08-04 10:43 Tianwell 阅读(130) 评论(0) 推荐(0)
摘要:题意:就是给出一张无相图,判断有没有回路思路:对于无向图判环问题,可以采用dfs染色或则并查集的方式 如果使用并查集的话,如果存在环即在某次 将某边的两个结点 进行比较,如果发现已经在同一个集合则说明存在环 完整代码: 阅读全文
posted @ 2019-08-04 10:36 Tianwell 阅读(208) 评论(0) 推荐(0)
摘要:题意:给你N中货币以及名称,m种货币的交换汇率,问是否存在一种交换途径,从某种货币开始到该货币结束,交换完不少却多的情况 思路:汇率交换问题一般就是求正权回路的问题,和 POJ-1860是基本上一样的问题,我们可以使用bellman-ford算法来判断,通过 对每个点循环m次松弛操作,如果最后还会改 阅读全文
posted @ 2019-08-04 10:26 Tianwell 阅读(172) 评论(0) 推荐(0)
摘要:题意:有N个奶牛, M个比较,a b标名a能够击败b,问最终能够确定排名的奶牛个数为多少个 思路:从排序的角度来讲我们肯定会先想到拓扑排序,但是拓扑排序只能知道是否排序唯一,不能够得到确定排序的个数 所以换一个思路如果 一个点与其他所有点之间都有关系那么这个点就能够确定排名这就涉及到传递闭包的操作, 阅读全文
posted @ 2019-08-02 15:34 Tianwell 阅读(137) 评论(0) 推荐(0)
摘要:题意:给定一个下三角矩阵,询问从1开始到其他点的最短路径中,最长的那个是多少。 输入:N编号个数,然后对应 邻接矩阵的权值 思路:根据题意就是直接使用 dijkstra,因为是单源最短路且没有负权。然后把得到的dist 去循环一次找到最大的值即可 对于图的存储,由于编号数比较小,而且又是矩阵,所以直 阅读全文
posted @ 2019-08-02 12:31 Tianwell 阅读(141) 评论(0) 推荐(0)
摘要:题意:给F个农场(样例),在第一行输入N,M,W(编号范围,路径数,虫洞数)在2~M+1 行给出从a到b的双向路径,cost为w ; 在M+2~M+n-1 给出从a到b 减时的-w问从原点出发,能否经过某些路径使得时间回到出发之前(存在负环路)思路:从题意可知,这就是求图中是否有负环回路问题那么我们 阅读全文
posted @ 2019-08-02 11:21 Tianwell 阅读(239) 评论(0) 推荐(0)
摘要:题意:一只青蛙想从自己脚下的石头开始调到另一只青蛙的石头上,它可以直接跳,也可以借助别的空石头跳。输入的数据是每个石头的坐标(第一个是这只青蛙踩的石头的坐标,第二个是另一只青蛙踩的石头的坐标)(从一块石头到另一块石头的最大距离) 思路:虽然是最短路的专题,但是感觉也不算是完全最短路的题,应该更多的运 阅读全文
posted @ 2019-08-01 19:26 Tianwell 阅读(154) 评论(0) 推荐(0)
摘要:题意:草场上有n个农场,农场之间有一些路径,每个农场里住着一头牛,现在x农场的牛要过生日开party,其他农场的牛要到该农场去参加party, 现在让你选择一头来回耗时最多的一头牛出来,输出时间。给你一个n个结点、m条边的有向图,现在要你求从n-1个结点到达指定的一个结点的来回最长路 思路:如果返程 阅读全文
posted @ 2019-08-01 19:09 Tianwell 阅读(137) 评论(0) 推荐(0)
摘要:题意:思路:(虽然被放到最短路专题上但是我却想到生成树的问题)就是给出n个位置,有m条边 , 给出m条边的信息,然后求点1到点n处 中的一条路,使得运载最大(这个运载量是取的该路径中沉重最小的量) 就是像prim构造最小生成树一样构造最大生成树 完整代码: 阅读全文
posted @ 2019-08-01 16:30 Tianwell 阅读(146) 评论(0) 推荐(0)
摘要:题意:N和M(0<N<200,0<M<1000),分别代表现有已修建的道路的数目和城镇的数目,城镇分别以0~M-1编号。接下来N条道路 A, B, X (0<=A,B<N,A!=B,0<X<10000) , 两个整数S,T(0<=S,T<N),分别代表起点和终点。如果数据不存在则输出-1 思路:使用 阅读全文
posted @ 2019-08-01 13:35 Tianwell 阅读(120) 评论(0) 推荐(0)
摘要:题意:N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。A,B,X代表A,B间有一条权值为X的路(0<=A,B<N,A!=B,0<X<10000)两个整数S,T(0<=S,T<N),分别代表起点和终点。求出从S到T的最短距离,如果数据不 阅读全文
posted @ 2019-08-01 11:01 Tianwell 阅读(165) 评论(0) 推荐(0)
摘要:题意:给出序列长度n,以及空间m, 由于题意 k*n = m*8 所以 k = m*8/n; num = 2^k 即是 整个序列中不同值的个数 由于ai (1~1e9) ;然后你要把这个序列 的种类个数减小到 num 个 (问最小减小的个数) 思路:范围太大不能用 数组来记录对应个数 , 所以就使用 阅读全文
posted @ 2019-07-31 18:42 Tianwell 阅读(198) 评论(0) 推荐(0)
摘要:题意:一个人从(0,0)跑到(n,m),只有k点能量,一秒消耗一点,在图中有k个炮塔,给出炮塔的射击方向c,射击间隔t,子弹速度v,坐标x,y ,问这个人能不能安全到达终点(且可以待在原地) m,n,k和d(2 <= m,n <= 100,0 <= k <= 100,m + n <= d <= 10 阅读全文
posted @ 2019-07-31 18:28 Tianwell 阅读(82) 评论(0) 推荐(0)
摘要:题意:给出n个人,以及每个人所对应的工资信息 。 有q次寻问(1<= q<=2e5) {看到这个寻问量就估计到是用线段树} 然后有两种操作: 1 a b 表示把 第 a个人的工资信息变为b , 2 x 表示把所有工资小于 x 的人工资全部更新为 x (这样以来就更加容易看出这就是 区间最大值记录以及 阅读全文
posted @ 2019-07-31 16:20 Tianwell 阅读(210) 评论(0) 推荐(0)