zoukankan      html  css  js  c++  java
  • CSP2021-S2游记

    Day -1

    上了一天课,晚上回来摸了摸鱼,然后被告知第二天中午前交最佳团日的视频。

    Day 0

    早上语文课剪视频(其实就把图贴PPT里然后导出为MP4)。然后数学月考,自我感觉还不错,但下午发现有一题读错题了。
    下午计算之美课补化学实验报告,然后化学实验日常做到8点20。
    晚上回来又让我做最佳团日推送,直接鸽了去复习OI了,结果打了个线段树就不想打了,于是上床玩手机......

    Day 1

    一觉睡到11点多,然后收拾收拾要带的东西,和同学西南门打车去了。
    还是在交大附中考。

    进考场先打了个快读,然后想了想又打了个邻接表和gcd。
    开考前10分钟就拿到题了。
    T1 airport 一看,线段覆盖,我最不擅长的类型。读题读错了,以为就是那种贪心的水题 做两遍加起来就行了,然后发现自己不会贪,稍微思考了一下发现可以线段树写(区间加区间查询min)。写了30min,没过样例,才发现理解错题了,发现直接改代码复杂度多个 (n),于是直接放弃这题。
    T2 bracket 第一段“……经典问题,小w秒切了这道题,然后加大了难度,小w不会了,于是来请教你”,然后发现并不会经典问题怎么做,看了看后文对于合法串的定义,发现更加不可做。下一题。
    T3 palin 第一眼,字符串题,寄。第二眼,这题风格怎么这么cf?手玩了一下样例发现,第一个拿走某个数字,就会导致对应的数字必须最后拿走,也就是说,拿走第一个数字后,字符串被必须最后拿走的数字截成了两半,把这俩半存成两个队列,队列只能从开头拿。然后发现拿走一个以后它对应的数就得留最后拿,然后它后面那些数就堵那了,所以他对应的数必须在队尾才行。然后思路就出来了,第一步分从左和从右拿两种,然后把数列拆成两个队列,每次取队首时需要满足存在一个队尾和它相等。结果没过大样例,瞪了半天发现又读错题了,把“答案字典序最小”理解成“回文串字典序最小”了。然后改改过了大样例就放那了。
    T4 看一眼,好复杂,看一眼时间,还有2h,决定还是回去莽T1,毕竟我的水平还不是那种可以倒序开题的。
    T1 要求怎样分配答案最大,那如果枚举(O(n))种分配方式的话,感觉不可能在(polylog)时间里求出答案,所以应该是处理出dp[n][0/1]=给国内/国际分配n个廊桥时能停靠的飞机数,然后这个可以由f[i][0/1]=第i个国内/国际飞机需要最少几个廊桥才能停靠 (O(n))的推出。考虑到廊桥是“先到先得”的,于是显然可以把飞机按左端点排个序。又有性质:增加一个廊桥必定不会使得本来能停靠的飞机变为不能停靠的。不妨假设飞机一定停靠在空闲的编号最小的廊桥,那么这个最小编号就是f[i][0/1]。而要方便地求这个信息,就需要维护i时刻编号最小的空闲的廊桥,这不太好维护,但是我们可以维护g[i]=i时刻变为空闲的廊桥(没有的话记为inf),然后对于每个飞机只需查询其左端点以左的最小值即可。查询到最小值x后需要进行两个操作:1. 把g[该飞机右端点]设为x。 2. 把g[x的位置]设为inf。于是 只需要在(离散化后的)时间轴上建一棵线段树维护 区间查询最小值,单点修改,区间查询最小值的位置 即可。此时距离考试结束仅剩30min,但考虑到前面已经写过一个类似的线段树,所以我就直接莽正解。最后剩10min的时候发现莽不出来了,就把前面一个过了小样例没过大样例的算法交了然后匆忙去敲T2暴力。
    T2 扫了一眼发现只能打个dfs,然后发现check()函数不会写(因为其实没有理解合法序列的定义),然后瞎改了改最后也没过样例。
    最后一分钟看了一眼T3文件输入输出。

    估分:0+eps+100+0. T2的分是因为我发现我的代码大概率输出0,一般来说数据里至少要存在一个答案为0的点。不过如果出题人能像去年省选一样拿脚造数据,或许T1也能水点分。
    洛谷民间数据:0+0+100+0

    update 2021/10/32:
    得分:25+0+100+0. T1神秘数据让我得了25,以及空间里看到有人三分AC了,不过同样是三分的Ruiker只拿了65 好像是三分写挂了。
    Ruiker: 65+0+0+0
    Udumbara: 40+0+20+0
    zcy: 15+0+16+0
    分数应该够进NOIP了,不知道学籍问题如何解决。

  • 相关阅读:
    jquery 左右滚动插件
    MagicAjax使用及注意事项~!!!AJAX无刷新的DLL文件!!
    android 中播放声音要注意的细节
    JNIEnv*的常用函数详解
    http协议上传数据的 优化 方法
    jni 设计的哲学
    listview动态加载数据,并更新数据列表
    Android HOME键的屏蔽
    Django在pycharm业余版进行创建项目文件
    SQL Server 日常维护查询当前正在执行的语句、死锁、堵塞
  • 原文地址:https://www.cnblogs.com/int-2147483648/p/15458537.html
Copyright © 2011-2022 走看看