Insistor

私信 关注
「已注销」
码龄2年
  • 27,493
    被访问量
  • 138
    原创文章
  • 76,364
    作者排名
  • 5
    粉丝数量
  • 于 2019-02-28 加入CSDN
获得成就
  • 获得10次点赞
  • 内容获得0次评论
  • 获得14次收藏
荣誉勋章
TA的专栏
  • 天梯
    41篇
  • Daily algorithm
    56篇
  • 树
    1篇
  • poj
    13篇
  • 差分约束
    5篇
  • hdu
    1篇
  • 尺取法
    6篇
  • 搜索
    1篇
  • 线段树
    3篇
  • 树状数组
    1篇
  • st
    1篇
  • lca
    1篇
  • java
    6篇
  • 比赛
    1篇
  • 线性基
    2篇
  • 几何
    9篇
  • cf
    1篇
  • 套题
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

2019牛客暑期多校训练营(第八场)

A
原创
131阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第七场)

A:
原创
77阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第六场)

A:
原创
52阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第五场)

A:
原创
46阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第四场)

A:
原创
102阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第三场)

A:
原创
58阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第二场)

A:
原创
46阅读
0评论
0点赞
发布博客于 2 年前

2019牛客暑期多校训练营(第一场)

A:
原创
58阅读
0评论
0点赞
发布博客于 2 年前

后缀数组

#include<bits/stdc++.h>using namespace std;const int maxn=1e6+100;char s[maxn];int y[maxn],x[maxn],c[maxn],sa[maxn],rk[maxn],height[maxn],wt[30];int n,m;void get_SA(){ for (int i=1;...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

ac自动机 模板

/*洛谷 p3796题意:n个模式串 一个文本串 问这个n个模式串最多的一个或者多个出现在文本串里的个数 顺便输出这个最多的文本串 */ #include<bits/stdc++.h>using namespace std;const int N=5e5+1000;int ans[N*10];char s[N*10];struct tire{ int sz=0...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

再写ac自动机

/*洛谷 p3808 */ #include<bits/stdc++.h>using namespace std;const int N=5e5+1000;struct tire{ int c[N][26],val[N],fail[N],cnt; //字典树 void Insert(char *s){ int len=strlen(s);int now=0;...
原创
65阅读
0评论
0点赞
发布博客于 2 年前

分块

题目链接题意:就是单点更新 区间查询最小值线段树做法:#include<bits/stdc++.h>using namespace std;const int N=1e5+100;typedef long long LL;LL tree[N<<2];const int inf=0x3f3f3f3f; void build(int l,int r,i...
原创
74阅读
0评论
0点赞
发布博客于 2 年前

fget file

/*https://www.runoob.com/cprogramming/c-file-io.html*/#include<bits/stdc++.h>using namespace std;int main(){ char s[100]; fgets(s,100,stdin); int len=strlen(s); cout<&l...
原创
96阅读
0评论
0点赞
发布博客于 2 年前

二分图匹配()

跑最大流dinic O((nsqrt(m))) 匈牙利算法 O (nm)学习的博客:https://blog.csdn.net/dark_scope/article/details/8880547匈牙利算法bool dfs(int x){ for(int i=1;i<=m;i++){ if(!vis[i]&&mp[x][i]){//如果以...
原创
75阅读
0评论
0点赞
发布博客于 2 年前

线段树维护---区间的平方值和

/*https://ac.nowcoder.com/acm/contest/917/J线段树维护区间的每个平方和 */#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N=1e5+100;LL tree1[N<<2],tree2[N<<...
原创
348阅读
0评论
0点赞
发布博客于 2 年前

区间dp

一.什么是区间dp?顾名思义:区间dp就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。二.核心思路既然让我求解在一个区间上的最优解,那么我把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。所以在代码实现上,我可以枚举区间长度len为每次分割成的小区间长度(由短到长不断合并),内层枚举该...
原创
55阅读
0评论
0点赞
发布博客于 2 年前

建立一棵二叉树 输出前序

/*洛谷 p1305输入一串二叉树,用遍历前序打出。第一行为二叉树的节点数n。(n \leq 26n≤26)后面n行,每一个字母为节点,后两个字母分别为其左右儿子。空节点用*表示6abcbdicj*d**i**j** 输出:abdicj思路:建立一个节点包含父节点 左儿子 右儿子 的节点(有父节点可以判断谁是根结点) */#include<bits/stdc...
原创
333阅读
0评论
1点赞
发布博客于 2 年前

划分树

划分树,类似线段树,主要用于求解某个区间的第k 大元素(时间复杂度log(n)),快排本也可以快速找出,但快排会改变原序列,所以每求一次都得恢复序列。  下面就以POJ 2104进行解说:  题目意思就是,给你n 个数的原序列,有m 次询问,每次询问给出l、r、k,求原序列l 到r 之间第k 大的数。n范围10万,m范围5千,这道题用快排也可以过,快排过的时间复杂度n*m,而划分树是m...
原创
155阅读
0评论
0点赞
发布博客于 2 年前

线段树(最小值)+01背包

/*https://ac.nowcoder.com/acm/contest/917/E题意:离子炮有n个操作信号,第i个操作信号的强度为b[i]。总体强度为各操作信号的强度之和。由于有些信号太弱了了 (强度<0)。 有 m位队友,第i位队友只会删除编号在 L[i] 和 R[i]之间的信号,且每删除一个信号,花费 C[i]格能量。飞船一共有 k格能量,问他在请队友删除完信号后,总...
原创
80阅读
0评论
0点赞
发布博客于 2 年前

l~r区间查找等于k的数有多少个(主席树)

/*https://ac.nowcoder.com/acm/contest/917/Hn个数 m个询问(m,n<1e4) 这个n个数是大于等于0的 询问l --- r有多少等于k的值题解:可以把a[i]当成下标 i当成数组 */#include<bits/stdc++.h>using namespace std;const int N=1e5+100;...
原创
570阅读
0评论
0点赞
发布博客于 2 年前

树的分治

我们先随意指定一个根rt,将这棵树转化成有根树不难发现树上的路径分为两类,经过根节点rt的路径和包含于rt的某棵子树里(不经过rt)的对于前者, 我们用dis[u]dis[u]表示结点uu到根节点rtrt的路径长度, 则u到v的路径长即为dis[u]+dis[v]dis[u]+dis[v]对于后者, 既然uu到vv的路径包含在rtrt的某个子树内, 那么我们就找到这棵子树的根,再对他...
原创
97阅读
0评论
0点赞
发布博客于 2 年前

树的重心

/*poj 1655 题意:求树的重心和去掉重心的最大子树树的重心定义:对于一个树中节点x,当我们删去它时会将原来的树分割成若干个不相连的部分,其中每个部分都是一颗子树。设max_part表示这些部分中最大的一棵子树,若删去节点x能够使得max_part最小,则称这个点为树的重心 树的重心的性质:定义1:找到一个点,删除它得到的森林中最大的子树节点数最少,那么这个点就是这棵树...
原创
141阅读
0评论
0点赞
发布博客于 2 年前

树的直径

/*poj 1985题意:一棵树n个点 m个边(有边值) 求最长的路径树的直径:定义:树上任意俩点的距离最大值方法:俩次bfs 任意一点找到最远的点u。在找离u最远的点v 既u->v即是直径 */#include<cstdio>#include<cmath>#include<algorithm>#include<st...
原创
147阅读
0评论
0点赞
发布博客于 2 年前

矩阵加速(数列)

P1962 斐波那契数列题目背景大家都知道,斐波那契数列是满足如下性质的一个数列:• f(1) = 1• f(2) = 1• f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)题目描述请你求出 f(n) mod 1000000007 的值。输入输出格式输入格式:·第 1 行:一个整数 n输出格式:第 1 行...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

P4783 【模板】矩阵求逆

设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得:AB=BA=E,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。注意矩阵和行列式是不一样的 行列式是可以计算的/*落谷:p4783求一个N\times NN×N的矩阵的逆矩阵。答案对10^9+7取模。 */#include<bits/stdc++.h>u...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

P3390 【模板】矩阵快速幂

/*落谷:p3390给定n*n的矩阵A,求A^k %p */#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N=110;const LL mod=1e9+7;LL n,p;struct node{ LL m[N][N]; friend node operato...
原创
91阅读
0评论
0点赞
发布博客于 2 年前

P3389 【模板】高斯消元法

/*落谷:p3389给定一个线性方程组,对其求解 */ #include<bits/stdc++.h>using namespace std;const double eps=1e-8;double a[110][110];int n;void Gauss(){ for(int i=1;i<=n;i++){//枚举列 int maxn=i; fo...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

P3811 【模板】乘法逆元

1.乘法逆元(在维基百科中也叫倒数,当然是 mod p后的,其实就是倒数不是吗?):如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p的乘法逆元为x。2.费马小定理(定义来自维基百科):假如a是一个整数,p是一个质数,那么是p的倍数,可以表示为如果a不是p的倍数,这个定理也可以写成3.扩展欧几里得(定义来自维基百科):已...
原创
210阅读
0评论
0点赞
发布博客于 2 年前

fft解决多项式相乘

http://uoj.ac/problem/34#include<bits/stdc++.h>#define N 262145#define pi acos(-1)using namespace std;typedef complex<double> E;int R[N];E a[N],b[N];int lenth=1,Reverse[N];inli...
原创
359阅读
0评论
0点赞
发布博客于 2 年前

复数std::complex

complex是个类模板,它可以采用float、double和long double 3种原始类型进行定制complex同时支持如下操作符:+-*/=+=-=*=/===!= 函数 含义  real() 返回复数的实部  imag() ...
原创
1648阅读
0评论
0点赞
发布博客于 2 年前

fft

https://blog.csdn.net/enjoy_pascal/article/details/81478582
原创
422阅读
0评论
0点赞
发布博客于 2 年前

Polya定理

https://blog.csdn.net/WhereIsHeroFrom/article/details/79631703
原创
159阅读
0评论
0点赞
发布博客于 2 年前

欧拉函数

https://blog.csdn.net/liuzibujian/article/details/81086324
原创
79阅读
0评论
0点赞
发布博客于 2 年前

P3385 【模板】负环

/*p3385题意:判断一个图里是否有负环题解:spfa是最短路算法.如果一个环上的边权有负的,我们可以重复走这条路来获得更小的边权,所以这可以作为我们使用spfa判断负环的根据 */#include<bits/stdc++.h>using namespace std;const int N=1e4+10;const int inf=0x3f3f3f3f;...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

缩点

缩点,就是把一张有向有环图中的环缩成一个个点,形成一个有向无环图。根据题目意思,我们只需要找出一条点权最大的路径就行了,不限制点的个数。那么考虑对于一个环上的点被选择了,一整条环是不是应该都被选择,这一定很优,能选干嘛不选。很关键的是题目还允许我们重复经过某条边或者某个点,我们就不需要考虑其他了。因此整个环实际上可以看成一个点(选了其中一个点就应该选其他的点)强连通定义:在有向图...
原创
133阅读
0评论
1点赞
发布博客于 2 年前

堆 P3378 【模板】堆

这个堆是边插入边操作的 和全部给出那种变成堆是有区别的#include<bits/stdc++.h>using namespace std;const int N=1e6+10;int head[N];int sz;void push(int x){ head[++sz]=x;//先插入到最新叶节点 int now=sz; while(now){ int ...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

Codeforces Round #563 (Div. 2)

A:题意:给2*n个数,如何重新排序使得前n个和后n个不相同,如果一直相同则输出-1题解:从大到小排序如果第一个和最后一个是相同的说明所有值都是相同的,则此时输出-1 否则输出排序好的序列#include<bits/stdc++.h> using namespace std;int main(){ int n; scanf("%d",&n); vect...
原创
184阅读
0评论
0点赞
发布博客于 2 年前

秦九韶算法

给定a[]和x,求多项式的值。double f (int n,double a[],double x){//n代表a[]的大小,数组的传递需要指定数组大小 int i; //a[]储存每个x项的系数值,在函数外初始化 double p=a[n];//初始化p; for(i=n;i>0;i--) ...
原创
197阅读
0评论
0点赞
发布博客于 2 年前

三分

二分查找 适用于单调函数中逼近求解某点的值。如果遇到凸性或凹形函数时,可以用三分查找求那个凸点或凹点。下面的方法应该是三分查找的一个变形。如图所示,已知左右端点L、R,要求找到白点的位置。思路:通过不断缩小 [L,R] 的范围,无限逼近白点。做法:先取 [L,R] 的中点 mid,再取 [mid,R] 的中点 mmid,通过比较 f(mid) 与 f(mmid) 的大小来...
原创
56阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_7_E:Cross Points of Circle

/*向量a ,向量bc=a-b c的方向指向的是a 指向的是被减数 pai=3.1415926=acos(-1.0); C++中cos,sin,asin,acos这些三角函数操作的是弧度,而非角度,你需要把角度转化为弧度.弧度=角度*Pi/180;例子1:比如对边和邻边分别为a,b 设角度为x,则 x=atan(a/b); 其中x为弧度制 如需转换为角度值,则x*1...
原创
111阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_7_D:Cross Points of aCircle and a Line

/*向量a ,向量bc=a-b c的方向指向的是a 指向的是被减数 */#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Poin...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_2_C:Cross Point

/*向量a ,向量bc=a-b c的方向指向的是a 指向的是被减数 */#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Poin...
原创
70阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_2_D:Distance

#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Point operator + (Point p){ return Point(x+p....
原创
53阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_2_B:Intersection

#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Point operator + (Point p){ return Point(x+p....
原创
84阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_1_C :Counter-Clockwise

#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Point operator + (Point p){ return Point(x+p....
原创
67阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_1+B:Reflection

#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Point operator + (Point p){ return Point(x+p....
原创
85阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_1_A:Projection

#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point{ public: double x,y; Point(double _x=0,double _y=0):x(_x),y(_y){} Point operator + (Point p){ return Point(x+p....
原创
128阅读
0评论
0点赞
发布博客于 2 年前

挑战程序设计 CGL_2_A

/*Aoj CGL_2_A题意 T组数据 每次给出4个点 p1,p2,p3,p4p1与p2的向量是p_1p3与p4的向量是p_2;当p_1与p_2平行时输出2,正交输出1,其他输出0可以用向量的内积和外积做这题 */#include<bits/stdc++.h>#define eps (1e-10)using namespace std;class Point...
原创
88阅读
0评论
0点赞
发布博客于 2 年前

bzoj 2460

Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消” 。特别地,如果在炼制过程中使用超过一块...
原创
47阅读
0评论
0点赞
发布博客于 2 年前

hdu 3949 XOR

题目大意是给n个数,然后随便取几个数求xor和,求第k小的。(重复不计算)首先想把所有xor的值都求出来,对于这个规模的n是不可行的。然后之前有过类似的题,求最大的,有一种方法用到了线性基。那么线性基能不能表示第k大的呢?显然,因为线性基可以不重复的表示所有结果。它和原数组是等价的。对于一个满秩矩阵100000010000001000000100000010...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

ac自动机

下面开始用图学习ac自动机吧(个人比较喜欢放图,能用一张图解决的绝不叨叨)首先给定模式串"ash","shex","bcd","sha",然后我们根据模式串建立如下trie树:然后我们再了解下一步:ac自动机,就是在tire树的基础上,增加一个fail指针,如果当前点匹配失败,则将指针转移到fail指针指向的地方,这样就不用回溯,而可以路匹配下去了.(当前模式串后缀和fail指针指向的...
原创
131阅读
0评论
0点赞
发布博客于 2 年前

kmp

kmp算法虽然是一个非常老的算法了,各界OI比赛最近也很少碰过。但是,作为一个很经典的算法,且在2016GDOI中专门出了kmp模板题(当时还是个蒟蒻,暴力只拿了30分……)。所以,今天又打了一遍kmp且写了题解,既是帮大家理解kmp,也是对我自己知识的一个梳理。首先,我们要了解相较于普通字符串匹配快在哪。普通匹配是一位一位往前推,再一次次从选定的开头往后对比,时间复杂度近似于O(N^2)。而...
原创
119阅读
0评论
0点赞
发布博客于 2 年前

tire

基础模板//基本模板 const int N=2e6+10;int tree[N][30],tot=0;bool flag[N];void add(char *s){ int root=0,id,len=strlen(s); for(int i=0;i<len;i++){ id=s[i]-'a'; if(!tree[root][id]) tree[roo...
原创
146阅读
0评论
0点赞
发布博客于 2 年前

dfs序

DFS序就是将树形结构转化为线性结构,用dfs遍历一遍这棵树,进入到x节点有一个in时间戳,递归退出时有一个out时间戳,x节点的两个时间戳之间遍历到的点,就是根为x的子树的所有节点,他们的dfs进入时间戳是递增的。同时两个时间戳构成了一个区间,x节点在这段区间的最左端,这个区间就是一棵根节点为x的子树,对于区间的操作就是其他维护方式的应用了。int time = 0;inline v...
原创
73阅读
0评论
1点赞
发布博客于 2 年前

树链剖分

首先看下dfs序dfs序解决的子树的问题树链剖分解决的是链的问题这个dfs序把这个树的节点都标上号,类似于先序遍历可以看出红色里的子树序号都是连在一起的,这样就可以用dfs序求子树。这个子树的序号是连续的那么比如红色里的是2-4那么就可以每个节点+v 求和 求最大值(可以用线段树维护)等等。。int time = 0;inline void dfs(int x, int...
原创
77阅读
0评论
0点赞
发布博客于 2 年前

Manacher's Algorithm 马拉车算法

这个马拉车算法Manacher‘s Algorithm是用来查找一个字符串的最长回文子串的线性方法,由一个叫Manacher的人在1975年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性,这是非常了不起的。对于回文串想必大家都不陌生,就是正读反读都一样的字符串,比如 "bob", "level", "noon" 等等,那么如何在一个字符串中找出最长回文子串呢,可以以每一个字符为中心,向两...
原创
78阅读
0评论
0点赞
发布博客于 2 年前

树形dp

一般来说树形dp在设状态转移方程时都可以用dp[i][]表示i这颗子树怎么怎么样的最优解,实现时一般都是用子树更新父亲(即从下向上更新),那么首先应该考虑的是一个一个子树的更新父亲还是把所有子树都算完了在更新父亲?这就要因题而异了,一般来说有两种情况:1.需要把所有子树的信息都掌握之后再更新子树的就需要把所有子树都算完了在更新父亲。2.而像树上背包这样的问题就需要一个一个的更新,每次都用一个子树更...
原创
62阅读
0评论
0点赞
发布博客于 2 年前

2019年湘潭大学程序设计竞赛(重现赛)

题目链接:https://ac.nowcoder.com/acm/contest/893#questionA:模拟#include<bits/stdc++.h>using namespace std;int main(){ int n1,p1,s1,n2,p2,s2; scanf("%d %d %d %d %d %d",&n1,&p1,&s1...
原创
826阅读
0评论
1点赞
发布博客于 2 年前

POJ-1679 The Unique MST 次最小生成树

这两种算法的思路都是相同的,首先求出最小生成树,我们枚举每条不在最小生成树上的边,并把这条边放到最小生成树上面,然后就一定会形成环,那么我们在这条环路中取出一条最长的路(除了新加入的那一条边)。最终我们得到的权值就是次小生成树的权值。#include<cstring>#include<cstdio>#include<string>#includ...
原创
49阅读
0评论
0点赞
发布博客于 2 年前

java__速成

1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;import java.math.*;import java.util.*;import java.text.*;public classMain{ public static void m...
原创
668阅读
0评论
1点赞
发布博客于 2 年前

java 大数

BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数用法:不能直接用符号如+、-来使用大数字,例如:(import java.math.*) // 需要引入 java.math 包BigInteger a = BigInteger.valueOf(100);BigInteger b = BigInteger.valueOf...
原创
37阅读
0评论
0点赞
发布博客于 2 年前

JAVA String

Java String 类 - Sunsin - 博客园 </div><!--end: blogTitle 博客的标题和副标题 --><div id="navigator">博客园首页新随笔联系订阅管理 <div...
原创
49阅读
0评论
0点赞
发布博客于 2 年前

java String的基本应用

package my;import java.awt.List;import java.util.ArrayList;import java.util.*;import java.math.*;public class Main { public static void main(String[] args) { // TODO Auto-generated method s...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

常查的东西

原创
43阅读
0评论
0点赞
发布博客于 2 年前

java 中异常处理

一:简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。Java提供了优秀的解决办法:异常处理机制。二:Java异常的分类和类结构图Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。...
原创
32阅读
0评论
0点赞
发布博客于 2 年前

树上第k大/小(主席树)

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int maxn=1e5+10;int T[maxn],L[maxn*44],R[maxn*44],sum[maxn*44];in...
原创
155阅读
0评论
0点赞
发布博客于 2 年前

P3379 【模板】最近公共祖先(LCA)

题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入输出格式输入格式:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。输出格式...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

ST表 (求区间最大/最小值)

ST表ST表的功能很简单它是解决RMQ问题(区间最值问题)的一种强有力的工具它可以做到O(nlogn)预处理,O(1)是查询最值像线段树是O(logn)的查询算法ST表是利用的是倍增的思想拿最大值来说我们用st[i][j]表示,从i位置开始的2^j个数中的最大值,例如st[i][1]表示的是i位置和i+1位置中两个数的最大值那么转移的时候我们可以把当前区间...
原创
364阅读
0评论
0点赞
发布博客于 2 年前

poj 2104 (可持久线段树/主席树 区间第k大)

K-th NumberTime Limit:20000MS Memory Limit:65536K Total Submissions:71836 Accepted:25581 Case Time Limit:2000MS DescriptionYou are working for Macrohard company in data ...
原创
79阅读
0评论
0点赞
发布博客于 2 年前

逆序数

逆序对就是如果i > j && a[i] < a[j],这两个就算一对逆序对,简单来说,所有逆序对的个数和就是找每一个数的前面有几个比他的大的数,他们加起来的和就是逆序对的总数树状数组求逆序数#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int b[N];i...
原创
42阅读
0评论
0点赞
发布博客于 2 年前

poj 2991 (线段树+数学)

CraneTime Limit:2000MS Memory Limit:65536K Total Submissions:9336 Accepted:2476 Special Judge DescriptionACM has bought a new crane (crane -- jeřáb) . The crane con...
原创
111阅读
0评论
0点赞
发布博客于 2 年前

转动任意度数后求转动后的坐标(数学问题)

已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标。圆心(a,b),已知点A(x,y),逆时针转动弧度c(若是顺时针,则把c改成-c即可),点A变成点B(x',y')。设圆半径为r,圆心与A的连线与x轴夹角的弧度为d,则有x-a=r*cosdy-b=r*sind所以,x'-a=r*cos(d+c)=r*cosd*cosc-r*sind*sinc=(x-a)cosc-(y-b)...
原创
393阅读
0评论
0点赞
发布博客于 2 年前

unique

unique函数属于STL中比较常用函数,它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素给占领了(详细情况,下面会讲)。由于它”删除”的是相邻的重复元素,所以在使用unique函数之前,一般都会将目标序列进行排序。#include<iostream>#include<algorithm&...
原创
119阅读
0评论
0点赞
发布博客于 2 年前

poj 2785(折半枚举 双向搜索)

4 Values whose Sum is 0Time Limit:15000MS Memory Limit:228000K Total Submissions:32325 Accepted:9932 Case Time Limit:5000MS DescriptionThe SUM problem can be formulated ...
原创
81阅读
0评论
0点赞
发布博客于 2 年前

poj 3684(物理题 小球弹性碰撞问题)

Physics ExperimentTime Limit:1000MS Memory Limit:65536K Total Submissions:3957 Accepted:1407 Special Judge DescriptionSimon is doing a physics experiment withNide...
原创
275阅读
0评论
0点赞
发布博客于 2 年前

cf New Reform 659E(dfs判断是否有环)

Berland hasncities connected bymbidirectional roads. No road connects a city to itself, and each pair of cities is connected by no more than one road. It isnot guaranteedthat you can get from an...
原创
126阅读
0评论
0点赞
发布博客于 2 年前

尺取法

尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短子序列等等。当然任何技巧都存在其不足的地方,有些情况下尺取法不可行,无...
原创
55阅读
0评论
0点赞
发布博客于 2 年前

poj 2566(尺取法)

Bound FoundTime Limit:5000MS Memory Limit:65536K Total Submissions:6980 Accepted:2277 Special Judge DescriptionSignals of most probably extra-terrestrial origin hav...
原创
88阅读
0评论
0点赞
发布博客于 2 年前

poj 2100(尺取法)

Graveyard DesignTime Limit:10000MS Memory Limit:64000K Total Submissions:9686 Accepted:2462 Case Time Limit:2000MS DescriptionKing George has recently decided that he wo...
原创
174阅读
0评论
0点赞
发布博客于 2 年前

poj 2739 (尺取法)

Sum of Consecutive Prime NumbersTime Limit:1000MS Memory Limit:65536K Total Submissions:29814 Accepted:15916 DescriptionSome positive integers can be represented by a sum o...
原创
54阅读
0评论
0点赞
发布博客于 2 年前

poj 3320 (尺取法)

Jessica's Reading ProblemTime Limit:1000MS Memory Limit:65536K Total Submissions:19047 Accepted:6552 DescriptionJessica's a very lovely girl wooed by lots of boys. Recently...
原创
76阅读
0评论
0点赞
发布博客于 2 年前

poj 3061 (尺取法)

SubsequenceTime Limit:1000MS Memory Limit:65536K Total Submissions:24441 Accepted:10320 DescriptionA sequence of N positive integers (10 < N < 100 000), each of them ...
原创
70阅读
0评论
0点赞
发布博客于 2 年前

团体程序设计天梯赛 L1-题目

L1-001Hello World(5分)这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句“Hello World!”就可以了。输入样例:无输出样例:Hello World!#include<bits/stdc++.h>using namespace std;int main(){ cout<<"Hell...
原创
194阅读
0评论
0点赞
发布博客于 2 年前

poj 2983(最短路 差分约束)

Is the Information Reliable?Time Limit:3000MS Memory Limit:131072K Total Submissions:15783 Accepted:4893 DescriptionThe galaxy war between the Empire Draco and the Commonwe...
原创
41阅读
0评论
0点赞
发布博客于 2 年前

poj 1364 (最长路 差分约束)

KingTime Limit:1000MS Memory Limit:10000K Total Submissions:15090 Accepted:5300 DescriptionOnce, in one kingdom, there was a queen and that queen was expecting a baby. The ...
原创
79阅读
0评论
0点赞
发布博客于 2 年前

poj 3169(最短路 差分约束)

LayoutTime Limit:1000MS Memory Limit:65536K Total Submissions:16053 Accepted:7712 DescriptionLike everyone else, cows like to stand close to their friends when queuing for ...
原创
64阅读
0评论
0点赞
发布博客于 2 年前

hdu 3440 (差分约束 最短路径)

House ManTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3736Accepted Submission(s): 1567Problem DescriptionIn Fuzhou, there is a c...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

poj 1201- Intervals (求最大路径)

DescriptionYou are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn.Write a program that:reads the number of intervals, their end points and integers c1, ..., cn from the st...
原创
58阅读
0评论
0点赞
发布博客于 2 年前

差分约束

一:差分约束的定义差分约束系统(system of difference constraints),是求解关于一组变数的特殊不等式组之方法。如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi<=bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特...
原创
43阅读
0评论
0点赞
发布博客于 2 年前

其他进制转化为十进制

这个方法 和普通进制规律稍微有点不一样#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; int id=0; for(int i=0;i<s.size();i++){ if(isalpha(s[i])){ id=id*16+s[i]-'A'+10...
原创
424阅读
0评论
0点赞
发布博客于 2 年前

L3-017 森森快递 (30 分)

森森开了一家快递公司,叫森森快递。因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号。由于道路限制,第i号城市(i=0,⋯,N−2)与第(i+1)号城市中间往返的运输货物重量在同一时刻不能超过C​i​​公斤。公司开张后很快接到了Q张订单,其中j张订单描述了某些指定的货物要从S​j​​号城市运输到T​j​​号城市。这里我们简单地假设所有...
原创
475阅读
0评论
0点赞
发布博客于 2 年前

bitset

1.bitset存储二进制数位。2.bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一,可以当作一个bool型数组考虑,bitset<N> bs; 可以考虑成一个数组bool bs[N]。3.bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式fo...
原创
289阅读
0评论
0点赞
发布博客于 2 年前

L3-013 非常弹的球 (30 分)

刚上高一的森森为了学好物理,买了一个“非常弹”的球。虽然说是非常弹的球,其实也就是一般的弹力球而已。森森玩了一会儿弹力球后突然想到,假如他在地上用力弹球,球最远能弹到多远去呢?他不太会,你能帮他解决吗?当然为了刚学习物理的森森,我们对环境做一些简化:假设森森是一个质点,以森森为原点设立坐标轴,则森森位于(0, 0)点。 小球质量为w/100千克(kg),重力加速度为9.8米/秒平方(m/s...
原创
410阅读
0评论
0点赞
发布博客于 2 年前

L3-011 直捣黄龙 (30 分)

本题是一部战争大片 —— 你需要从己方大本营出发,一路攻城略地杀到敌方大本营。首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营。当这样的路径不唯一时,要求选择可以沿途解放最多城镇的路径。若这样的路径也不唯一,则选择可以有效杀伤最多敌军的路径。输入格式:输入第一行给出 2 个正整数 N(2≤N≤200,城镇总数)和 K(城镇间道路条数),以及己方大本营和敌方大本...
原创
153阅读
0评论
0点赞
发布博客于 2 年前

L3-015 球队“食物链” (30 分)(剪枝)

某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个1至N的排列{T​1​​T​2​​⋯T​N​​},满足:球队T​1​​战胜过球队T​2​​,球队T​2​​战胜过球队T​3​​,⋯,球队T​(N−1...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

L3-007 天梯地图 (30 分)

本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。输入格式:输入在第一行给出两个正整数N(2≤N≤500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数。随后M行,每行按如下格式给出一条道路的信息:V1 V2 one-wa...
原创
90阅读
0评论
0点赞
发布博客于 2 年前

L3-010 是否完全二叉搜索树 (30 分)

将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多...
原创
52阅读
0评论
0点赞
发布博客于 2 年前

L3-008 喊山 (30 分)

喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)...
原创
235阅读
0评论
0点赞
发布博客于 2 年前

L2-007 家庭房产 (25 分)

给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产:编号 父 母 k 孩子1 ... 孩子k 房产套数 总面积其中编号是每个人独有的一个4位数的编号;父和母分别是该编号对应的这个人的父母的编号(如果已经过世,则显示-1);k(0≤k≤5)是该人的...
原创
82阅读
0评论
0点赞
发布博客于 2 年前

团体程序设计天梯赛-练习集 -- 解题目录

题目ID 题目 题目类型 L1 所有题目 模拟 L2-001 紧急救援 最短路径 L2-002 链表去重 链表 L2-003 月饼 结构体排序 L2-004 这是二叉搜索树吗? BST (知道前序建树) L2-005 集合相似度 STL---set L2-006 树的遍历 二...
原创
224阅读
0评论
1点赞
发布博客于 2 年前