zoukankan      html  css  js  c++  java
  • PKUSC2021提前离场记

    (指没进面试

    day0

    下午飞机延误,八九点才吃到饭

    晚上爽快战斗

    day1

    上午试机,桌子贼tm高+巧克力键盘

    试机T2写了60


    下午day1,随机到了隔壁机房,普通键盘+正常桌子

    然后点开没有计算器

    T1 40min切了,感觉良好(flag

    T3 德 州 扑 克,直接弃掉

    下面是T2的作死秀:

    4h:2h一题,这波稳了(,如果这个T2没有操作1那我将绝杀

    3.5h:1操作直接暴力吧,看起来次数是线性的,部分分还不会(不想写),来个splay维护单调栈

    3h:写了一大半了,这不直接200

    2h:草这个次数怎么不是线性的,30000都跑不动

    1h:赶紧把相邻大于等于改成大于,这样次数应该会少一些,把splay复制一遍

    10min:终于能跑50000了,然而n<=300000(

    TLE 7


    出来后想了想,发现39分直接把[L,L+操作1]先求出,然后对[L,R+操作1]上线段树维护单调栈就没了

    垂死病中惊坐起,小丑竟是我自己

    最后100+7+0=107,被吊打了

    晚上放弃治疗

    day2

    上午摸鱼参观,中午去金拱门


    下午day2,回到了一开始的阴间机房

    二 十 七 条 可 怜

    T1 1h切了

    T2看起来又是数据结构,我谢谢您啊

    T3感觉可以搞,想了1h+发现不会,想起昨天的经历写了n<=3的10分+输出0的5分

    还剩2h搞T2,想了想写了n^2贪心,最后0.5h又打表发现c=1等于找两个数-1,线段树解决

    最后100+51+15=166,出来一问感觉还行

    但是day1已经崩了,所以无所谓

    day3

    半路上发现面试没过,打道回府

    飞机鸽了,但没完全鸽

    day4

    1:00到校

    题目大意

    day0(试机)

    T1

    给出一棵以1为根的树和一个数组a,Q次询问

    每次给出若干区间,求把[al1,ar1],[al2,ar2]...[alk,ark]拼起来后的数组b,有多少个j满足任意i<=j都有bj是bi祖先

    ∑k,n,Q<=几十万

    T2

    给出数组a,Q次询问,每次交换ax,ay

    求每次操作后的最长后缀,满足能用排序后的后缀得到原后缀,操作是选择ai<ai+1<ai+2,然后把ai+2已到ai前

    60%:n,Q<=5000

    按位确定,写出式子后发现前移奇偶不变,再发现和后面的小于他的数有关

    100%:n,Q<=几十万

    day1

    T1

    n*n的矩阵,求K次操作后的矩阵,一次操作a'[i,j]=a中第i行+a中第j列的和

    n,K<=1000

    一个数的贡献只与是否在终点同行/列有关,记0/1,0/1,写成矩阵转移

    T2

    给出数组a,Q次操作

    操作1:顺序把[L,R]中ai变成max(ai,ai+1)

    操作2:询问[L,R]中顺序过去的单调栈中元素和

    7%:n,Q<=1000

    暴力

    39%:操作1=[1,n]

    真实的ai=a[i,i+操作1],求出[L,L+操作1]然后线段树维护单调栈

    100%:n,Q<=300000

    维护a'[i]=a[i,b[i]],1操作等于把b前移,维护a[bi,bi+1]然后线段树求单调栈,再用splay维护每个差分元素的位置,查询先求a[L,L+bi],然后找位置线段树

    实现感觉可以把删掉的当成0丢进去,splay找到R往前第一个非0的;或者直接指向每次的R,因为线段树上删掉的变为了0,所以splay上删掉的一定指向左右两端非0中间的,查询等价

    也可以线段树?

    T3

    德州扑克

    day2

    T1

    给出一棵树,求删掉K条边再接上一条边变成树的所有方案中的相邻两点dis和

    K<=1,n,Q<=100000

    写出式子,发现之和断掉一条边后两边内部dis和与到断点dis和有关,换根dp

    T2

    n道菜,第i道菜价值ai,消费a元可获得floor(a/c)张代金券,一张抵1元

    用了b张的实际花费为a-b元,获得floor((a-b)/c)张代金券

    安排代金券的使用,使顺序吃菜的总花费最小,Q次修改把ax变为y,求每次的答案

    40%:n,Q<=5000

    贪心,先顺序把a变为kc,然后反着解决剩下的,用栈维护每个位置剩余张数

    问题是当a减少时可能a产生的张数也变少,有可能花费+1,发现由于此时a-1了所以可以看做不变,即ai有bi次抵挡(在j*c时),bi是i用了的张数

    11%:c=1

    发现用i消j时二者张数-1,即每次找两个数-1,判max和sum即可

    15%:c=2

    11%:a随机[1,1e12]

    29%:n,Q<=100000

    T3

    在[0,m]中随机撒n个点ai,满足用[ai,ai+K]覆盖后没有一个位置覆盖次数>2

    求概率

    10%:n<=3

    容斥,讨论min(a)

    (5%:输出0

    100%:n<=50,K<=m<=150

  • 相关阅读:
    JS 笔记
    html笔记 横向两列布局
    jsp HTTP Status 405
    有效范围为request的bean
    jsp:session对象存储数据
    sql笔记
    StringBuffer的用法
    VB学习笔记
    html 笔记
    Linux 笔记
  • 原文地址:https://www.cnblogs.com/gmh77/p/14773328.html
Copyright © 2011-2022 走看看