-
ACM-ICPC 2018 徐州赛区网络预赛
ACM-ICPC 2018 徐州赛区网络预赛
A.Hard to prepare
B.BE, GE or NE
- 题意:给定一个初始分数,然后两个人轮流进行操作,A目的使得最后分数大于等于up,B目的使得最后分数小于等于down。每个人每轮进行的操作是指,从对应那一行的三个数a,b,c中,选择对当前的分数加上a(若a不为0),减去b(若b不为0),或乘上-c(若c不为0)。问最后谁赢。
- sol:
- dp[i][j]当前分数为j,从当前行到最后一行执行完所有操作,A能否赢。dp[i][j]=1代表A赢,0代表平局,-1代表B赢。从最后一行开始倒推即可。复杂度O(n*200)。
F.Features Track
- 题意:每一行都有一些二维坐标。求一个点连续出现最多的行数。连续出现是指相邻两行都出现。
- sol:
- 直接开两个map。make_pair。
- 第一个map保存当前的点i-1行中最后出现的行。第二个map保存到第i行为止的连续行数。显然,如果第一个map中位置为i-1行,那么确实能连上,跟新第一个map为第i行,第2个map+1。若不是,第一个map为第i行,第二个map为1。记录最大值即可。
G.Trace
- 题意:在第一象限里会出现(0,0)为左下角(x,y)为右上角的矩形。矩形按照顺序出现,后面一个矩形的出现有可能会挡住前面矩形的边,问最后你能看到的边的长度之和是多少。(除去x轴和y轴上的边)
- sol:
- 倒着考虑所有的矩形。可以发现,最后一个矩形肯定是全部裸露的。
然后考虑倒数第二个,第二个矩形的右上角为(x2,y2)。那么,若x2大于y轴上y2坐标的值,那么ans需要加上x2-query_y(y2),同理,若y2大于x轴上x2坐标的值,那么ans需要假设y2-query_x(x2)。(现在加上的边在之前不可能被覆盖掉)。这样,离散化之后,用两个线段树维护即可。
H.Ryuji doesn't want to study
- 题意:长度为n的数组。两个操作:1、将第x个位置变为y。2、给定l和r,计算a[r]×1+a[r-1]×2+a[r-2]*3+......+a[l]×(r-l+1)。
- sol:
- 线段树。
- 维护两颗线段树。第一颗,维护a[1]×n,a[2]×(n-1),a[3]×(n-2)......,a[n]×1的区间和。第二颗,维护a数组的区间和。
那么最后的答案就为query1(ll,rr)-query2(ll,rr)×(n-r)。
I.Maze Designer
- 题意:n×m的格子。每个格子和相邻的格子联通。现在你可以在联通处造墙,使得原本联通的不联通。求满足造墙之后,任意两个点的路径唯一的最小花费。且给出询问,询问任意两个点的距离。
- 可以发现,墙的最小花费=所有的花费-将所有格子联通的最大花费。可以发现,若要满足任意两个点的路径唯一,即是一棵树。树上路径唯一。所以,只需要做最大生成树即可。然后倍增lca,求任意两点之间的距离。
-
相关阅读:
从贫困生到创业者
招聘会技巧:应聘外企的英语提问清单
智能客户端(SmartClient)
GOOGLE 技巧
值得珍藏
三个大学生开软件公司 毕业前挣300万
卡车运输业中的无线技术
莫扎特金色的童年和少年
开放源码 ERP
人才招聘站点大全
-
原文地址:https://www.cnblogs.com/nowheretrix/p/9622141.html
Copyright © 2020-2023
润新知