For noip2019 初赛(csp)

1962年CCF成立

1984年NOI首次举办

1995年noip首次举办

2019年CSP非专业组首次举办


前序、中序、后序遍历:先访问当前节点,或在中间访问,或在最后访问

前序遍历即为DFS序


哈夫曼编码:哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。

https://blog.csdn.net/qq_36653505/article/details/81701181

例题:

[TG2011]

现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、400。那么,“也”字的编码长度可能是( )。

两种组成方式:300+400,得到700,然后和600拼接,得到1300,然后和原来的700拼接,长度为3

如果600和700先拼接,那么长度将仅为2


Catalan Numbers

设h(n)为catalan数的第n+1项,令h(0)=1,h(1)=1,catalan数满足递推式:h(n)= h(0)h(n-1)+h(1)h(n-2) + ... + h(n-1)*h(0) (n>=2)

则有h(n)=C(2n,n)/(n+1)

https://blog.csdn.net/wookaikaiko/article/details/81105031


康托展开(应用于全排列)

公式:设一个全排列为{a1,a2,...an}

则rank=a1(n-1)!+a2(n-2)!+...+an*1

逆康托展开:逆运用,

首先对于rank,我们先除以(n-1)!,然后商是几即为前面已经排了几个

之后用余数除以(n-2)!,以此类推

https://blog.csdn.net/ajaxlt/article/details/86544074

上一篇:电子墨水屏局部刷新怕光的问题


下一篇:python 代码实现选择排序