自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BNUbeginner的博客

good luck and have fun!!!

  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 模拟栈实现手写递归

刚刚计算机组成原理讲到汇编语言的递归,很受启发,所以分享一个用模拟栈实现递归的通用方法。在模拟递归过程中之前,肯定先得把递归过程弄明白比如对于下面的递归(伪代码):void dfs(int a0,int a1,...){ { 代码块0; } dfs(a00,a11,...); { 代码块1; }}它的执行过程如下:...

2019-03-24 16:05:43 3633 6

原创 线性筛——对i从1取到n gcd(i,n)求和

如果不会线性筛素数的话,建议先看这篇博客了解一下线性筛素数。记f(n)=∑i=1ngcd⁡(i,n)f(n)=\sum_{i=1}^{n}\gcd(i,n)f(n)=∑i=1n​gcd(i,n)容易证明f(n)f(n)f(n)一定是积性函数即f(p1t1p2t2⋯pktk)=f(p1t1)f(p2t2)⋯f(pktk)f(p_1^{t_1} p_2^{t_2}\cdots p_k^{t_k}...

2019-10-26 15:56:06 1731 1

原创 划分树

有半个多月没更新博客了,惭愧呀!!!说没时间(毕竟每天娱乐的时间都是保质保量的… )都是借口,懒才是真的。。。划分树是基于线段树的一种数据结构,主要用于在log(n)log(n)log(n)内求出序列区间的第K大值;划分树主要分为两部分,建树和查询。查个模板例题Poj 2104 K-th Number建树:  建树过程类似于快速排序,所建的树每一层都有n个元素,建树的核心就是根据根节点的...

2019-03-17 21:17:11 234

原创 LA3938 :"Ray, Pass me the dishes!" (线段树区间查询)

先呈上原题链接"Ray, Pass me the dishes!" (vjudge)(大白书刷题笔记)又是一道比较练代码能力的题目,开始的时候常数写太大了还写成了 O(n∗log⁡n∗log⁡n)O(n*\log n*\log n)O(n∗logn∗logn),数据范围又是 5e55e55e5 且多组数据,所以 TLE 了。。。后来全部改写过了。还有就是里面有许多细节加之平时用结构体少,历...

2019-02-16 15:41:28 185

原创 牛客网国庆七天乐Day 1 J.Princess Principal(多括号匹配,区间查询,预处理+线段树查询)

先呈上原题链接 Princess Principal这是2018年牛客网国庆集训的题目,不会也没补,后来准备参加 秦皇岛 CCPC - Winter Camp 时在第一场热身赛时又遇到了。当时热身赛都过了一半了才想起这个事,在图书馆把签到题写了,刚看到这道题就被室友叫去打篮球了。虽然一直牵挂到这道题,直到今天才补上。。。算是一道比较经典的括号序列题了吧。题意:要快速判断一个文档有没有语法错...

2019-02-13 16:27:09 198

原创 2018CCPC-Wannafly Winter Camp Day7 E. 线性探查法(离散化建图+拓扑排序)

先呈上原题链接题意:在大学里选修过数据结构的同学大部分都知道 hashhashhash 算法的线性探查法:假设有一个元素互不相同的正整数数组 a[1…n]a[1\ldots n]a[1…n],我们用以下方法得到数组 b[1…n]b[1\ldots n]b[1…n]:初始时 b[i]b[i]b[i] 都为 −1-1−1,我们对 i=1…ni=1\ldots ni=1…n 依次插入 a[i]a...

2019-01-26 19:48:12 300

原创 2018CCPC-Wannafly Winter Camp Day5 [I. Sorting] (非常优秀的题目,十分巧妙的线段树)

先呈上原题链接这是一道非常优秀的线段的题目,如此说的原因不是因为它的操作有多么新奇,而是因为解该题的思路有着很好的启发作用。题意:你有一个数列a1,a2,…,ana_1, a_2, \dots, a_na1​,a2​,…,an​ ,你要模拟一个类似于快速排序的过程。有一个固定的数字 xxx。你要支持三种操作:询问区间 [l,r][l, r][l,r] 之间的元素的和,也就是∑i=lra...

2019-01-25 20:39:56 177

原创 线性筛——约数的个数

如果不会线性筛素数的话,建议先看这篇博客了解一下线性筛素数。线性寻找约数的个数(积性函数都可以线性筛)主要是在线性筛素数的基础上得到的用 f(n)f(n)f(n) 表示 nnn 的约数的个数用 g(n)g(n)g(n) 表示 nnn 的最小质因子的个数我们知道:若 n=∏i=1npitin=\prod_{i=1}^n p_i^{t_i}n=∏i=1n​piti​​则 f(n)=∑i=1...

2019-01-24 23:20:55 1434 1

原创 线性筛——莫比乌斯函数

如果不会线性筛素数的话,建议先看这篇博客了解一下线性筛素数。莫比乌斯函数函数(积性函数都可以线性筛)主要是在线性筛素数的基础上得到的我们知道:若 n=∏i=1npitin=\prod_{i=1}^n p_i^{t_i}n=∏i=1n​piti​​则 μ(n)={(−1)kk=∑i=1ntiandmax⁡(t1,t2,⋯ ,tn)≤10othersμ(n)=\be...

2019-01-23 22:20:07 1114 1

原创 线性筛——欧拉函数

如果不会线性筛素数的话,建议先看这篇博客了解一下线性筛素数。欧拉函数(积性函数都可以线性筛)主要是在线性筛素数的基础上得到的欧拉函数:φ(n)=n∗∏(1−1pi)φ(n)=n* \prod \left(1-\frac{1}{p_i}\right)φ(n)=n∗∏(1−pi​1​) 其中pip_ipi​为nnn的质因子所以:1、当 nnn 为质数的时候 φ(n)=n−1φ(n)=n-1...

2019-01-23 21:38:41 973

原创 线性筛——素数

线性筛素数,可以保证每一个数都是被其最小的质因子筛掉的,所以可以保证时间复杂度在O(n)。实现如下:int prime[MAXN];int vis[MAXN];void oula(int n){ memset(vis,0,sizeof(vis)); prime[0]=0;//用于存素数的个数 for(int i=2;i<=n;i++) { if(!vis[i]) ...

2019-01-23 20:50:47 1604

原创 Codeforces Round #250 (Div. 1) D. The Child and Sequence(线段树+区间求模+区间查询)

先呈上原题链接[Codeforces Round #250 (Div. 1) D. The Child and Sequence]题意:给定一组数有三个操作:区间每个值对P求模;单点修改询问区间和思路:两棵线段树,一个维护区间最大值,一个维护区间和。因为求模运算每次至少是折半的,所以对需要求模的暴力修改就行了。坑点:无good luck and have fun!!!附上代...

2019-01-22 12:55:29 184

原创 Codeforces Round #532 (Div. 2) E. Andrew and Taxi(拓扑排序+二分)

先呈上原题链接[Codeforces Round #532 (Div. 2) E. Andrew and Taxi]题意:一个n个顶点m条边的有向图,每条边都有权值(即修改这条边方向所要付出的代价)目的:改变部分边的方向,使图无环。要求:寻找一种方案使改变的边的权值的最大值最小。输出权值和需要改变方向的边的编号。思路:先二分答案:答案(ans)范围在0与这个图的最大权值之间,所以直接...

2019-01-18 18:42:20 240

原创 hdu4614 Vases and Flowers(线段树+二分)

先呈上原题链接[HDU-4614]题意:有n个花瓶,每个花瓶中只能放一朵花。两种操作:第一种是从A开始放F朵花,如果有的花瓶中已经有花则跳过这个花瓶,往下一个花瓶放;第二种是将区间[A,B]之间花瓶中的花清空。如果是第一种操作,输出这次放的花的左右端点;如果是第二种操作,输出这次总共清理出了多少支花。思路:很裸的线段树的题啦。用线段树维护区间花瓶空位。第一种操作,两次二分分别寻...

2019-01-18 13:46:53 168

原创 hdu4578 Transformation (线段树多种操作)

先呈上原题连接题意:对于一个区间有4个操作:1.将a~b都加上c2.将a~b都乘上c3.将a~b都变成c4.查询a~b的每个数的p次方的和。(p=1,2,3)思路:虽说是一道很裸的线段树的题,但是却非常考验代码能力。查询p的取值只有三个,所以维护三棵线段树就行了。难点在多种操作,每个操作的更新次序是有讲究的,在下推标记的时候一般是先推置数操作,然后推乘法,最后推加法。坑点:...

2019-01-17 18:32:41 278

原创 ACM之路

ACM入坑来第一篇博客#include<bits/stdc++.h>using namespace std;int main(void){ printf("Hello 优快云!\n"); return 0;}

2019-01-17 12:31:32 204 1

sz组合恒等式.pdf

关于ACM竞赛的一些常用用组合数学的公式,以及每种组合数学恒等式的证明过程、应用。

2019-09-13

统计的力量——清华大学张昆玮

线段树的非递归写法,及其与递归写法的比较。线段树的各种应用和各种骚操作。

2019-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除