zoukankan      html  css  js  c++  java
  • 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,求任意两点之间的距离。
  • 相关阅读:
    杭电 Problem
    杭电Problem 5053 the sum of cube 【数学公式】
    杭电 Problem 2089 不要62 【打表】
    杭电 Problem 4548 美素数【打表】
    杭电 Problem 2008 分拆素数和 【打表】
    杭电 Problem 1722 Cake 【gcd】
    杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
    杭电Problem 1872 稳定排序
    杭电 Problem 1753 大明A+B
    东北林业大 564 汉诺塔
  • 原文地址:https://www.cnblogs.com/nowheretrix/p/9622141.html
Copyright © 2011-2022 走看看