1. 程式人生 > >codeforces 1091 考後總結

codeforces 1091 考後總結

  • 前言

  • none

  • 一句話的題意

    • A:略

    • B:略

    • C:給定一個圈,圈內的數字分別為1~n,然後定義f[i]=以i為間隔從1開始再次走到1時經過的所有數字和,求所有不同的答案

    • D:給定數字n,定義p為n的所有全排列從小到大連線,求從這個序列中取連續的n個數字使這段數字的和為N*(N+1)/2

    • E:nmdp

  • 不止一句話的題解

    • A:略

    • B:略

    • C:

      /*
      10
      1 1 2 3 4 5 6 7 8 9 10 
      2 1 3 5 7 9 
      3 1 4 7 10 3 6 9 2 5 8 
      4 1 5 9 3 7 
      5 1 6 
      6 1 7 3 9 5 
      7 1 8 5 2 9 6 3 10 7 4 
      8 1 9 7 5 3 
      9 1 10 9 8 7 6 5 4 3 2 
      10 1
      */

      從上面這個資料可以看出來,只有因數的情況是有意義的,然後sqrt(n)掃出素數,然後快速用等差數列判斷即可

    • D:

    • E: