zoukankan      html  css  js  c++  java
  • JOISC2021口胡题解

    有些题不会,咕咕咕。

    Day1T2

    发现当(1)的方向确定后,其它点的方向都确定了。可以考虑病毒随便可以走,一个人必须沿着一个方向一直走下去,看这个病毒是否有可能追上这个人。发现可能的方向唯一。

    用喜欢的方法模拟即可。

    Day1T3

    离线做法:对于一个队列(x),通过离线可以维护出从头到尾加入了什么,对于一个询问求出在队列上的区间([L,R])。处理(L,R)可以用吉司机线段树。

    在线做法:同样用吉司机线段树维护出(L)。用主席树来维护在某个时间中一个队列中加入过多少个数。查询的时候先二分时间,然后在主席树上查得到加过多少个数,然后比较一下。这部分时间(O(nlg^2 n))

    Day2T1

    首先求出从每个点出发,初始时间为(0),到达其它点的最短时间。显然可以先求出一天之内的,然后连边,然后floyed做。

    考虑从一个点(S)出发到其它点的距离,根据它的出发时间,可以把距离看成(O(m))段。按照出发时间从大到小搞,之前有些不能走的边可以走了,然后进行更新。总时间(O(nm^2))

    其实也可以直接考虑一条边((u,v))的有效时间,设为(tim),把(c_ile tim)的边拉出来,反过来从(u)开始跑最短路,对于每个(S)得到(dis_{tim}(S,u));然后再从(v)开始以(tim)时开始往后跑,处理出到每个点(T)的时间;于是就可以更新((S,T))(S)的某个时间段出发,到达(T)的时间是多少。

    询问直接找到在哪个时间段即可,然后枚举一天内能到达的点,再用一开始预处理的东西去查即可。

    Day2T2

    二分。转化成切比雪夫距离,变成二维数点。

    最后输出具体方案的时候,直接用个固定长度的滑动窗口扫过去,维护另一维上点的分布。这样就可以精准找到。

    时间(O(nlg^2 n))

    Day3T1

    考虑给第一个X标1,第一个X后面的所有Z标1,其它标0。遇到第一个1加入栈,后面遇到0加入栈,遇到1把栈清空到只剩下一个数。显然这最优。于是就有了(n)的做法。

    注意到如果有Z连续,那就把最后一个Z标1。假装在第一个X后面加0,于是就得到一个长度为(n+1)的1不相邻的串。

    用点简单生成函数算一下发现大概是(F_{n+1}-F_n)(F)为斐波拉契数列)种方案,估计一下大概是(2^{69400+})

    考虑压缩起来。一种做法是强套平常的压缩方式,即算出后面的方案数,按位确定,要写高精度。

    gmh77的做法:给序列分块,每个块分别用那种压缩方式。发现块大小取67的时候最合适。可以不用取高精度。

    Day3T2

    可以把人的移动抽象成(t-x)图像。把每条线段延长,另外对于线段的端点,作条垂直于这条端点的直线。于是得到了个网格。

    在网格点上DP,每次只需要从右上和右下转移过。对于每个询问,定位并找到网格上的最近点。

    总时间(O(n^2 +qlg n))

    Day3T3

    直接线段树合并或启发式合并或长链剖分之类的都可以做。

    也可以点分治。点分治中子树大小其实可以只记当前连通块中的,分析下可以发现考虑算少的不会有影响。

    当然我自己写了个(O(n^2lg n))过了。

    Day4T1

    按位确定。现在相当于求一个区间内能搞多少个不相交的。发现选了一个之后一定是贪心选和它不交的右端点最小的,连边,然后倍增处理。

    Day4T2

    先把每个九宫格划分成一个单位。一号位到七号位来标对应编号的目标在哪(以它为观测点,把平面划分成13块),九号位搞个特殊标记。这样就可以得到做到(14)

    注意到一共只有7个目标,至少有两个号位不会被占用。

    于是稍微修改一下九宫格的划分,让五号位一定不会被占用;对于另一个不会占用的号位,用八号位记一下是哪个。

    这样就能做到(12)

    Day4T3

    写出DP。发现dp中的值满足单调性,于是可以很方便地用线段树维护。

    维护个线段树满足查询最小值,区间加,区间赋值,线段树合并,线段树上二分即可。

  • 相关阅读:
    图片切换的练习
    固定定位
    绝对定位
    相对定位
    全局作用域 变量声明
    3种循环语句 JS基础
    解除绑定事件 和 封装兼容性addEvent 来处理针对于不同浏览器的兼容方法
    插入排序法 猴子选大王 检索的数组 验证身份证号码 练习
    [z]JSONP例子
    ireport related
  • 原文地址:https://www.cnblogs.com/jz-597/p/14573503.html
Copyright © 2011-2022 走看看