zoukankan      html  css  js  c++  java
  • 训练&膜你赛记录

    10.27

    (SDOI2016) 齿轮

    本来是一题签到题,用带权(DSU),但因为不相信(double),用分子分母,复杂化题意出错

    (trick): (log) 做到化乘为加

    10.28

    (collecting bugs)

    期望DP模板题

    (Jon and Orbs)

    题意有亿点混淆,范围没有算出,一开始只枚举到了2000,没有写check所以炸了

    (JXOI2012) 奇怪的道路

    对状态设计不熟练,转移时要先考虑一条边都不连继承过来的情况,在从最近的(k)个点里选出(1)个与现在的点连边,为了避免重复,这里采用了倒序枚举的方式
    中途还因为数组开小了(WA),要开到((1<<(k+1)))而不只是((1<<k))

    (tips:) 注意数据范围,需要判断次序计数时,可以用(01)背包的思路倒序枚举

    (Football)

    概率裸题,但是要注意这一次的不能与前一次重合。数组开小导致(RE) (2^7=64) (QAQ)

    (聪明的猴子)

    MST裸题,1A

    10.29

    (Accumulation Degree)

    较基础的换根(DP),但由于换根时忘记(DFS)错了,还是要注意静态差错能力

    (Computer)

    个人觉得细节比较多,因为复制粘贴,导致最大值和次大值有一段没有更新,(WA)了一次,然后需要注意的是如果与最大值相同,可能导致后面决策不同,也要更新

    10.30

    • (最小斯坦纳树)

    10.31

    打了一场模拟赛,因为中途有些事情,所以(T3)出了状况也没想,(T4)打表水了(80)(T1)只会暴力

    (benifits:)

    (T1)

    考场只打了暴力

    [sum_{i=1}^n {C_n^i*C_m^i} ]

    [sum_{i=1}^n {{C_n^i}*{C_m^{m-i}}} ]

    [C_{n+m}^n ]

    形象的理解其实就是从(n)中选(i)个,从(m)中选(i)个,及相应从(m)中选(m-i)个,那么就可以转换为从(n+m)中选择(m)个了

    (T2)

    还是打了暴力
    新套路:将集合的操作转换为时间戳,就可以用差分的思想,动态开点维护区间最大子段和
    注意:rt和tot不能同时设为1,必须(rt=0,tot=0,)否则就不能够动态开点。

    (T3)

    考场上想到了代价转贡献,但(f[i][j])定义为长度为(i+j-1)中第(j)条边的方案数从来没有见过,还是要加深理解

    (T4)

    考场想到了打表骗了(80pts)
    (80pts)状压的设计没有想到,反而想到了更为复杂的沙雕暴力状压。
    正解矩阵树不多见,模型转换不出来,掉线了。

    11.1

    又打了一场膜你赛

    (T1)

    (and,xor,or)的乱搞题目,找规律(AC)

    (T2)

    树形DP的经典套路,先处理子树,再换根,注意维护最优解,次优解
    之前一直想到当(son[u])不唯一时就赋值为(0),其实是没必要的

    (T3)

    用双关键字(dij)水过,正解是(dij)最短路径树上(DP),个人感觉没什么差别

    (T4)

    一点思路都没有。。。

    (centroids)

    比较难的一题树形(DP)

    • 1.(frac{n}{2})运用:不合法的子树只可能有一个
    • 2.(son[u]):这个数组如果有多个相同子树是不用赋值为0的,因为这个时候,(d[u])(d1[u])都是最大值,没有必要为0
    • 3.(d[u],d1[u])这里维护的是子树内的能被替代的最大,次大子树,注意子树内和子树外在这道题里要分开转移,因为如果上面的子树外的(d)数组合在一起了,儿子的(d)数组就可能不合法了
      特殊的地方是,如果这个子树是这个点(u)能拿出的最大子树,那么这个(d[u])对于这个子树来说是不合法的,所以我们还要记录一个(pos[u])
      小结:对于换根DP还是不大熟悉,思维量没上去,还是要多练,记住分别考虑子树内和父亲转移,如果不能变成一个数组就要拆开

    (farmleft)

    自己的贪心策略是对的,但是最后没有对(2*(n-1)+c[1])(max),所以只有(90pts)

    11.2

    模拟赛

    (T1)

    OEIS题,不会写,赛后看题解才大概了解推法,注意分类讨论
    复习了下矩阵,取模时最好(+mod)不然可能会(溢出)

    (T3)

    想复杂了,其实每种矩阵都只需要判断(2*2)的小矩阵的情况,根据小矩阵还原大矩阵

    (T2 T4)

    神仙题/fad

    (Out of hay)

    mst模板

    (The unique MST)

    考虑权值相同的边可以加几条,实际加了几条,联通效果是一样的,用单调队列可以控制复杂度在(O(m))

    最小瓶颈路 加强版

    注意数组2倍4倍,另外求(lca)其实可以通过记录出来后的时间戳,再用st算法倍增处理出(l,r)段内的(dep)最小的节点其实就是(lca)

    11.3

    打了一场模拟赛

    (T1)

    (sb)错误:1.通过记录下一个不是零的来加速,可是如果第一个就是0,就只会输出0,必须找到第一个不为0的
    2.vector没有朴素数组快,实测会T

    (T2)

    考场上想到维护区间,然而没有了优化空间,正解的思路是利用栈的单调性

    (T3)

    只会暴力,看来还是要加强对状态设计的能力

    (T4)

    用贪心包装的数据结构题,暴力都打挂了

    总结:今天第一题太粗心,对成绩影响很大,看来不能忽视简单题

    11.4

    模拟赛

    (T1)

    构造题,找规律本来已经找出来了,结果不知道为什么没有交上去只交了一个暴力??!!!!
    其实赛时程序是能过的/fad

    (T2)

    没有想到(2^i)的性质,其实就相当于瓶颈生成树

    (T3)

    不知道为啥写倍增挂了,结果居然是数组开小了?!!!
    再看
    ???
    是题目出错了?数据到5e5题面只到1e5。。。。。

    (T4)

    简单的状压+二分的题,A了

    总结:今天其实正常分数是310,但由于自身原因和题目的问题,没有把握好,第一题这样的低级错误不能在赛场上出现,以后一定要先检查文件是不是最终的版本

    训练记录:

    牛场围栏

    sb错误,数组是(n^2)级别的开小了

    墨墨的等式

    注意到同余最短路取最小的才是最好的,之前不知道为啥记成最大的了

    11.5

    模拟赛

    (T1)

    折半搜索,手写二分查找快了一倍多(

    (T2)

    找规律题,没有发现差值递增,且序列增长快,所以序列(leq 1e9)其实是很少的,可以暴力枚举,后面的差值只可能是相邻两项,二分即可

    (T3)

    考场上想到了枚举贡献,但是在数字相等时卡住了,差分的思路也有想到,但考后订正时发现细节部分错误了,由于标程看不懂,所以还没写完

    (T4)

    写了暴力,正解分块?!,DS题果然还需要加强

    总结:注意观察题目所给的提示,记得 没有思路时要打表找规律;对数据结构题要有耐心;

    11.6

    奖励关

    一道挺简单的期望DP,但是因为多取了一次,所以一直错,看来还是要注意边界和细节

    T3 护甲

    差分还是没有调出来,二阶差分还是要加强啊。。。

    11.14

    期中考完的第一场模拟赛,头还有点晕,有些难受。。

    T1

    没想到是数学题。。考后一推式子就出来了,考时没有想到,花了太多时间

    T2

    用约数个数公式先入为主了,没有想出交换顺序,

    T3

    其实是挺简单的一道构造题,但是没有时间打了,赛后补了

    T4

    没有打好暴力,没了

    总结

    刚考完,成绩不(fei) 是(chang) 很(bu) 理 想,心态有些崩了,T1这种签到题都没做出来。。还是要合理安排时间

    11.16

    以后只能隔天来机房,平时多花点时间思考吧,感觉效果可能会更好

    (link out cendroids)

    想到了一些比较奇怪的思路,之前一直想错思路,后面想到了重心的性质,其实就可以把下面重心随便断一条边,给上面的重心。

    (魔法指纹)

    分块打表,乱搞模板。但是奇奇怪怪地WA了,后来发现自己暴力都写错了。。
    打表时没有注意数组下标从0开始,所以WA得很离谱

    11.18

    这两天一直在想潜入行动,但是还没想出来。。看了一些数学的课件,晚上来机房打了dsu on tree和长链剖分

    树上(k)级祖先

    长链剖分的运用,调了半天结果是(dfs2)的时候写了(dfs2(son[u],u) RE)
    大概思想是,先跳完(2^{maxw}),剩下的必然会小于当前链的(len)(可以用反证法),那么只要存储向上向下(len)的节点就可以了,注意向下的只要存在链上的点就可以了

    (CF1009F Dominant Indices)

    理解了思路,但是实现不是很懂,抄了一部分std,主要是内存分配那部分。
    最后错了一次,是因为getans的时候重复算了一次重儿子
    最后在邱老师帮助下理解了分配内存的写法。

    11.20

    做了几道欧拉函数的板子

    潜入行动

    DP思路想错了,要用之前的u状态来合并更新状态,之前一直只想用U状态来更新

    11.21

    打模拟赛,早上思路很混乱,根本没有推到一点性质,rk倒一了

    T1

    没有大样例,我天真地以为只有1,-1,0然后爆炸了

    T2

    连暴力都没打出来,只想到了最后一定是用一整行黑的去染色

    T3

    和上次一样的题目,但还是没想出来

    T4

    想到了分块。。只打了个挂了的暴力
    总结:今天模拟赛在暴力和正解上纠结了很长时间,导致T1,T2这种智慧题一点思路都没有,还是要注意安排时间

    (UVA10299)

    欧拉函数裸题,注意特判(n=1)的时候输出(0)

    11.22

    这两天T1正解居然都是暴力。。然后想着位运算多了个(n)的复杂度就(GG)了,第二题是个推式子题,(T3 T4)都不大懂思路,(T4)想出来了大部分,但是由于实现能力太差,没能打出来,只拿了暴力分
    T2赛后订正时,把代码写得清爽一点就过了,还是不要压行啊,溢出的不明不白
    T3赛后看标程理解了如何实现,看来以后遇到不会的题要往分治的思想靠,可能会优化复杂度,而且写起来比较清晰
    T4码农题,看了题解就溜了

  • 相关阅读:
    网页使用思源字体 CSS
    不用軟體解PPT密碼
    服务端性能测试校准v1.2
    开发语言性能对比,C++、Java、Python、LUA、TCC
    数值溢出测试工具,协议测试专用
    真人算法演示
    Visual Studio并发Qpar优化效果
    服务端性能测试工具校验v1.1
    IOCP和WSA异步协同客户端版
    服务端性能测试工具校验v1.0
  • 原文地址:https://www.cnblogs.com/coder-cjh/p/13854814.html
Copyright © 2011-2022 走看看