1.概念 生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。母函数还可以解决递归数列的通项问题(例如使用母函数解决斐波那契数....
分类:
其他好文 时间:
2014-07-31 09:35:06
阅读次数:
284
hdu 4893 Wow! Such Sequence!(线段树功能:单点更新,区间更新相邻较小斐波那契数)...
分类:
其他好文 时间:
2014-07-31 00:04:15
阅读次数:
269
问题描述:
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
解题思路:
这是一个典型的斐波那契数列,对于...
分类:
其他好文 时间:
2014-07-31 00:02:55
阅读次数:
243
题意是这样的,给定一个n个元素的数组,初始值为0,3种操作:1 k d将第k个数增加d;2 l r 询问区间l...r范围内数之和;3 l r 表示将区间l...r内的数变成离他最近的斐波那契数,要求尽量小。线段树操作题目,其中对于第三种操作用一个懒惰标记一下,表示l...r内的数是不是已经变成斐波...
分类:
其他好文 时间:
2014-07-30 23:31:25
阅读次数:
318
线段树结点上保存一个一般的sum值,再同时保存一个fbsum,表示这个结点表示的一段数字若为斐波那契数时的和
当进行3操作时,只用将sum = fbsum即可
其他操作照常进行,只是单点更新的时候也要先向下更新
#include
#include
#include
#include
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-30 17:33:24
阅读次数:
153
很典型的线段树,注意就是一个数字如果变成了斐波那契数字之后如果在change的话,它是不会反生改变的,因为最近的斐波那契数字就是它本身了啊。
用一个flag表示这一段上的数字是否change过,如果flag == 1已经change过,就不会在向下更新。否则的话就进行更新,最后会到达一个节点,更新这个节点。这里用暴力更新就行,找到最近的斐波那契数字。
Add就是一个点更新,sum求和就是一个区...
分类:
其他好文 时间:
2014-07-30 10:07:43
阅读次数:
438
http://acm.hdu.edu.cn/showproblem.php?pid=4893题意:10万的区间,初始都为0,10万次操作,三种操作为单点修改,区间将每个数改成最近的斐波那契数,以及区间求和。分析:用一个flag记录该段是否被改成斐波那契数,同时多维护一个sum1表示如果该段改成斐波那...
分类:
其他好文 时间:
2014-07-30 00:23:12
阅读次数:
276
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4893
题意:给你一个长度n的数列,初始都为0,有三种操作,第一种给第k个位置的数加d,第二种是查询区间 [l , r] 的总和,第三种是使区间 [l , r] 的值改为离它最近的那个斐波那契数的值。
我刚开始用sum数组存储节点的值,第三种操作是个区间更新,但是区间更新的值不一样,我就想当然的...
分类:
其他好文 时间:
2014-07-29 22:06:02
阅读次数:
358
题目链接:hdu 4983 Wow! Such Sequence!
题目大意:就是三种操作
1 k d, 修改k的为值增加d
2 l r, 查询l到r的区间和
3 l r, 间l到r区间上的所以数变成最近的斐波那契数,相等的话取向下取。
解题思路:线段树,对于每个节点新增一个bool表示该节点以下的位置是否都是斐波那契数。
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-29 22:03:32
阅读次数:
327
HDU 4891 The Great Pan
签到题 他怎么说你就怎么做就好了 注意做乘法时候会爆int
HDU 4893 Wow! Such Sequence!
题意:
n个数一开始都是0 你有三种操作 1操作在k位置加d 2操作输出[l,r]区间的和 3操作把[l,r]内的所有数变成离它最近最小的斐波那契数
思路:
操作1、2就是线段树基本 那么3怎么搞? 为了不超时显然要延迟更新 那么如果更新到[l,r]区间我们如何更改值呢
其实问题可以被巧妙的存储数据解决
我们记val为点上的值 ...
分类:
其他好文 时间:
2014-07-29 21:51:52
阅读次数:
477