zoukankan      html  css  js  c++  java
  • 长沙集训day7

    ---恢复内容开始---

         这输入法有毒哇。(XF刚刚笔记本卡了,没有保存,还得在打QAQ)

        已经来着一个星期了,这星期的集训又开始了,直接进入正题

        t1:

        给你一个长度为n的序列,让你求出abs(a[i]-i)的最小值和。你可以对数列做一次操作,使得数列所有的数往前移动一个,第一项变为第n项。看到这道题想了一会,暴力分是很好拿的,但是优化没有想出来,害怕后面的分拿不到,所以就先打了一个30分的暴力。就是将原序列的长度扩大一倍,使a[i+n]=a[i],这样直接往后扫就可以了,不用考虑操作完后的数列了,所以直接依次求出序列的最小值就可以了。

        t2:

        给你n个点,每个点的度,让你求出有多少种组成无向图的情况。当时直接略过这道题了,没有理解懂什么意思。(这输入法真的搞笑)

        先说t3:

        给了一个奇奇怪怪的公式,LFY的电脑我还不会截屏QAQ,公式就先不站了,回来不上。这道题又和莫比乌斯函数有关,上星期考过一次莫比乌斯反演。当时考完之后还查了查,今天就又考了。

        他也给出了莫比乌斯函数的性质:

        (1)µ(1) = 1

        (2)当 n 存在平方因子时,µ(n) = 0

        (3)当 n 是奇数个不同素数之积时,µ(n) = −1

        (4)当 n 是偶数个不同素数之积时,µ(n) = 1

        为防止拿不到分,现给出前 10 个自然数的 µ 值:{1, −1, −1, 0, −1, 1, −1, 0, 0, 1}

        然后就可以求出后面项的莫比乌斯函数,可以先求1-10000的素数,然后在判断1-10000中每个函数的因数,如果有平方因子的话就为0(比方说:18的一个因子为9,9为平方数,所以18有平方因子)然后照着性质敲就好了。

        然后直接暴力求出函数的答案就好了。暴力30分。

        (暴力出奇迹)

        然后今天就拿到了60分。  

        然后今天又查了查莫比乌斯函数前n项的公式:

        m[1]=1;

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

        {

          for(int j=2*i;j<=n;j+=i)

          {

            m[j]-=m[i];

          }

        }

        下午讲了讲DP入门的知识,和一些我们OJ上有的题,又理解理解了DP这个东西。因为毕竟学过DP,也都能听懂。

  • 相关阅读:
    Oracle Function:COUNT
    SQL Fundamentals: Using Single-Row Functions to Customize Output使用单行函数自定义输出
    Oracle Function: NVL
    将searchBar的背景灰色去掉
    cardboard sdk for unity 系统分析
    搭建CARDBOARD+ANDROID+unity3d的VR开发环境
    adb server is out of date.killing的解决办法
    Android SDK Manager国内无法更新的解决方案
    cardboard sdk for unity 下载地址
    转载:Eclipse build Android时不生成apk问题解决方法
  • 原文地址:https://www.cnblogs.com/lcyhaha/p/7327761.html
Copyright © 2011-2022 走看看