摘要: 首先让我们膜拜一下大佬杨辉 正是因为有了他,我们才能有那么多关于杨辉三角的题 "百度" 这里第一行定义为n=1 1. 每个数等于它上方两数之和。 2. 每行数字左右对称,由1开始逐渐变大。 3. 第n行的数字有n项。 4. 第n行的m个数可表示为 C(n 1,m 1),即为从n 1个不同元素中取m 阅读全文
posted @ 2019-07-29 20:15 凉如水 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 现在给你一些连续的整数,它们是从A到B的整数。一开始每个整数都属于各自的集合,然后你需要进行一下的操作: 每次选择两个属于不同集合的整数,如果这两个整数拥有大于等于P的公共质因数,那么把它们所在的集合合并。 反复如上操作,直到没有可以合并的集合为止。 现在Caima想知道,最后有多少个集合。 先线性 阅读全文
posted @ 2019-07-29 19:03 凉如水 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 对顶堆,随便维护一下大小,注意非空就好了 include define re return define ll long long define inc(i,l,r) for(int i=l;i=r; i) const int maxn=10e5+5; using namespace std; te 阅读全文
posted @ 2019-07-29 18:59 凉如水 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 洛谷水过了,bzoj超时了 插入等差数列=》绝对是差分 至于能分成几个等差数列,浓浓的dp阴谋味; 好吧,正常的线段树收标记 维护 因为是差分= 且不用管数值 要跳过非连续等差数列首项 当前区间如果左右端点都不选有多少个等差数列 s[0] 当前区间如果只选左端点有多少个等差数列 s[1] 当前区间如 阅读全文
posted @ 2019-07-29 18:56 凉如水 阅读(264) 评论(0) 推荐(1) 编辑
摘要: lc线段树入门题 访问O$(log 2n)$ 查询O($log n$) 考虑斜率维护凸包(单调) 标记永久化 简单来说就是做好以下几件事 在[l,r]区间内获得最大平均函数值(mid) 针对斜率不同,将失败线传送至交点较高部分,修改下传 暴力修改,访问至根节点 阅读全文
posted @ 2019-07-29 18:48 凉如水 阅读(128) 评论(0) 推荐(0) 编辑