zoukankan      html  css  js  c++  java
  • 【Noip2015pj】求和

    大佬们的题解都看不懂啊...果然还是太弱了呢。那么这里就给出一个自认为比较好理解的题解吧(qwq)


    正文部分:

    首先考虑部分分:
    (10pts:O(n^3))枚举
    (40pts:O(n^2))枚举:
    移项得知:(2y=x+z),那么对于(x+z)为偶数的时候,一定有(y)存在,否则相反,于是复杂度就降了一维:
    (100pts:O(n))
    同样继续(40pts)做法:将(y)移项:
    那么原式就成了:$$x+z=2y$$
    于是我们就可以讨论(x)(z)的奇偶性:

    奇+偶=奇
    奇+奇=偶
    偶+偶=偶
    偶+奇=奇
    

    发现没有:(x)(z)的奇偶性必须是相同的
    那么我们不妨定义一个集合(i),它有(n)个元素,并且这个集合里的数都是同奇偶且颜色相同的。(为方便,之后英文(number)统一写成(num)
    于是这个集合所造成的贡献就是:

    ((i_1+i_2)(num_{i1}+num_{i2})+(i_1+i_3)(num_{i1}+num_{i3})+...+(i_{n-1}+i_n)*(num_{i_{n-1}}*num_{i_n}))

    好晕啊。。那我们不妨就单拿(i_1)来举例子,即只考虑与(i_1)有关的项:于是式子就变成了:

    ((i_1+i_2)(num_{i_1}+num{i_2})+..+(i_1+i_n)*(num_{i_1}+num_{i_n}))

    似乎毫无头绪,那么尝试把与(i_1)有关的式子展开一下:

    (i1*num_{i_2}+i1*num_{i1}...+i1*num_{in}+i1*num_{i1})

    发现没有,似乎有些规律:
    继续尝试,将式子整理一下:
    (i1*(num_{i2}+...+num_{in})+(n-1)*i_1*num_{i1})
    我们来解释一下为什么是(n-1)组,因为(i_1)(i_1)不能组合为一组,但是与集合中的其他元素都能组合,顾为(n-1)组。

    当做到这一步时,恭喜你,你已经离成功很近了。

    这时还差最后一步,很明显:((num_{i2}+...+num_{in}))这个东西是不确定的,比如当统计(i_2)时这个东西就变成了((num_{i1}+num_{i3}+...+num_{in})),但是我们要预处理出来的一定是一个可以计算的数,于是就要考虑有没有什么方法可以变形出一个等价的式子。
    发现这个东西是不是跟(i_1+i_2+...+i_n)很像?没错,我们把这个东西加上(i_1*num_{i1}),在最后面再减掉(i_1*num_{i1}),于是原式就变成了这样:
    (i1*(num_{i1}+num_{i2}+...+num_{in})+(n-1)*i_1*num_{i1}-{i_1}*{num_{i1}})

    合并一下同类项:
    原式=(i1*(num_{i1}+num_{i2}+...+num_{in})+(n-2)*i_1*num_{i1})

    =(i_1*[num_{i1}+num_{i2}+...+num_{in}+(n-2)*num_{i_1}])

    呼呼,终于归纳完了。
    于是我们就可以求出一个关于(i_n)的公式:

    (i_n*[num_{i1}+num_{i2}+...+num_{in}+(n-2)*num_{i_n}])

    很明显(num_{i1}+num_{i2}+...+num_{in})是可以预处理出来的,于是这道题就做完了。。真毒瘤啊。应该已经很清楚了吧,那我就不放代码啦(qwq)

  • 相关阅读:
    从B树、B+树、B*树谈到R 树
    1.红黑树和自平衡二叉(查找)树区别 2.红黑树与B树的区别
    红黑树 Java实现
    自平衡二叉(查找树/搜索树/排序树) binary search tree
    从零开始: 二叉查找
    深入理解JAVA虚拟机JVM
    java中的变量各占得字节数
    java中new两个对象,在堆中开辟几个对象空间
    Spring面试,IoC和AOP的理解, @Transactional原理及使用
    EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
  • 原文地址:https://www.cnblogs.com/Sai0511/p/10360601.html
Copyright © 2011-2022 走看看