自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SSL_hhw的博客

说自己尽力的人不是无能为力,而是你从未相信过你可以创造奇迹

  • 博客(42)
  • 收藏
  • 关注

原创 博客写题板子

题目序号Decription:题目描述Input输入要求Output输出要求Sample Input:输入样例Sample Output:输出样例Data Constraint数据要求Hint样例注释

2021-08-13 10:33:10 73

原创 浅谈线段树

浅谈线段树 ——因为是蒟蒻首先,先解决一个问题,线段树的结构以及工作原理。先放个图片看看。##这是我们梦中的线段树这是一个满二叉树,挺好看的 。再向下延伸的节点就代表[1,1],[2,2]~~~~[n,n]的单点那么我们为什么要用它,只因为他速度快且有树状数组所代替不了的功能,(但没有树状数组快有时)用法与区别线段树和树状数组的基本功能都是在某一满足结合律的操作(比如加法,乘法,最大值,最小值)下,O(logn)的时间复杂度内修改单个元素并且维护区间信息。不同的是,树状数组只能维护前缀“

2021-01-09 10:01:39 171

原创 工程

工程#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;int nn,m,kk;int f[201];bool r[201];//pair<int,int> road[201];int deg[201];int n[201],h[201],to[20001],cnt;pair<int,int>

2020-12-25 20:47:06 61

原创 简单二叉树

二叉树模板 敲敲luogu P4715#include<iostream>#include<cstdio>#include<cmath> #include<cstring>#include<algorithm>#include<map>using namespace std;int n;int m[201];int tree[201];map<int,int> f;void bulid(int no

2020-12-20 12:42:26 52 1

原创 拓扑--模板

拓扑排序 敲敲模板题目描述Description由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。  于是Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的奖金应该比b高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元。Input两个整数n,m,表示员工总数和代表数;以下m行

2020-12-19 16:14:47 71 1

原创 dijkstra

dijkstra模板 敲敲#include<iostream>#include<cstdio>#include<cstring>#define ll long longusing namespace std;ll n,t,s;bool w[71];ll r[71][71];ll tt;ll dis[71];ll ans;ll maxx;ll e;int main(){ scanf("%d%d%d",&n,&t,&amp

2020-12-19 10:57:57 56 1

原创 P3601 签到题

签到!

2022-06-01 21:00:27 180

原创 关于树链剖分

树链剖分模板题顾名思义,即是把树的形态用线性链表表示出来。那么首先就是要造个树。ll siz[N],dep[N],son[N],fa[N];//son是以x为祖先的重儿子坐标 void build_tree(int now){ siz[now]=1;//初始化树的大小 for(int i=he[now];i;i=nxt[i]) { int tar=to[i]; if(tar==fa[now]) continue; fa[tar]=now,dep[tar]=dep[now]+1;

2022-02-19 08:40:02 110

原创 泰勒级数理解

关于泰勒级数的一些理解对于泰勒级数,其实大部分时候都不是很了解它其中的含义,怎么来的,其实大部分人都不是很清楚。(包括作者 )泰勒级数最多应用其实在计算机科学上,因为对于很多函数,我们不可能直接带值求解,比如f(x)=exf(x)=e^xf(x)=ex,比如我带个2进去,你最多只能求得它的近似值,而且计算量还很大,而且还不是很精确,那么有人就想了,能不能用一个近似的函数,或者换句话说尽可能的去逼近这个函数的一个带有x的多项式呢,因为这样的话,比如说一个多项式f(x)=x+x2+x3f(x)=x+x^2+

2022-01-31 18:27:35 2919

原创 微积分引子

微积分只是想写一写加深印象而已,作者是个蒟蒻。(借鉴了很多其他题解的解释)看了一些大佬们关于微积分的讲解,逐步摸清了微积分的轮廓。对于微积分最关键也是源头来源于不规则几何形状的求解。譬如举个例子:这个一次函数和二次函数之间围成的矩形怎么求解?(思考一下)在这里我们就需要用到极限思想去想方设法去用规则的图形逼近这个不规则的曲面的面积,我们可以用三角形。请注意并不是可以将三角形随便乱摆,我们要尽可能要用三角形覆盖掉尽可能多的面积,也就是初中所学的关于此类问题三角形的最大值,其实作者做的这个图

2022-01-31 09:32:51 339

原创 ybtoj 矩阵乘法 行为方案

ybtoj 矩阵乘法 行为方案题面描述我们可以从题目中得到一些类似于dp的一些好东西。对于题目中的三种要求我们可以进行如下转化,对于自爆这一种情况我们可以看作是走到了第零号城市,也就是零号节点,如果对与站在原地不动,那么我们就可以默认为它走了一次自环,,那么如果设f[i][j][k]为从i节点走到j节点用了k步数的方案数,那么我们可以得到一条状态转移方程f[i][j][k]=∑f[i][p][k−1]∗f[p][j][1]f[i][j][k]=\sum f[i][p][k-1]*f[p][j][1]

2021-12-24 20:26:18 119

原创 初赛---主定理 只是背一下。。-蒟蒻

假设有一个函数T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f(n)T(n)=aT(n/b)+f(n)(f(n)f(n)f(n)大概率都是一个常量)设reasonreasonreason为此函数的时间复杂度那么如果 f(n)<nlogbaf(n)<nlog_baf(n)<nlogb​a则 reason=O(nlogba)reason=O(n^{log_ba})reason=O(nlogb​a)如果 f(n)=nlogbaf(n)=nlog_baf(n)=nlogb​

2021-09-04 16:10:34 80

原创 Day 11别问我中间发生了啥。

水到炸的数论 ? 莫队+树状数组 矩阵快速幂ABCADecription:给出 n个数字的一个序列A,你可以将他们分为若干组,每一组的权值是里面数字的异或和,求使得所有组权值和最小。Input第一行给出一个n接下来一行给出序列AOutput输出一行包括一个整数表示最小的权值和Sample Input:51 2 6 4 3Sample Output:2Data Constraint思路:异或来异或去,其实就是不进位的加法,那么最优的解法实际上是把所有异或起来

2021-08-25 09:08:11 155

原创 Splay

#include<iostream>#include<cstdio>#define N 100000#define push_up(x) t[x].size=t[t[x].son[0]].size+t[t[x].son[1]].size+1using namespace std;int n,m,l,r,root,tot;struct node{ int size,son[2],mark,val,pre; void init(int x,int fa) {

2021-08-21 11:53:44 69

原创 DAY 6

数论 模拟 数论 数论?AADecription:C(n,m)=P(n,m)m!=n!m!(n−m)!C(n,m)=\frac{P(n,m)}{m!}=\frac{n!}{m!(n-m)!}C(n,m)=m!P(n,m)​=m!(n−m)!n!​,判断其结果奇偶性InputOutputSample Input:27 38 2Sample Output:10思路求啥找啥,就把阶乘中的2的个数预处理出来,之后看一下如果分子的2的数量大于分母那么其一定为偶数,反之则

2021-08-20 11:06:24 77

原创 Treap(AVL)板子

神仙东西高级的呀,100多行,调了我亿点点时间。哦也,过了直接放代码,代码有注释。#include<iostream>#include<cstdio>#include<cstdlib>#define N 100000#define INF 1000000000 using namespace std;int n,opt,x;int son[N+1][2],val[N+1],data[N+1],size[N+1],tot,cnt[N+1],root;i

2021-08-18 21:18:59 156 1

原创 Day 5

题目序号Decription:Input输入要求Output输出要求Sample Input:56 67 78 89 910 1Sample Output:6666667777777888888881755646112866758思路:很显然从数据规模和这些诡异的数字轻松得知此题是数论,那么怎么做呢,首先我们要输出的结果是kkkkkk这个数,那么我们可以把它化成k*(10010^0100+10110^1101+…+10n10^n10n),那么很显然 赛

2021-08-17 07:57:15 122

原创 Count on a tree

树上主席树练习luogu P2633#include<iostream>#include<cstdio>#include<algorithm>#define N 100000#define NlogN 2500000 using namespace std;int n,m,a[N+1],b[N+1],tree[N+1],l[NlogN],r[NlogN],sum[NlogN],deep[N+1],f[N+1][31],tot,len,mid,u,v,k,l

2021-08-15 21:29:44 52

原创 主席树板子

主席树------以线段树为基础的线段树板子题如果我们要离线查询一个区间内的第k小或第k大的值,那么我们可以用主席树,保证复杂度在O(mlogn)内,对于板子题来讲是刚刚好的,那么我们先上代码。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define N 4000000#define M 200000

2021-08-13 19:37:34 125

原创 打莫队板子

莫队算法有点像分块,但是他充分的利用了排序将时间复杂度优化到了极致,显然在luogu 19721e6下肯定试过不了的,主要是chen_zhe不让过,……原本1e5是可以的,所以优化到最好的顶多拿60分。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define N 1000000using namespace std;int n,m,a[N+1],q,p

2021-08-13 10:25:42 84

原创 2021暑假集训Day 4

数论 背包 分块 数论? ABCD 后续更新ADecription:若数列A存在位置k,满足①i<k,ai<ai+1②i>=k,ai>ai+1则称该数列为单峰数列给出正整数n,求全排列n中存在多少个单峰数列Input给出1个正整数nOutput单峰数列个数(对10^9+7取模)Sample Input:3Sample Output:4Data Constraint20%:n ≤\leq≤ 1050%:n ≤\leq≤ 10^

2021-08-12 22:07:43 143

原创 2021暑假集训 Day 3

暴力出奇迹的一天ABCDADecription:有n个信号,第i个信号强度为bi。总体强度为各操作信号的强度之和。为保证信号强度需要删除某些信号。有m个操作人员,第i个人只会删除编号在L[i]和R[i]之间的信号,每删除一个信号,花费C[i]格能量。飞船一共有 k格能量,问在队友删除完信号后,总体强度最大是多少。Input第一行给出2个正整数n,m,k第二行给出n个信号的强度bi接下来m行,每行用L,R,C来描述一个操作人员Output总体最大强度Sample Inp

2021-08-11 20:42:35 236 2

原创 2021暑假集训 Day 2

回顾:就不知道今天为什么那么想尝试富文本编辑器了……A今天的第一题非常的无语呵,想了90min?而且差一个longlong就A了,别吧,心态炸裂。Decription:n个小球排成一列,第i个小球颜色为ai,定义小球i与j的距离为|(i-j)*(ai-aj)|,求所有小球间距离之和,i与j 和 j与i 不必重复计算。Input:第一行一个n第二行给出a1,a2,...,an-1,anOutput按照题目要求作答...

2021-08-10 19:58:27 128

原创 2021暑假集训 Day 1

学校刷题Day 1 -- 2021-8-9ABDADecription:定义操作a(X)B=((a&b)+a(a|b))>>1给出n个数ai每次用操作合并任意相邻ai求进行n-1次操作以后可能得到的最终结果所有结果从小到大输出Input第一行一个n第二行给出a1,a2,…,an-1,anOutput按题目要求作答Sample Input:41 4 3 2Sample Output:1 2Data Constraint30% n&

2021-08-09 21:03:57 235

原创 关于φ的一些

关于phi(φ\varphiφ)的打了这么久的比赛,好不容易有空的时间,就出来多写写数论,怎么说呢?其实应该是改不动题才空出来的时间。对于一个数NNN,好的,先可以分解一下质因数,比如说这种形式N=P1c1+P2c2+P3c3+...+PncnN=P_1^c1+P_2^c2+P_3^c3+...+Pn^cnN=P1c​1+P2c​2+P3c​3+...+Pncn简略点表示N=∏i=1φ(N)PiciN=\prod_{i=1}^{\varphi (N)}P_i^ciN=i=1∏φ(N)​Pic​i

2021-07-20 20:27:26 260

原创 网络流板子

网络流初步理解由于今天没比赛,把该改的改了刷了一下网络流的板子,然而费用流还在理解中,这波就是看了一下FF算法和Dinic。然而很gank呀,调了半天竟然是,邻接表的问题,诶我吐了呀。#include <iostream>#include<cstdio>#include<cstring>#define rep(i,n) for(int i=1;i<=n;i++)#define ll long long#define E 10000#define

2021-07-20 18:44:59 102

原创 数学期望入门篇

数学期望例题单选错位大家可以先看完题目描述。我们可以先从数学期望的定义下手,假设有一个随机数x,它的取值范围是一到十,那么对于一个可能xi,它的期望是xi*10,也就是他本身的值乘概率,1~10的期望加起来就是x的期望。那么我们可以献上代码,再解释#include <iostream>#include <cstdio>#include <cstring>#include <queue>#define N 10000011#define ll

2021-07-11 21:16:16 403

原创 ybtoj 二叉堆

二叉堆学习总结怎么说呢,二叉堆这个东西就是一个维护区间最大值和最小值的一个东西,可以被其他东西所部分替代,但是还是得讲一下二叉堆运作的原理,首先先上put函数代码。void put(int x) // min{ heap[++len] = x; int son = len; while (son > 1) { int fa = son / 2; if (heap[son] >= heap[fa]) return; s

2021-07-09 08:50:18 161

原创 ybtoj 单词频率

#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#define N 1100001using namespace std;int n,trie[N][26],tot=1,s[N][2],las[201],nxt[N],que[N];char w[N];void ins(int num){ int r=1,x,len=strlen(w+1); for(int

2021-07-06 10:40:46 103

原创 AC自动机学习笔记

今天刚刚学习了AC自动机,刷了个模板题。前置知识:trie树和KMP。其实说实话吧,KMP在AC自动机里的运用其实就是失配指针。失配指针其实就是在trie树上寻找最长的后缀,采用bfs的顺序是为了保证前后顺序的不变,当你在当前节点的时候知道你的上一层节点的失配指针的指向,在匹配中就可以节约大量时间来进行多模式串的匹配。下附代码#include<iostream>#include<cstdio>#include<cmath>#include<cstri

2021-07-05 11:32:26 76

原创 KMP算法基础入门笔记

KMP学习笔记。主要还是自己的领悟嘿嘿先看主要代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;char s[1000010],ss[11000001]; int p[1100001],ls,lss,ans;int main(){ cin>>s+1>>ss+1; ls=strlen(s+1),lss=strlen(ss+

2021-07-02 15:45:44 92

原创 2016东莞市特长生考试

前传,本人真的是lalala,自己的代码竟然在同一个栏里编辑,保存的时候重新从硬盘读取,结果就,呵呵。不过后面改了一下,大概是220pts,感觉自己还是很la。

2021-03-26 19:42:00 126

原创 luoguP398 仓鼠找sugar

luoguP398 仓鼠找sugar传送门在此题目描述:小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小仓鼠希望知道,有没有可能在某个地方,可以碰到他的基友?小仓鼠那么弱,还要天天被zzq大爷虐,请你快来救救他吧!输入格式第一行两个正整数n和q,表示这棵树节点的个数和询问的个数。接下来n-1行,每行两个正整数u和

2021-01-25 21:34:05 94

原创 ST表基础解释

ST表简介——处理RMQ问题的利器前言:什么是RMQ,就是在线性表内处理出一段区间的最大值和最小值问题。如果你利用普通的for查找的话,时间复杂度为O(l-r+1),但是如果你用ST表预处理一下,时间复杂度为O(nlogn)加上每次查询的复杂度为O(1)是不是快捷很多。比如一个线性表长度为1e5,查询次数为1e6,那么毫无疑问,朴素算法直接爆炸,但是ST表就不会,而且到了后面的查询会十分迅速。开始介绍算法原理,如果我们要存一个长度为n的线性表,并构建ST表的的话,我们要建一个st[n][&nbsp

2021-01-23 11:45:53 629 1

原创 CF963A Alternating Sum

Alternating Sum题目传送门思路:这道题呀,需要涉及到两个数学知识,一是逆元,二是等比数列求和公式。一:逆元我们知道 mod 这个东西在题目中时常出现,他可以用于加法,减法,乘法,然而,对于除法,它就不符合了,假定x是a的逆元值,那么b/a%c=b*x%c,就把除法转换成乘法,从而可以运用同余定理,防止计算中的数爆炸,是不是非常的有用 ,嗯~~~~。那么怎么求出a的逆元值呢,根据费马小定理,(有兴趣可以了解一下哈),因为小编也没怎么看懂,所以直入主题,简单来说就是b/a%c=b*a^(

2021-01-21 07:55:03 140

原创 离散化

思想 离散化例题 火烧赤壁 luoguP14963-1 15 112 9由此可得基本思想-1 0 1~~~~~~~~5 6 7 8 9 10 11 ~~~~~~~~~~ 2 3 4 5 6 7 8 9 被火烧了合并后 即 -1 0 ~~~~~~~~~~~~~ 2 3 4 5 6 7 8 9 10 11 被火烧了那么我们就可以考虑一种将x,y打乱的一种思想----离散化AC代码#include<iostream>#include<cstdio>#i

2021-01-09 17:13:10 77

原创 树状数组 基础篇

树状数组支持单点增加,意思是给序列中的某个数A[x]加上y,同时正确维护序列的前缀和。根据上面给出的树形结构和它的性质,只有节点c[x]及其所有祖先节点保存的“区间和”包含A[x],而任意一个节点的祖先至多只有logN个,我们逐一对它们的c值进行更新即可。下面的代码在O(logN)时间内执行单点增加操作。

2021-01-09 16:53:01 135

原创 拓扑--高级版

奖金 拓扑排序+DP#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;int nn,m,kk;int f[201];bool r[201];int deg[201];int n[201],h[201],to[201],cnt;pair<int,int> s;//起点 queue<pair<i

2020-12-19 17:14:37 953 1

原创 SPFA

SPFA 模板#include<bits/stdc++.h>using namespace std;const int N=20001;int n,m,s,t;int head[N],next[N],to[N],v[N];int cnt;//第几条边 queue<int> w;bool r[N];int g;int dis[N];int past;void add(int a,int b,int c)//从a点去往b点 { cnt++; next[cnt

2020-12-18 21:22:37 78 1

原创 csp比赛随笔

CSP-J 复赛195pts**反思跟我考前预估的分数还是有相当差距的,主要是练题量太少,再一个就是也是第一次参加这个考试,经验和水平都没有达到绝对实力去拿一等。这不是借口 。主要是第三第四题 写爆了。T1不说了,循环暴力也可,位运算也可。T2小数据没看到,所以没用桶排,用了个lower_bound写插排,才85。T3只要是没写过吧,不熟悉,耗了很多时间,只拿了10pts,数据结构这方面的题量太少了,没怎么刷过。T4dfs没有加bool判断重复路线,导致卡死,爆0,有点耻辱,额。后面从考场出

2020-11-21 17:27:30 107

空空如也

空空如也

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

TA关注的人

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