- 博客(16)
- 收藏
- 关注
原创 手写栈
#include#include#include#includeusing namespace std;const int N = 10010;int data[N],front,next,maxinum;void Queue();int Push(int x);int Pop();int Max();inline int
2017-09-27 19:16:10 506
原创 最小生成树prim n^2
#include#include#includeusing namespace std;void prim();const int N = 1010;const int INF = 0x7f7f7f7f;int g[N][N],n,m,ans = 0,minEdge[N];int main(){memset(g,0x7f,
2017-09-07 20:03:03 279
原创 luogu1108
// luogu 1108 最长下降子序列 n^2#include#include#include#includeusing namespace std;const int N = 5010;long long int price[N];int dp[N],ans,n,total = 0; //dp[i]表示第i天的最大值 int
2017-09-04 19:55:00 220
原创 背包dp
动态规划基础 01背包01背包n个物体 容量为V的背包 第i个物体的空间是c[i] 价值是w[i] 求最大价值这个问题简直简单的不能再简单了。。。。每种物体只有一件,可以选择放或者不放定义dp[i][j] 表示前i件物品恰好放入一个容量为v的背包可以获得的最大价值 显然有状态转移方程f[i][v] = max(f[i-1][v],f[i-1][v - c[i]] + w[i
2017-09-04 18:38:07 280
原创 完全平方数的性质
参考《完方数的性质和结论》小学知识,但是我之前并不明白我们都知道完全平方数有很多很好的性质和特点对于完方数,数学竞赛中几乎年年考然而对于noip几乎不考察但我们也应该知道,毕竟小学知识嘛特点:1.我们对他应用算数基本定理的时候,他的质因子有偶数个2. 完方数的末位数字只能是0、1、4、6、5、93.对于一个完方数是奇数 他被四除余1如果他还 > 8那么他被
2017-07-28 09:53:55 4239
原创 bzoj3555——玄学hash
字符串hash往往的是暴力分当然写的好的话运气不是很差的话说不定能AKO(n) 预处理 O(1)匹配对于一个长度是n的字符串设字符集大小为m,默认字符串的长度是s[1...n];预处理出p[a] = p^a; 那么我们可以计算前缀的hash值 hsh[1] = s[1] * p[1];hsh[2] = s[2] * p[2] + hsh[1];hsh[i]
2017-07-25 19:11:57 369
原创 二分图匹配——匈牙利算法
还是要系统的讲一下这个算法:先介绍一下hall定理(婚姻定理):二分图G中两部分的定点组成的集合为X = {x1,x2,..........xn},Y = {y1,y2,.......yn}那么 G中一组没有公共点的边的一端恰好为组成x的点的充要条件是:x中中任意至少k个点与y中k个点相连 k∈[1,m]这个定理看起来没什么用啊~~先给出证明:充分性有匹配的定义即可以知道
2017-07-20 18:15:32 648
原创 分块算法
分块事实上是一种优化的暴力,其空间复杂度是O(mn^1/2)直接开始说分块是什么东西当然这里讲解的是noip阶段的分块,我并不知道怎么用分块维护单调队列那么这种我说的分块只能作为线段树的替代,如果你不会线段树和树状数组的话例如:给你n个数,m个操作 n,m操作1:询问[l,r]的区间和操作2:修改[l,r]的值为原来的值+v我在之前的线段树给出了单点修改,区间查询,显然
2017-07-19 18:31:56 839
原创 线段树讲解
线段树作为数据结构中可以说是最重要的一个,在2016day2T2中首次在noip中出现虽然正解不是线段树这就必须要求我们掌握这一数据结构,况且noip也不是我们的终点。线段树是一种二叉搜索树,和区间树相似,我们将一个区间划分成一些单位区间,每个单位区间又对应着一个叶子节点线段树可以实现快速查找(logn)修改线段树是一种平衡二叉树,节点数是n即区间的长度我们直接看代码#in
2017-07-18 18:38:00 238
原创 sliding window 滑动窗口(单调队列)
给定n个数,求一段长度为K的区间s.t.这段区间内的最大值减去最小值最大这是一道经典的单调栈 假设 数列 1~n 暴力就是枚举所有长度为K的区间 复杂度显然是O(NK)的我们在暴力的时候会顺序地枚举区间观察发现第i个区间和第i+1 的区间只差了2个数我们每次重新枚举 们浪费时间我们就需要一个数据结构能支持一个插入和删除操作,而且能维护区间的最大值和最小值当然线段树可
2017-07-18 14:13:56 439
原创 lis 最长上升子序列
最长上升子序列式dp的一种可以说是最基本的题目比如:给出一个数列a = {1,3,8,5,6,7,7,7,4,7,4,6,7,8}显然他的子序列有n^2 个 其中最长的是4,6,7,8我们给出n^2和nlogn两种做法#include#include#includeusing namespace std;const int N = 10010;int dp[N]
2017-07-18 10:07:47 310
原创 二分模板
只是单纯的一个二分模板也没有什么好讲解的水一篇文章#include#include#include#includeusing namespace std;const int N = 1010;int dp[N],a[N],n;int HalfFind(int r,int l,int x){ int ans = -1; while(r int
2017-07-17 20:12:11 209
原创 noip2012 同余方程 关于gcd及exgcd
本文章部分参考及证明来源潘承洞《初等数论》对于数论的话,先来一道简简单单的小题。相信这个题大家有做过,题解也不差我一个题面:求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。input 两个正整数a,b。output 一个正整数解x 数据保证该方程一定有解。数据范围:对于 40%的数据,2 ≤b≤ 1,000;对于 60%的数据,2 ≤b≤ 50
2017-07-17 09:14:42 273
原创 同余基本定理的应用
mod同余的观点可以证明许多不存在性问题的:例如x!=y 只需证明x,y关于某个数不同余x不为完方数 x同余3 (mod 8) 同余2 (mod 3)x不为立方数 1^3 同余1 2 8 3 0 41 5 8 6 0a的立方同余0 +1 -1(mod 9)定理的应用:威尔逊定理比较直白。困难的是给出一个构造,一般的直接套结论。一个比较典型的威尔逊定理的构造:
2017-07-15 20:22:41 997
原创 同余的基本定理
同余结论:剩余类 我们把1,n+1,1-n,1-10n,1+10n.......归于一类记为1(加上上划线),或者n+1(同上) 这样我们就可以吧若干数分为n类 0,1,2,3,.......n-1(同上)一个剩余系中包括(上式)我们把它称为完全剩余系 主要用于剩余类变形费马小定理 任意a p是整数 p是质数有a^(p-1)同余1 在mod p 意义下考察1,2,3,4,5....(
2017-07-15 19:50:33 2552
原创 大学微积分1----Taylor中值定理和麦克劳林公式-----1
这是我新号的第一篇blog我会更新大学微积分分析化学----有机化学-----物理化学-----结构化学当然最主要的是题解好,下面进入正题:ps:本文章知识来源于山东大学张天德教授和清华大学唐志明,如果你还是不懂的话可以去mooc上再看一下;一:带有peano型余项的Taylor公式question:我们知道了函数在某一点的导数值怎么利用这一点的导数在这个函数附近用一个
2017-07-10 20:14:47 1343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人