- 博客(25)
- 收藏
- 关注
原创 非递归先序中序后序遍历二叉树
节点的结构体struct TreeNode{ int value; TreeNode *left; TreeNode *right;};先序遍历void xian(TreeNode *root){ stack<TreeNode*> s; TreeNode *now=root; while(now||!s.empty()){ if...
2019-05-28 21:42:41 172
原创 计算机网络基础复习
TCP如何保证传输的可靠性:1.校验和2.确认应答和序列号3.超时重传4.流量控制5.拥塞控制(慢启动,拥塞避免,用色发生,快速恢复)
2019-05-24 23:41:24 206
原创 c++基础复习
什么是多态:一个接口,多种方法。主要通过虚函数来实现。基类的函数前面加上virtual ,在派生类中重写该函数,运行时根据对象的实际类型来调用相应的函数,对象是派生类,就调用重写的函数(没有重写就默认为基类的)。虚函数表:如果一个类中有虚函数,这个类就会包含一张虚函数表,虚函数表存储的每一项是一个虚函数的地址。虚指针会存在于对象实例地址的最前面,保证虚函数表有着最高的性能,...
2019-05-23 12:20:11 222
转载 进程和线程的区别
多进程: 进程是资源(CPU,内存)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为其分配资源,然后把该进程放入程序就绪队列,进程调度器就会为其分配CPU时间,然后程序开始运行。多线程: 线程是程序执行的最小单位,它是进程的一个执行流,是CPU调度和分配的基本单位,一个进程可以由多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部...
2019-05-20 21:37:55 157
原创 树状数组裸题模板
题目简述:给一组长度为n的数组,对这数组有q次操作,有两种操作。①将某点加x,②输出l-r的和题目链接树状数组的原理很简单,若给定的数组为a[i],构建的树状数组为b[i],当 i = 2 时 b[2] = a[2] + b[1],当 i = 3 时 b[3] = a[3],当 i = 4 时 b[4] = a[4] + b[3] + b[2]规则就是把 i 换成二进制 ...
2019-05-14 13:56:34 170
原创 伸展树模板HYSBZ - 3224
题目链接 #include<cstdio>#include<iostream>using namespace std;#define maxn 100005int sz,root,ch[maxn][2],f[maxn],cnt[maxn],key[maxn],size[maxn];inline void clear(int x){ ch[x...
2019-01-25 16:40:57 178
原创 寒假第二周学习记录2 HDU5126 CDQ分治
题目链接大意:在一个三维空间当中,每次进行一个操作,添加一个点或者统计空间中的某一个长方体范围内的所有点就是用CDQ分治就离线的统计出每个查询的结果首先我们将每个点z坐标离散化,那么我们就可以利用树状数组统计出每个查询点之前插入的点的z坐标小于等于当前查询的点的个数。那么我们就是要先将x,y序不大于当前查询,且时序小于当前查询的点先加入的树状数组当中,这一步操作我们需要进行一个嵌套...
2019-01-25 16:04:31 192
原创 ACM-ICPC 2018 焦作赛区网络预赛 B. Mathematical Curse
因为有乘法和除法,乘上一个负数时,最小值就变最大值了,所以我们要维护最小和最大两个值;用dpmax[i][j]和dpmin[i][j],代表用了 j 个运算符走到 i 时的最大值和最小值。dp[n][m]就是结果了 #include<iostream>#include<cstring>using namespace std;typedef lo...
2018-09-16 01:04:01 207
原创 ACM-ICPC 2018 焦作赛区网络预赛 G
一开始看错题还以为10的5次方。。。。 wa了#include<iostream>using namespace std;typedef long long ll;const ll mod=1000000007;ll pow(ll n,ll m){ ll now=1,temp=n; while(m){ if(m&1){ now=now...
2018-09-15 19:55:43 254
原创 优先队列中重载运算符(priority_queue学习)
优先队列是从大到小排序的我们要想变成从小到大排序那么改变一下它判断小于的条件就好了重载 < 运算符(就是它判断小于的条件)当a.val > b.val时 节点a < 节点b优先队列q的排序中b在a前面,所以q就变成按val从小到大排序了 ;#include<bits/stdc++.h>using namespace std;...
2018-09-02 02:12:51 1084 2
原创 ACM-ICPC 2018 南京赛区网络预赛 Magical Girl Haze
题目链接将每个点分成K+1(0<=i<=k)个点,代表该点之前有i条权值变为0的边分层后找最短路#include <bits/stdc++.h>using namespace std;const int maxn=100005;const long long INF=1e18+5;struct node{ int to,dis; node (int...
2018-09-01 19:50:22 168
原创 ACM-ICPC 2018 南京赛区网络预赛 A
题目链接 (n-1)*(n-1)! = n!-(n-1)!所以公式S最后可以化简为 n!-1因为 mod n 又因为n!为n的倍数所以结果就为 n-1#include<bits/stdc++.h>using namespace std;int main(){ int t; while(~scanf("%d",&t)){ long long...
2018-09-01 19:29:27 551 2
原创 最大流模板(dinic)
以 POJ 1273为例//#include<bits/stdc++.h>#include<cstdio>#include<vector>#include<queue>#include<cstring>using namespace std;const int maxn=100005;const int inf=...
2018-08-24 13:04:38 173
原创 2018 Multi-University Training Contest 10 Problem E. TeaTree(1005)
#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 10;vector<int> V[N], G[N];set<int> ST[N];int n, a[N], ans[N];void init(){ for(int i=2; i<N; i++){ ...
2018-08-22 20:38:35 129
原创 2018 Multi-University Training Contest 10 Problem L.Videos(1012)
费用流#include<bits/stdc++.h>using namespace std;const int N = 500;const int inf = 0x3f3f3f3f;int T, n, m, K, W, tar;bool inq[N];int a[N], d[N], p[N];struct Movie{ int s, t, w, ...
2018-08-22 19:34:58 214
原创 线段树+树链剖分裸题 spoj 375 Query on a tree
题目大意:在一颗数上,每条边都有一个权值,让你修改其中一条边的值或者让你找出u,v两点之间权值最大的边。 树链剖分,第一个dfs求出每个点的siz(该点拥有的子节点数),son(其儿子节点中siz最大的那个),fa(该节点的父亲节点),dep(该节点所在层数)第二个dfs就是为按重链为每一条边标记num下标和标记重链。接着就是用线段树管理这些边,记得这些边是用num下标标记的...
2018-08-22 00:03:24 116
原创 kmp模板
#include<bits/stdc++.h>#define maxn 100005using namespace std;int next[maxn];char a[maxn],b[maxn]; int len1,len2;//求b匹配a的起始坐标 int kmp1(){ int i=0,j=0; while(j<len1&&i<le...
2018-08-21 11:25:36 160
原创 线段树模板(区间和)
#include<bits/stdc++.h>using namespace std;#define MAX 110005typedef long long ll;int a[MAX];int sum[MAX<<2];int add[MAX<<2];void push(int rt){ sum[rt]=sum[rt<<1]+sum...
2018-08-21 11:08:14 119
原创 2018 Multi-University Training Contest 9 Rikka with Badminton
Problem DescriptionIn the last semester, Rikka joined the badminton club.There are n students in the badminton club, some of them have rackets, and some of them have balls. Formally, there are ...
2018-08-20 19:57:38 156
原创 最短路模板(dijkstra优先队列优化 和 spfa+向前星优化)
用优先队列(堆)优化的Dijkstra算法:#include<bits/stdc++.h>#define maxn 100005#define inf 0x3f3f3f3fusing namespace std;vector<pair<int,int> > e[maxn];int dis[maxn];int vis[maxn];int ...
2018-08-19 21:57:14 516
原创 2018牛客网暑期ACM多校训练营(第七场)A Minimum Cost Perfect Matching
链接:https://www.nowcoder.com/acm/contest/145/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld题目描述You have a complete bipartite graph where each p...
2018-08-10 16:25:39 214
原创 2018 Multi-University Training Contest 5 1007:Glad You Came(线段树)
题目链接题目大意:给出n个数(a1....an)一开始为0,然后给一个公式生成3m个数,在每次操作中根据另一个公式得到 l,r和v 在al..al+1..ar中如果ai<v,ai=v; 输出最后这n个数先乘自己的下标再异或的结果。解题思路:线段树维护n个数的最小值,在每次操作中区间更新,m次操作完后异或得出结果。(记得剪枝) 代码:#include<bit...
2018-08-07 19:47:59 135
原创 2018 Multi-University Training Contest 5 E Everything Has Changed
Everything Has Changed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
2018-08-07 14:31:27 152
原创 2018年上海金马五校程序设计竞赛 Problem E : Grid
Problem E : GridFrom: DHUOJ, 2018060905Submit (Out of Contest)Time Limit: 1 sDescriptionHere is an n×m grid, which is made up of 1×1 lattices. You can find many rectangles with different sizes in the ...
2018-06-09 19:55:39 179
原创 2018年上海金马五校程序设计竞赛 Problem C : Summer Camp
Problem C : Summer CampDescriptionDengDalao is a third-year student. He hopes to participate in summer camps to gain opportunities for pursuing a master's degree. Now, he wants to know the cheapest wa...
2018-06-09 19:38:43 428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人