自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【模板】【数论】高精度

const int MAXN = 10003;const int base = 10000;struct Bigint{ int num[MAXN]; int len,sign; Bigint() {memset(num,0,sizeof(num)); len=1; sign=1;} Bigint operator = (const char *s) {

2017-11-05 15:07:31 327

原创 【模板】【数论】快速幂和快速乘法

快速幂快速幂取模算法可以在O(log2b)O(log_2b)的时间内求出ab mod pa^b\ mod\ p的值。运用了二进制的思想,实质是对b进行二进制分解。代码:typedef long long LL;LL ksm(int a,int b,int p)//最好不要把函数名取成power、modpower之类的,考试的时候可能会挂233{ LL res=1; while(b

2017-08-16 17:45:28 667

原创 求斐波那契数列的第n项

提要本文介绍了4种(3种?)求斐波那契数列第n项的方法。

2017-08-16 16:08:54 8116

原创 【模板】【代数】矩阵乘法和矩阵快速幂

矩阵乘法定义设A为m*p的矩阵,B为p*n的矩阵,那么称m*n的矩阵C为矩阵A与B的乘积,记作C=ABC=AB,其中矩阵C中的第 i 行第 j 列元素可以表示为:(AB)ij=∑k=1paikbkj=ai1b1j+ai2b2j+⋯+aipbpj(AB)_{ij}=\sum_{k=1}^pa_{ik}b_{kj}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{ip}b_{pj

2017-08-16 10:44:13 734

原创 【模板】【数据结构】并查集(路径压缩+按秩合并)

int find(int x)//递归版{ return f[x]==x?x:f[x]=find(f[x]);}int find(int x)//非递归版(这可能是我写过的最长的并查集){ int y=x; while(f[y]!=y) y=f[y]; int tmp,rt=y; y=x; while(f[y]!=y)

2017-08-15 16:25:46 559

原创 【模板】【图论】最近公共祖先(LCA)

1.树上倍增时间复杂度O(nlogn)O(nlogn) 在线算法#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cstdlib>#include <cmath>using namespace std;const int mxn =500003,mxm =50000

2017-08-15 15:50:12 282

原创 【模板】【数据结构】堆

1.手写小根堆:#include <cstdio>#include <algorithm>#define maxn 1000003using namespace std;int heap[maxn];int tot=0;inline void pushup(int x){ for(;x>0;x>>=1) { if(heap[x]>heap[x>>1])

2017-08-15 09:32:03 206

原创 【模板】【数论】gcd和exgcd

欧几里得算法:欧几里得定理:gcd(a,b)=gcd(b,amodb)gcd(a,b)=gcd(b,a\;mod\;b)证明:a 可以表示成 a = kb + r(a,b,k,r皆为正整数,且 r < b),则 r = a mod b 假设 d 是 a , b 的一个公约数,记作 d | a , d | b,即 a 和 b 都可以被 d 整除。 而 r = a - kb,两边同时除以 d,r /

2017-08-13 11:10:36 343

原创 洛谷【P1725】琪露诺 DP的优化

题目描述在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸。于是琪露诺决定到河岸去追青蛙。小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子。而且琪露诺按照一种特殊的方式进行移动,当她在格子i时,她只会移动到i+L到i+R中的一格。你问为什么她这么移动,这还不

2017-08-13 10:45:15 503

原创 【模板】【图论】最短路

最近打算整理一下noip范围内的各种板子,就从最短路开始吧。

2017-08-12 17:12:26 314

原创 洛谷【P2831】愤怒的小鸟 (NOIP 2016 D2T3)

题目描述Kiana最近沉迷于一款神奇的游戏无法自拔。简单来说,这款游戏是在一个平面上进行的。有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如y=ax2+bxy=ax^2+bx的曲线,其中a,b是Kiana指定的参数,且必须满足a<0。当小鸟落回地面(即x轴)时,它就会瞬间消失。在游戏的某个关卡里,平面的第一象限中有n只绿色的小猪,其中第i只小猪

2017-08-10 11:42:54 907

原创 洛谷【P1541】乌龟棋

题目背景小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。题目描述乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有1、2、3、4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子

2017-07-24 10:15:30 535

原创 LIS(最长上升子序列)问题的三种求解方法以及一些例题

摘要本篇博客介绍了求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,后面给出了4道LIS的例题。LIS的定义一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 <

2017-07-23 11:34:23 24439 10

原创 洛谷【P2734】 游戏 A Game

题目背景有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。题目描述编一个执行最优策略的程序,最优策略就是使玩家在与最好的对手对弈时,能得到的在当前情况下最大的可能的总分的策略。你的程序要始终为第二位玩家执行最优策略。输入输出格式输

2017-07-22 18:10:20 579

原创 洛谷【P1404】加分二叉树

洛谷【P1404】加分二叉树题目描述设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数。若某个子树

2017-07-22 17:37:41 473

空空如也

空空如也

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

TA关注的人

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