精华内容
下载资源
问答
  • 7 持续形态

    2019-12-23 14:03:49
    还有一群蜡烛图形态构成持续性技术指标。 日本人的话说,“有时当买进,有时当卖出,有时当休战”。 这类持续性形态中,大多意味市场正处休整阶段,要喘息下,然后,市场仍将恢复先前趋势。 讨论的持续形态有: 窗口...

    • 多数蜡烛图信号属反转
    • 有一群构成持续性。
    • 这类持续性大多意味市场正处休整,要喘下,然后仍恢复前趋势。
    • 有:
      • 窗口(及含有窗口的一些蜡烛图形态)、上升三法和下降三法,
      • 白色三兵

    窗口

    • 回填跳空;关上窗口。
    • 阐述窗口基本概念,探讨含窗口(跳空)的其它一些形态。
    • 跳空包括
      • 并列黑白线、跳空突破,及跳空并列白色。

    在这里插入图片描述

    • 图7.1是上升中窗口。
    • 图7·2是下降中窗口。
      • 前一天的下影线和当日的上影线间,未发生价格活动。
      • 参与者应当顺着窗口形成的方向建立头寸。
      • 同时,窗口将化为支撑或阻挡。
      • 上涨中,如果出现了一个窗口,意味价格将进一步上升。
      • 今后当市场回撤时,窗口形成支撑。
      • 如果市场在向下回撒时关闭这窗口,在窗口关闭后,抛售压力依然存在,那么先前的上升就不成立。
    • 下跌中,如果出现窗口,意味将进一步下降。
      • 此后形成的任何向上价格反弹,都会在这个窗口处遭阻挡。
      • 若该窗口被关,且关后,上涨行情继续,那么,原来的下降就完结。

    • 蜡烛图技术确信,当一个窗口形成后,如果市场开始调整,那么,价格将回到该窗口处。
    • 换言之,市场很可能回头试探一个打开的窗口。
    • 因此,在上升趋势中,可以把窗口看作买进的参考点,乘市场回撤到这里时入市。
    • 另一方面,如果在窗口关闭后,市场的抛售压力仍然不消退的话,那么,就应当
      把多头头寸平仓出清,甚而可以考虑建立空头头寸
    • 如果在下降趋势中出现了一个窗口,就应当采取与上述相反的对策。

    在这里插入图片描述

    • 图7.3中
    • 自看张吞没形成上涨,过程中出现窗口1和窗口2。
    • 窗口2后,市场上“掉下”一颗流星。
    • 在流星线的下一个交易日里,市场以较低的价格开市,关窗(填回跳空)
    • 记住:窗口之后发生的市场回撒,将重新返回窗口。
    • 从这一点看,在本例中市场向下回落到该窗口处,是意料中事
    • 如果这个窗口关后,市场的抛售压力仍然持续着,那就标志着上升趋势已终结了。
    • 这里未形成这样的局面。一旦该窗口被关,市场的抛压消解。
    • 市场在窗口1所形成的支撑区维持很好。
      • 在2月20日所在的一个星期中,市场趑趄不前
      • 后来,市场曾再度向下试探窗口2处的支撑水平。
      • 这次试探又成功,于是向上推进,打开窗口3。
      • 这个窗口非同一般,它标志着以跳空形式向上突破1.10的阻挡。
    • 1.10过去构成阻挡,现向上突破,应为支撑。
    • 这里一方面受到上述支撑作用,另一方面还受窗口3构成的支撑,因此,有两方面预期1.10提供坚实支撑。
    • 后在整个3月,该区域的确为牛方提供扎实立足

    在这里插入图片描述

    • 从横向整固区间中跳起的窗口,及从新高价位上跳起的窗口,注意。
    • 图7.4。
    • 3月初窗口向上突破0.15,是对为期3个月的横向调整区间突破。
    • 0.15附近的这个窗口具备双重支撑。
    • 首先来自该窗口本身,其次,因为这里过去是阻挡区,现为支撑。
    • 随后几个月,这个窗口为提供支撑。
    • 4月2日和3日孕线。
      • 表明先前趋势(下降)已耗尽能量。
    • 数日后,看涨吞没。
    • 4月16日,出现了倒锤。
    • 这些看涨统统发生在本窗口所在的0.15美元附近

    在这里插入图片描述

    • 图7·5,
    • 88年3月,看涨吞没预示上冲。
      • 上冲中,打开了一个窗ロ。
      • 之后,上涨继续,直至看跌反击线。
      • 该窗口维持5星期支撑,窗口关闭后,抛售压力依然如故
    • 因此上升破产。

    在这里插入图片描述

    • 怎利用窗口作为支撑或阻挡。
    • 窗口还其它用途(图7.6)。
    • 窗口可构成有意义的向上突破,特别当这个窗口从较低的横向整理区间向上跳起,且形成窗口的是根小的黑色蜡烛时。
    • 图7.6
    • 整个2月价格在狭小的横向。
    • 24日和25日,形成向上小窗口,且形成窗口的是根小黑。
    • 次日证实了窗口的支撑。
    • 26日,不仅守住本窗口支撑,且产生属于最坚挺类型的长白,开价当日最低(是看涨捉腰带线),收价当日最高(全禿大阳线)。

    在这里插入图片描述

    • 图7.7
    • 1月中旬大窗口。
    • 从1月底到2月底,市场一再回升到这个窗口附近(窗口之后发生的回撤,将重返窗口)。
    • 但每一次反弹,只要接近由该窗口的阻挡,上涨就短路。

    在这里插入图片描述

    • 图7.8。
    • “87股市大崩溃中,2150到2200间形成窗口。
    • 这场下跌趋势何时才算到头?
    • 两条件:
      • 把这个巨大窗口向上关掉;
      • 在窗口关闭后,市场上的买进压力如故。
    • 89年初,两条件都实现。

    在这里插入图片描述

    • 图7.9
    • 另一说明窗口形成阻挡
    • 窗口1发生5月下旬,是小窗口。
      • 意味当前下跌行情将继续。
      • 之后数周内,窗口变成阻挡。
    • 窗口2时,就有机会强调趋势的重要性。
    • 房地产经纪人:“对房地产最有影响力的三因素:地点、地点、地点。”
    • 市场最重要的三方面是:趋势、趋势、趋势。
    • 图7.9主要趋势是向下

    here!!!

    向上跳空和向下跳空并列阴阳线形态

    在这里插入图片描述

    • 向上跳空并列黑白(向上跳空并列阴阳线,图7.14)
    • 市场本处上升。
    • 这时出现向上跳空白蜡烛。
      • 紧跟另一根黑色蜡烛。
      • 开价位于白实体内,收价位于白实体下。
      • 黑蜡烛的收价,就构成买入点。
    • 如果市场回头填补这里的跳空(即关闭该窗口)后,抛售压力依然很明显,那这个向上跳空并列黑白蜡烛线的看涨意义就不成立。
    • 在向下跳空并列黑白蜡烛线形态(向下跳空并列阴阳线,图7.15)中,方向相反。
    • 向上跳空和向下跳空并列黑白蜡烛线中,两根蜡烛线实体大小应不相上下。
    • 这两种都少见。

    在这里插入图片描述

    • 图7.16,9月最后一周,出现小价格跳空
      • 下周是黑蜡烛,
      • 开市价位于上述蜡烛线自色实体的内部,收价低于白实体的开价。
      • 这样一来就形成向上跳空并列黑白蜡烛线。
    • 本形态的窗口虽小,但10月市场向下回撒的过程中依然起到支撑。
    • 图示看涨捉腰带线标志着上冲行情发轫。

    高价位和低价位跳空突破形态

    在这里插入图片描述

    • 上升中,经历一两急剧上涨后,正常都要一个消化。
    • 有时通过系列小实体完成。
    • 如果一根坚挺的蜡烛线后,出现一群小实体,则表明市场犹豫
    • 一旦后来某天的开市价从这群小实体处向上跳空(形成窗口),买进时机就熟。
    • 是高价位跳空突破(图7.17)。
    • 这类形态中,先在最近形成的高价上徘徊,后才决心向上跳空。

    在这里插入图片描述

    • 图7.18是向下跳空的窗口,从一个低价位的横向密集区处向下打开。
    • 这个横向密集区(一系列较小实体)发生在一两个急剧下跌的交易日之后,曾使市场稳定。
    • 从这群小实体蜡烛线的外观看来,似乎正筑底。
    • 但后来以窗口的形式从这个密集区向下突破,打消看涨念头

    在这里插入图片描述

    • 图7.19,从10底到11初,3根小实体组成一系列,前头是高高白
      • 小实体消化巨幅上涨。
    • 市场终于从三根小实体上向上跳空,本例的第一个向上跳空突破完成。
    • 之后,继续上冲,直到11月17和18出现鸟云盖顶。
    • 在高价位跳空突破形态2中,首先出现高高白,然后是较小实体,最后是向上打开的窗口。
    • 这个窗口后化为支撑

    在这里插入图片描述

    • 图7.20,6月29日的蜡烛线向上跳空打开窗口时,发出一个看涨。
    • 本窗口走完了图示的向上跳空突破形态的最后一步。
    • 在这个跳空突破形态之前,6月11日出现过另一根坚挺的白色蜡烛线。
    • 在这根线之后,也跟着一群小实体的蜡烛线。
    • 这种局面已具备演化为一个高价位跳空突破形态的潜力。
      • 然而,最后市场没向上跳空,也就没形成买入

    在这里插入图片描述

    • 图7.21。

    • 7月20和21,该市场快速地下跌18点。

    • 之后,市场在低价位横向一星期以上(跳空突破中,调整过程不应超11单位)。

    • 一位应用蜡烛图技术的基金经理)根据图示的低价位跳空突破形态,在8月2
      日获得了一个卖出(参见图中箭头所指的十字线)。

    • 研究蜡烛图形态时,技巧和程序都是要领,不是固定的。

    • 原则上,要完成一个低价位跳空突破形态,则应当向下跳空。

    • 8月1日的最低点为355.80,8月2日的最高点为355.90。并未跳空。

    • 实际上这种情况与跳空相差无几,所以8月2日,还是获得了他的卖出。

    • 小实体之前,代表价格急剧下跌的那根蜡烛线并未收市于当日的最低。

      • 随后的几个交易日,价格一直局限于这一天的价格区间的下半部分,
      • 它们的外形与低价位跳空突破形态十分像,足以卖出。
    • 蜡烛图技术形态同其它图表分析技术一样,为分析者的主观留余地

    跳空并列白色蜡烛线形态

    在这里插入图片描述

    • 上升中,先出现向上跳空白,随后又是一根白,且后面这根线与前一根大小相当,开价差不多处同样水平,就形成一种看涨持续。
    • 称向上跳空并列白色蜡烛线(向上跳空并列阳线形态,图7·22)。
    • 如果收市在并列白色蜡烛线的最高点之上,则意味下一波上涨展开

    在这里插入图片描述

    • 上面的并列白少见。
    • 更少见的还有向下跳空的两根并列白
      • 称向下跳空并列白色蜡(图7.23)。
      • 下降中,这类并列的白也构成一个持续。
      • 这类形态出现时,价格将继续走低。
    • 为什么不是看涨(如在向上跳空的形态中那样),而是看跌?
      • 下降的市场中,这两根白由空头平仓造成
      • 一旦空头平仓的过程完成,价格就进一步跌。
    • 向下跳空并列白色之所以特别罕见,原因不难理解。
      • 下降中,向下跳空时,如果形成跳空的是黑,当然比一根白色自然得多。
      • 如果在下跌的行情中,先出现向下跳空的黑色,后面又跟一根黑,且后者的收市价比前者低,那么市场将开始下一轮下跌。

    在这里插入图片描述

    • 图7·24,3月上旬出现向下跳空并列白。

    • 下降趋势中出现这种形态的解释是,空头正获利平仓。

    • 由此可见,这个形态只是为市场的下降过程提供了短暫的休整

    • 本例正是这样:市场在经过了一段时间的调整后,又恢复了下跌。

    • 这不是一个理想的向下跳空并列阳线形态,因为其中两根白色蜡烛线的开市价并不处同样的水平,且两根白色之间还间隔了一个交易日,虽如此,它的图形与向下跳空并列白色线形态还是可以相提并论

    • 图7.24中,还有两向上跳空并列阳。

    • 如果这类形态出现在较低的价位,则看涨。

    • 第一个向上跳空并列白中,

      • 三根白色蜡烛线的开市价差不多都在同一个水平上。
      • 该形态后,短暂的向下回撤,5月8日,一度稍稍向下突破了该形态中窗口处的水平,但立即反弹。
    • 第二个向上跳空并列阳也看张。

    • 本形态体现向上跳空并列白特点,

      • 为市场提供了一个坚实的立足点

    上升三法和下降三法形态

    在这里插入图片描述

    • 包括看涨的上升三法,以及看跌的下降三法。

    • 均属持续形态。

    • 上升三法形态(图7.25)的判别标准,

      • 1.首先长长白
      • 2.依次下降的小实体。
        • 理想是3,再多1、2根,也可
        • 小实体都局限在前面长白的价格范围内。
        • 这群较小的均处于第一天的价格范围内,与最前面的长蜡烛构成了类似三日孕线(本形态,小蜡烛线均处于该蜡烛线的上下影线的范围内;孕线形态中,仅是小蜡烛线的实体包含在前面那根蜡烛线的实体内)。
        • 小蜡烛可白可黑,最常见黑
      • 3.坚挺白实,
        • 且它的收市高第一天的收价。
        • 这根开价也应高前一天收价。
    • 本形态与西方看涨旗形或看涨三角旗形相似。

    • 不过,上升三法起源可18世纪。

    • 三法代表买、卖之外的第三种交易策略

      • 休息,
      • 代表牛、熊之争的一次休战。
    • 市场通过这一群小蜡烛线,获喘。

    在这里插入图片描述

    • 下降三法(图7.26)
    • 过程:市场处在下降中,先出场的是一根长黑。
    • 在这根黑色之后,跟随着大约三根依次上升的小蜡烛线(通常都
      是白色),且这群蜡烛线的实体统统局限在第一根蜡烛线的范围之内(包括其上、下影线)。
    • 最后一天,开市价应低于前一天的收市价,且收市价应低于第一根黑色蜡烛线的收市价。
    • 当最后这根黑色蜡烛线形成后,市场便会向下滑落。
    • 与看趺旗形或看跌三角旗形相似。

    在这里插入图片描述

    • 图7.27经典的上升三法。
    • 市场本处上升,这时出现一根白色,后跟三根小实黑。
      • 黑色都处于该白色的价格范围。
    • 最后一根白色蜡烛线的收价超过第一根蜡烛线的收价。
    • 下面这项因素可能加强其预测意义:
    • 如果头、尾两根白色(黑色)蜡烛线的交易量超过了中间那群小蜡烛线的交易量,那么,该形态的分量就更重。
    • 本图两根白色的交易量明显高于三根小黑。

    在这里插入图片描述

    • 图7.28,上升三法形态的实例。
    • 当图示的上升三法形态完成后,该市场一路上推,一直到图示的看跌吞没出现

    在这里插入图片描述

    • 理想的上升三法,长白后跟三根小黑。
      • 图7.29中,只有两根
    • 88年6月形成一根高白。
      • 7月和8月是两黑,都处6月白色范围内。
    • 9月,一根白,为当前的上涨创新高,但收价未能超过6月收价,仅3单位。
    • 通常情况下,本来能期望看到更高收价。
    • 考虑到最后这根白色(9月份)的收市价只差3便能超过6月的收价,
      • 下个月的蜡烛线发出的看涨验证,因此仍然看作上升三法。
    • 10月的收价创新高,提供验证,确保采取看涨

    在这里插入图片描述

    • 图7.30,
    • 三根小蜡烛介于第一根的最高点与最低点。
    • 在它们之后,出现了另一根白色。
    • 最后这根白色的收价与第一根白色蜡烛线的收市价处在同一水平上,因此,还要进一步验证。
    • 当下一小时的开价高于最后这根白色蜡烛线时,就得到看涨验证。
    • 图示的上升三法顶部如何转化为支撑的,
      • 支撑区在8月1日的第一个小时经受试探

    here!!!

    前进白色三兵形态

    展开全文
  • n个结点下,可构成多少种不同形态的二叉树 先来回顾下“树的定义”中的部分描述: 树是由唯一的根和若干棵互不相交的子树组成的。其中,每一棵子树又是一棵树,也是由唯一的根结点和若干颗互不相交的子树组成的。...

    n个结点下,可构成多少种不同形态的二叉树

    先来回顾下“树的定义”中的部分描述:

    树是由唯一的根和若干棵互不相交的子树组成的。其中,每一棵子树又是一棵树,也是由唯一的根结点和若干颗互不相交的子树组成的。由此可知,树的定义是递归的,即在树的定义中又用到了树的定义。

    我们知道在递归中后一种情形往往都是由前一种情形推出来的
    比如求5!时,假设递归函数为fun():
    函数中核心语句为 n * fun(n-1);式中n是从5开始的,5!=5 * fun(4)
    即要求得5!就需求出4!
    同理要求出4!,就需求出3!
    同理要求出3!,就需求出2!…一直到1!(即1)
    最终可求得5!

    那,既然树的定义也与递归有关,同样也可利用这种思想来解此题

    解题过程

    首先假设结点个数为n时,对应的二叉树形态有 f(n) 种

    当结点个数为n时,首先抽出一个结点作为根结点,则剩余结点个数为n-1。
    我们知道,二叉树的根结点有两个分支,那么剩余的n-1个结点在这两个分支上又是怎样分配的呢?
    一起来看下吧!

    • 当左分支上结点个数为0时,右分支上结点个数为n-1
    • 当左分支上结点个数为1时,右分支上结点个数为n-2
    • 当左分支上结点个数为2时,右分支上结点个数为n-3
    • 当左分支上结点个数为n-2时,右分支上结点个数为1
    • 当左分支上结点个数为n-1时,右分支上结点个数为0

    上面”树的定义“中提到:每一棵子树又是一棵树也即是每一个分支又是一棵树

    接着分析:

    • 所以当左分支上结点个数为0时,其对应树的形态有f(0)种;右分支上结点个数为n-1时,其对应树的形态有f(n-1)种,那么在上述分析中第一种情况下(即左分支结点为0,右分支结点为n-1),结点为n的树的形态有f(0)*f(n-1)种。
      可能会有人疑惑,为什么是乘号而非加号呢?
      其实这是“排列组合的乘法原理”:上述,当根结点、左分支、右分支在一起组合时,才能构成一颗二叉树,而不是只有根结点与左分支或者根结点与右分支就能构成一棵二叉树,所以要用乘号。加号是用在“独立事物”之间的。可参见链接:https://editor.csdn.net/md/?articleId=106034102

    • 那上述第二种情况(即左分支为1,右分支为n-2)下,你能想出来有多少种情形吗?分析思路和上面一致,可以得出此时,有f(1) * f(n-2)种情形

    • 同理,第三种情况有f(2) * f(n-3)种情形

    • 第四种情况有f(3) * f(n-4)种情形

    • 第n种情况有f(n-1) * f(0)种情形
      综上,是不是结点为n时,所有的二叉树情形都计算出来啦?
      即第一种情况+第二种情况+…+第n种情况:
      f(0) *f(n-1) + f(1) *f(n-2) +f(2) *f(n-3) +…+ f(n-2) *f(1) + f(n-1) *f(0)
      注意:这里每种情况都是独立,不相互影响的,所以为加号

    到这里,我们已经知道了f(n)=f(0) *f(n-1) + f(1) *f(n-2) +f(2) *f(n-3) +…+ f(n-2) *f(1) + f(n-1) *f(0)
    那么是不是就要像求阶乘那样,依次求出f(n-1)、f(n-2)、f(n-3)…f(1)、f(0)的值后,即可求出f(n)的值,得到结点个数为n时,二叉树的形态数量呢?

    坚持住!胜利就在眼前了

    求f(n-1)、f(n-2)…的值时,依照上面分析f(n)的思路即可,即先拿出一个根结点后,再分析左右分支
    这里容易看出,当推出公式以后,从前往后进行分析计算较为合适:
    0个结点和1个结点时,二叉树都只有一种情形:前者为空树,后者仅有一个根结点。即 f(0)=f(1)=1
    2个结点时,f(2)=f(0)*f(1)+f(1)*f(0)=1+1=2
    3个结点时,f(3)=f(0)*f(2)+f(1)*f(1)+f(2)*f(0)=2+1+2=5…
    下面的就不再计算了,建议小伙伴们底下自己再手动计算下一是验证咱们的思路猜想是否正确,二是加深自己的理解记忆。

    ------------------*******我是一条可爱的分割线 *--------------

    下面就来讲解一个结论的证明:
    结论:给定n个结点,能构成h(n)种不同的二叉树,h(n)=C(2n,n)/(n+1)
    注:上面那个符号C是排列组合里的,这里不会知道怎么打出那种形式,就这样写了

    搬起小板凳,开始证明

    证明过程中需要用到我们上面得出的递推公式,即:
    h(n)=h(0) *h(n-1) + h(1) *h(n-2) +…+ h(n-2) *h(1) + h(n-1) *h(0)
    注:为了符号保持一致,我将f换成了h,就是符号不同,本质一样滴

    这里我们利用“母函数”来推导(对“母函数”感兴趣的可以问下度娘,我木有百度,就不详细介绍了,不过大致体会出了它的含义,你看在递推公式中一直出现的函数是谁?没错!是h(x))
    这里设一个函数G(x)=h(0)+h(1)x+h(2)x^ 2+h(3)x^ 3+…h(n)x^ n+…

    可以得出G(x)^2=h(0) ^2 +(h(0)*h(1)+h(1)*h(0)) x + (h(0)*h(2) + h(1)*h(1) +h(2)*h(0)) x ^2+…(h(0) *h(n-1) + h(1) *h(n-2) +…+ h(n-2) *h(1) + h(n-1) *h(0)) x ^n-1+…

    (可能乍一看,上面式子很难,但当你在本子上将式子展开后写写画画,发现很简单滴!)
    所以在回过头来看咱们推出的那个递推公式:
    h(n)=h(0) *h(n-1) + h(1) *h(n-2) +…+ h(n-2) *h(1) + h(n-1) *h(0)
    等号左边相当于G(x)的x^n项的系数
    等号右边相当于G(x)^ 2的x^ n-1项的系数

    那么G(x)与G(x)^ 2又有什么关系呢?
    在这里插入图片描述
    通过图片提示我们可以将G(x)^ 2进行转化(已知h(0)=h(1)=1):
    G(x)^ 2=h(1)+h(2)x +h(3)x^ 2+…+h(n)x ^(n-1)+… ①
    注:这里将最开始的h(0)^ 2转化为了h(1)
    我们又知道G(x)=h(0)+h(1)x+h(2)x^ 2+h(3)x^ 3+…h(n)x^ n+… ②
    ①②两式联立可得:G(x)=x* G(x)^ 2+1
    并解得:G(x)1=(1-sqrt(1-4x))/2x
    G(x)2=(1+sqrt(1-4x))/2x
    利用h(0)=1验证可得仅有G(x)2成立,所以取G(x)1

    前面提到,h(n)是G(x)的n次幂项的系数,那么我们要求h(n)的表达式,是不是就转化为求这个n次幂项的系数了呢?是的!没错

    接着分析

    已经得到:G(x)=(1-sqrt(1-4x))/2x
    首先分析sqrt(1-4x),看到这个不知,再联系上述结论中出现的排列组合,不知你有没有象想起广义牛顿二项式定理(其实就是二项式定理的扩展,可以百度百科)
    在这里插入图片描述
    先来分析个简单的:
    在这里插入图片描述
    再来分析sqrt(1-4x):用-4x取代上述公式中的x
    在这里插入图片描述
    写的很多,主要是想让大家弄清楚怎么转化来的,因为我自己当时看时看的一塌糊涂

    快要结束啦!不容易地擦擦眼泪

    上面得到了sqrt(1-4x)的值:
    在这里插入图片描述
    然后将其代入G(x)=(1-sqrt(1-4x))/2x中
    得到:在这里插入图片描述
    而前面说过,h(n)是G(x)的x的n次幂项的系数
    这里当n=n+1时,x的次幂为n,此时,系数为1/(n+1) * C(2n,n)
    即结论得正!

    结束!撒花!

    展开全文
  • AtCoder Beginner Contest 173 比赛人数10755 比赛开始后6分钟看到所有题 AtCoder Beginner Contest 173 E Multiplication 4 数组构成有6种形态 总目录详见... 基本思路:乘积结果,要么是正数(要求绝对值越大越好)...

    AtCoder Beginner Contest 173   比赛人数10755  比赛开始后6分钟看到所有题

    AtCoder Beginner Contest 173   E   Multiplication 4   数组构成有6种形态

    总目录详见https://blog.csdn.net/mrcrack/article/details/104454762

    在线测评地址https://atcoder.jp/contests/abc173/tasks/abc173_e

    题目大意:给定n个元素的数组a,要求挑出k个数,让这k个数的乘积最大,输出这个最大乘积模(109+7)的结果。

    基本思路:乘积结果,要么是正数(要求绝对值越大越好),要么是非正数((要求绝对值越小越好)。

    基本思路:数组构成有6种形态,可结合以下AC代码进行研读。

    1.数组元素全是非负数,乘积是非负数,选定的数组元素的绝对值越大越好(形态1),对应测试数据如下

    Input:
    5 3
    1 2 3 4 5
    Output:
    60
    
    挑出最大的三个数5,4,3
    结果是5*4*3=60

    2.数组元素全是负数(包含形态2,3)

    2.1   k是奇数,乘积结果是负数,要求选定的数组元素的绝对值越小越好(形态2),对应测试数据如下

    Input:
    5 3
    -1 -2 -3 -4 -5
    Output:
    -6
    
    挑出绝对值最小的三个数-1,-2,-3
    结果是(-1)*(-2)*(-3)=-6

    2.2   k是偶数,乘积结果是正数,要求选定的数组元素的绝对值越大越好(形态3),对应测试数据如下

    Input:
    5 4
    -1 -2 -3 -4 -5
    Output:
    120
    
    挑出绝对值最大的四个数-5,-4,-3,-2
    结果是(-5)*(-4)*(-3)*(-2)=120

    3.数组元素构成由负数,0,正数交织在一起.a[n]>=0,a[1]<0

    3.1   乘积为负(形态4),对应测试数据如下

    Input:
    5 5
    -1 -2 -3 4 5
    Output:
    -120
    
    负数数量3
    非负数数量2
    选出最多的数量,乘积为非负数,对应的数量是(3/2*2)+2=4.(注意,负负得正,故负数需要两个两个的选)
    很明显,需选中全部的n个元素,
    结果是(5)*(4)*(-3)*(-2)*(-1)=-120

    3.2   乘积为非负(包含形态5,6)

    3.2.1 k为奇数(形态5),对应测试数据如下

    Input:
    5 3
    -3 -2 -1 4 5
    Output:
    30
    
    负数数量3
    非负数数量2
    选出最多的数量,乘积为非负数,对应的数量是(3/2*2)+2=4.(注意,负负得正,故负数需要两个两个的选)
    很明显,因负数是两个两个选,故非负数的数量是奇数。可以考虑,先选进一个最大的非负数,那么剩下的数的数量就是偶数,便于操作。
    故选取过程如下:
    第一步
    5
    第二步
    -3 -2
    结果是5*(-3)*(-2)=30

    3.2.1 k为偶数(形态6),对应测试数据如下

    Input:
    5 2
    -3 -2 -1 4 5
    Output:
    20
    
    负数数量3
    非负数数量2
    选出最多的数量,乘积为非负数,对应的数量是(3/2*2)+2=4.(注意,负负得正,故负数需要两个两个的选)
    很明显,因负数是两个两个选,k的数量是偶数,便于操作。
    故选取过程如下:
    (-3)*(-2)<4*5
    故选取5,4
    结果是5*4=20

    编写过程中,因为溢出的问题,耗费了大量的时间,请注意,代码中容易溢出的部分如下:

    x=(LL)a[l]*a[l+1],y=(LL)a[r]*a[r-1];

    if(x>y)x%=mod,ans=ans*x%mod,l+=2;
    else y%=mod,ans=ans*y%mod,r-=2;

    AC代码如下:

    #include <cstdio>
    #include <algorithm>
    #define LL long long
    #define maxn 200010
    #define mod 1000000007
    using namespace std;
    int a[maxn];
    LL ans=1,x,y;
    int main(){
    	int n,k,i,b,l,r;
    	scanf("%d%d",&n,&k);
    	for(i=1;i<=n;i++)scanf("%d",&a[i]);
    	sort(a+1,a+1+n);
    	if(a[1]>=0){//全是非负数,绝对值越大越好
    		for(i=n;i>=n-k+1;i--)ans=ans*a[i]%mod;
    	}else if(a[n]<0){//全是负数
    		if(k&1){//k是奇数,乘积结果是负数,要求绝对值越小越好
    			for(i=n;i>=n-k+1;i--)ans=ans*a[i]%mod;
    			ans=(ans%mod+mod)%mod;
    		}else{//k是偶数,乘积结果是正数,要求绝对值越大越好
    			for(i=1;i<=k;i++)ans=ans*a[i]%mod;
    		}
    	}else{//负数,0,正数交织在一起。a[n]>=0,a[1]<0
    		int cnt1=0,cnt2=0;
    		for(i=1;i<=n;i++)
    			if(a[i]<0)cnt1++;//负数个数
    			else break;
    		cnt2=n-cnt1;//正数与0的个数
    		if(cnt1/2*2+cnt2<k){//乘积为负
    			for(i=1;i<=n;i++)ans=ans*a[i]%mod;
    			ans=(ans%mod+mod)%mod;
    		}else{//乘积为非负,要求绝对值最大
    			if(k&1)//k是奇数,得特殊处理一下,里面一定包含了非负最大值a[n]
    				ans=a[n],n--,k--;
    			l=1,r=n;//两个两个的选取
    			while(k){
    				x=(LL)a[l]*a[l+1],y=(LL)a[r]*a[r-1];
    				if(x>y)x%=mod,ans=ans*x%mod,l+=2;
    				else y%=mod,ans=ans*y%mod,r-=2;
    				k-=2;
    			}
    		}
    	}
    	printf("%lld\n",ans);
    	return 0;
    }

     

    展开全文
  • 形态学转换

    千次阅读 2020-10-23 08:17:59
    形态学转换原理:一般情况下对二值化图像进行操作。需要两个参数,一个是原始图像,第二个被称为结构化元素或者核,它是用来决定操作的性质的。基本操作为腐蚀和膨胀,他们的变体构成了开运算,闭运算,梯度等。 1....

    原始图像:

    函数:cv2.erode(),cv2.dilate(),cv2.morphotogyEx()
    形态学转换原理:一般情况下对二值化图像进行操作。需要两个参数,一个是原始图像,第二个被称为结构化元素或者核,它是用来决定操作的性质的。基本操作为腐蚀和膨胀,他们的变体构成了开运算,闭运算,梯度等。
    1.腐蚀
    把前景物体的边界腐蚀掉,但是前景仍然是白色的。卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是1,那么中心元素就保持原来的像素值,否则就变为零。根据卷积核的大小靠近前景的所有像素都会被腐蚀掉(变为0),所以前景物体会变小,整幅图像的白色区域会减少。这对于去除白噪音很有用,也可以用来断开两个连在一块的物体。

    import cv2
    import numpy as np
    
    img = cv2.imread('1024.jpg',0)
    kernel = np.ones((5,5),np.uint8)
    erosion = cv2.erode(img,kernel,iterations=1)
    
    while(1):
        cv2.imshow('image',img)
        cv2.imshow('erosion',erosion)
        k=cv2.waitKey(1)
        if k == ord('q'):#按q键退出
            break
    cv2.destroyAllWindows()
    

    演示结果:

    2.膨胀
    与腐蚀相反,与卷积核对应的原图像的像素值中只要有一个是1,中心元素的像素值就是1。所以这个操作会增加图像中白色区域(前景)。一般在去噪音时先腐蚀再膨胀,因为腐蚀再去掉白噪音的同时,也会使前景对象变小,所以我们再膨胀。这时噪音已经被去除,不会再回来了,但是前景还在并会增加,膨胀也可以用来连接两个分开的物体。

    dilation = cv2.dilation(img,kernel,iterations=1)
    

    3.开运算
    先进行腐蚀再进行膨胀就叫做开运算。被用来去除噪音,函数可以使用cv2.morphotogyEx()

    opening = cv2.morphotogyEx(img,cv2.MORPH_OPEN,kernel)
    

    4.闭运算
    先膨胀再腐蚀。被用来填充前景物体中的小洞,或者前景上的小黑点。

    closing = cv2.morphotogyEx(img,cv2.MORPH_CLOSE,kernel)
    

    5.形态学梯度
    其实就是一幅图像膨胀与腐蚀的差别。
    结果看上去就像前景物体的轮廓。

    gradient = cv2.morphotogyEx(img,cv2.MORPH_GRADIENT,kernel)
    

    6.礼帽
    原始图像与进行开运算之后得到的图像的差。

    tophat = cv2.morphotogyEx(img,cv2.MORPH_TOPHAT,kernel)
    

    7.黑帽
    进行闭运算之后得到的图像与原始图像的差。

    blackhat = cv2.morphotogyEx(img,cv2.MORPH_BLACKHAT,kernel)
    

    8.形态学操作之间的关系及结构化元素
    形态学操作之间的关系

    结构化元素
    之前的例子都是使用numpy构建了结构化元素,但是是正方形的,若需要构建椭圆或者圆形的核,可以使用OpenCV提供的函数cv2.getStructuringElemenet(),只需要告诉它你需要的核的形状和大小。

    展开全文
  • 细菌的形态与结构

    2015-06-30 11:09:57
    微生物 细菌形态与结构 了解细菌的形态构成
  • 使用各种 K 线图可以揭露商场...有牛市和熊市两种鲸吞形态,它们都由两条 K 线构成,一条看涨 K 线、一条看跌 K 线。判断鲸吞形态有三大标准: 必须有经过确认的上涨趋势或下跌趋势,即使是短期的。市场不能为盘整市
  • 形态学操作

    2019-07-28 10:43:00
    他们的变体构成了开运算,闭运算,梯度等。 结构元素 图像处理经常要用到形态学操作,其中首先要获取结构元素。包括结构元素的大小及形状。 我们使用 Numpy 构建了结构化元素,它是正方形...
  • 顶、底分型在缠论中,顶分型和底分型是最基础的形态,是构成更大形态的前提。我们确认顶分型和底分型,才能把握缠论更大的形态。顶分型和底分型都是由3根K线组成,顶分型的中间一根K线的最高价和最低价都是3根K线中...
  • 形态学处理

    2018-11-09 15:04:17
    本章的练习主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。其练习代码和结果如下: &...
  • 约定:fd1, fd2, fd3, fd4, fd5分别表示时间上由远及... fd3.low,最高点为fd1.high,234构成中枢,fd5的低点小于fd1或fd3的低点,fd5和fd1没有包含关系,且力度上fd5小于fd1. aAb式顶背驰 三买 三卖 .
  • Opencv 形态

    2018-01-23 16:21:37
    我们滤波中用的滤波器(kernel)在这里被称为结构元素,结构元素往往是由一个特殊的形状构成,如:线条、矩形、圆、菱形等。我们把结构元素的中心(Anchor Point)与图像上像素点对齐,然后结构元素覆盖的领域像素...
  • 6 其它反转形态

    2019-12-23 14:02:56
    一部分通常但并不总是构成反转信号,是较弱的。 孕线、 平头顶部和平头底部、 捉腰带蜡烛线、 向上跳空二只乌鸦、 反击蜡烛线 本章还一些强烈的, 三只鸟鸦、 三山形态、 三川形态、 圆形顶圆...
  •  买入参考位:锤形线出现次日,若能确定收盘价能够越过锤形线实体,则构成买点。 止损参考位:锤形线最低点。2、低位倒锤线 形态介绍:上涨形态。一般在下跌趋势中,出现下影线较短而上影线较长的K线形态,形状如...
  • 筑底形态ZDZB策略

    2020-10-20 14:52:41
    一、摘要 二级市场交易至今,充斥着各种各样的交易方法,其中如何抄底逃顶一直是许多交易者孜孜以求的交易方法。本篇我们就发明者量化实现一个筑底ZDZB策略。...双顶是由2个相近的高点构成,其形态就像英文字母M,双
  • 图像形态学处理

    2020-09-14 13:06:51
    转自 ...  Matlab DIP(瓦)ch9形态学图像处理     本章的练习主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和...
  • 形态学图像处理

    2016-05-03 17:35:24
     本章的练习主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。其练习代码和结果如下:   ...
  • 区域形态

    2021-02-03 20:33:13
    所有这样的t点集合构成的区域R的膨胀。 2. 腐蚀 区域R,结构元S。对区域R的腐蚀定义为:结构元S平移到t点,并且平移后结构元完全在R内。所有这样的t点集合构成的区域R的腐蚀。 3. 击中、击不中变换 膨胀、腐蚀的...
  • 描述:最高点为fd1.high,最低点为fd7.low,234构成中枢A,6是A的三卖,7的力度小于5. 类趋势底背弛强反弹后不创新低 1-5形成五笔类趋势底背弛,fd6.high > fd5.high,fd7.low > fd6.low 类趋势顶背...
  • 1 二线的视觉形态 1 三UI设计中线的视觉构成 1 一直线 2 二曲线 3 UI设计中的平面构成 本次课程介绍界面设计中形式美的规律了解基本造型元素在界面设计中的形态特征掌握其视觉构成的原则和运用方法 UI设计中基本造型...
  • opencv 形态学处理

    千次阅读 2018-04-06 10:11:35
    一、话说形态学图像形态学中的几个基本操作:腐蚀、膨胀、开操作、闭操作。1.1 腐蚀结构A被结构B腐蚀的定义为, A⨀B={z|(B)z⊆A}A⨀B={z|(B)z⊆A}可以理解为,移动结构B,如果结构B与结构A的交集完全属于结构A的...
  • LiDAR数据形态学滤波原理

    千次阅读 2015-06-02 22:50:52
    形态学滤波器:是由数学形态学的基本运算构成的滤波器叫做形态学滤波器。有选择的抑制图像的结构,那些结构可以是噪声,也可以是不相关的图像目标。 数学形态学理论用于LiDAR点云数据滤波时一般采用两个复合算子,...
  • 平面设计的三大构成

    2019-05-17 17:44:54
    立体构成,色彩构成,他们组成了三大构成,这三大构成对现在的我们而言很重要,就比如,在三大构成里面的第一个平面构成有点,线,面及点线面的运用,骨骼,重复,9种构成,第二个就是,立体形态感觉,立体构成材料...
  • Matlab 形态学图像处理

    2017-04-11 15:22:57
    本文的内容主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。 其练习代码和结果如下: ...
  • 构成单词的语素以(或多或少)严格的顺序组合。 形态上最复杂的词都位于“ ROOT-SUFFIX1-SUFFIX2 -...”结构中。 词缀有两种类型:(i)派生词缀,它们会改变其所连词基的含义,有时甚至还会改变其语法类别,以及...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,121
精华内容 448
关键字:

形态构成