• 总结20170317那一周


      这是笔者当时的总结,部分东西过于naive,敬请理解。


       近来,考了几套NOIP真题,另外伟大的斯堪福·胡也给考了几道,余以为甚为有趣。之前已经写了一些总结,但总还认为不够。

    20170317

    Math

    (mhy12345)

    Sequence

    0

    Calc

    100

    Cube

    0

     

    20170318

    Data Structure

    (idy002)

    Rotinv

    60

    Rise

    0

    Seqmod

    30

     

    ##**20170317 Math(mhy12345) **

      Sequence是一道很有趣的题,单峰队列……

      因为不好画图,请自行脑补……

      当时,看到这道题,整个人是蒙蔽的。画了一下图,模拟了几组数据,才明白题意。**所以,稍微多花一点时间审题,真的是很重要的。**

      **另外,不得不说,此题的样例太水了,实在是太水了。(所以说,样例对了并不能说明你真的看懂了这道题)**例如,我开始时猜了几种通项公式,结果统统否定了。话说这种题,不求通项O(1)求解简直是无稽之谈。

      直到最后,我才发现,居然就是……

    2n-2

      当时,我半信半疑(事后推了出来),但还是用了,只不过long long×long long爆了……

      ** P. S. : lmy说,laekov是一名人称“何家坳”的稀有生物……**

      Calc就是求逆元。

      这里稍微总结一下求逆元的方法。

      Cube这道题啊,很有价值(超立方体可以让人大开眼界)。

      它的递推公式相对好推,但通项公式的确难懂。

      但是,仅仅如此还是不够,得加上线性筛。幸好有中。

    ##**20170318 Data Structure(idy002) **

      Rotinv这道题可以让我们深度理解**树状数组**。因为n个序列中,可以轻松算出任意两项的先后位置关系,之后便能写出前缀和数学公式,套上树状数组。

      **但是,此法不算最优,因为开了两倍空间。而且,注意,这类题目 long long要多开(为此WA40分)。**

      Rise很有趣,因为我们可以不用线段树。

      点与点之间有一些next的关系,中间的可以直接跳过。

      ** next[i] = min{ j | aa[i] < aa[j] 且 i < j }**

      readin(n);readin(m);

      for( int i = 1; i <= n; i++ ) readin(aa[i]);

      for( int i = 1; i <= n; i++ )

        for( int j = i+1; j <= n; j++ )

          if( aa[i] < aa[j] ) {

            next[i] = j;

            break;

          }

      while( m-- ) {

        readin(L);readin(R);

        int now = L, ans = 1;

        while( next[now] != 0 && next[now] <= R ) now = next[now], ans++;

        printf( "%d ", ans );

      }

      这与题目的性质有着极大的关系。**lmy说,这叫跳跃表。但是,考试时我打的有小问题,便WA完了。**

      我大概没有权力来讲第三题。

      Seqmod是有序链剖,当时丁神讲过。当时并不觉得有多稀奇,但**lmy说,idy002当时做BZOJ3999时,想了很久,始终认为链剖必须有序,便开创了一种新算法。**

      确实,网上查不到**有序链剖 **。而它与“无序链剖”最大的区别即是不用swap。在普通链剖中,swap是处理深度不同时的“必要”措施,但在此题下,一切都必须有序。我们需要引入更多特判,但思路依旧很清晰。*

      **考场上,没能打出来,便写了DFS暴力,依旧30。所以,多看数据范围是有好处的。**

  • 相关阅读:
    HANDLER进行堆叠注入
    CDUT第一届信安大挑战Re-wp
    Nu1LBook第一章wp
    Linux和VMWare
    [MRCTF]Xor
    IDA 调整栈帧 (411A04:positive sp value has been found)
    [BUU] 简单注册器
    2020年“安洵杯”四川省大学生信息安全技术大赛 部分WRITEUP
    关于我的pip不听话,总是说【Fatal error in launcher: Unable to create process using '"'】这件事
    C语言的PELode编写记录
  • 原文地址:https://www.cnblogs.com/Doggu/p/test20170317.html
Copyright © 2020-2023  润新知