自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 考试总结2019-10-04

T1思路:运用if将所有情况列举出来。注:如果要读入一整行(有空格)应用 getline(cin,a);难点:’‘的表示(’'会自动与之后的字符连起来),需测试出它的ASCLL码并已整数形式判断。代码:#include <bits/stdc++.h>using namespace std;string a;int main(){ freopen("kot.in","r"...

2019-10-04 20:42:47 87

原创 NOIP2018 普及组游记

我是一个初一的蒟蒻emmmm,所以各位大佬们请不要嘲讽我QAQT1 标题统计刚拿到题时忍不住爆粗,为什么这几年普及组第一题总是这么水呀23333但是还是有人出现如下几点问题1.文件名打错:如title打成tltle等,我觉得还是最好从原题上将题目名称复制下来,避免出错2.题意理解错误:刚考完,zyf巨佬就跟我说他T1写炸了,为什么呢?原来是因为他把题意误认为是最多只有一个空格23333...

2019-02-15 16:24:06 500

原创 二分图匹配

所谓的二分图的最大匹配是指在二分图中选择出最多的边数,且选择的边不共点。1.首先选择一个没有匹配的点x,选择x的任意一条边(x,y),如果y也没有匹配,那么就选(x,y),如果y已经被匹配了, 那么就让已经匹配y的点z去尝试找一个新的匹配;如果x和y能够匹配成功,那么匹配数就加1。2.如果x和y没有匹配成功,那么再尝试x的另一条边;3.对于所有的点,重复1,2两步代码:#include ...

2020-04-01 16:47:33 147

原创 费用流

最小费用路算法【最小费用最大流】:在实际应用中不仅需要考虑流量,还要考虑费用。我们希望建立一个费用最小,流量最大的网络,即最小费用最大流两种思路:(1):最小费用路算法(2):消圈算法做法:(1):创建混合网络(2):找最小费用路(3):沿着增广路径正向增流d,反向减流d...

2020-02-26 19:28:24 122

原创 网络流

最短增广路算法:网络是一个带权有向图,包含一个源点和一个汇点,没有反平行边。网络传输都有方向和容量。例题:从s城到t城,中途经过若干个城市,每两个城市之间有它的容量,求从s到t每天最多能运多少货物?网络流:网络流即网络上的流,是定义在网络边集E上的一个函数可行流:满足下列条件:1.容量约束每个管道的实际流量flow不能超过该管道的cap2.能量守恒流入=流出【除源点汇点】源点s:...

2020-02-26 09:36:31 116

原创 高斯消元

高斯消元模板我们可以这样理解高斯消元:如:解一个三元方程:x1+2*x2-x3=62*x1+x2-3*x3=9-x1-x2+2*x3=7我们可以将其转化成矩阵的形式:1 2 -1 x1 -62 1 -3 * x2 = -9 -1 -1 2 x3 7既然x1,x2,x3是我们要求的未知数,不妨将它们先行舍去,同时将等式右...

2020-02-04 19:08:34 116

原创 矩阵

Q1:何为矩阵?一个mn的由整数构成的图案:如:32的矩阵:[ 1 2 ][ 3 4 ][ 5 6 ]矩阵的加减法:1 2 11 12 12 143 4 + 13 14= 16 185 6 15 16 20 22结论:矩阵加or减法:对于两个分别为A[n][m]和B[n][m]的矩阵相加:答案C[i][j]=A[i][j]+B[i][j]。减法则为:C...

2020-02-03 22:40:35 199

原创 luogu P2661 信息传递

luogu P2661 信息传递题目描述有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 T_i的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己...

2019-11-09 15:47:00 108

原创 Catlan数 2019.11.07

模板1模板2模板3代码#include <bits/stdc++.h>using namespace std;const int maxn=3000+10,MOD=1e9+7;long long a[maxn],n,ans,t;int main(){ a[0]=1;//初始化a[0]=1 scanf("%lld",&t); for(int i=1;i&lt...

2019-11-07 16:45:12 92

原创 luogu P1629 邮递员送信 题解

链接题目描述有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间。这个邮递员每次只能带一样东西。求送完这N-1样东西并且最终回到邮局最少需要多少时间。输入格式第一行包括两个整数N和M。第2到第M+1行,每行三个数字U、V、W,表示从A到B有一条需要W时间的道路。 ...

2019-11-03 20:05:17 309

原创 快讀

int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ ...

2019-11-01 15:08:44 87

原创 考试总结2019-10-31

T1思路:前置知识:对于一个四边形,三边之和一定大于第四边。设sx为每一边的上限,i,j为两边因为由题意可得:任意一边都大于等于1且为整数(k为正整数)所以可以有如下几个不等式:1.n-i-j-k>=1k<=sx可以得出:k<=n-i-j-1k<=sx所以k的范围为k<=min(n-i-j-1,sx)2.k>=1n-i-j-k<=...

2019-10-31 15:54:01 116

原创 exam 2019-10-30

T1:ACsolution:用树状数组维护前缀和,修改时暴力,用一个并查集维护当前点之后第一个不为0或1的点是谁。。每次修改之后路径压缩一下并查集。#include <bits/stdc++.h>using namespace std;const int maxn=500000+10;long long ans[maxn],num[maxn],n,m;void add(...

2019-10-30 21:21:19 144

原创 考试总结2019-10-06

T1思路:这道题比较简单,直接循环查找即可(点(a,b)至点(a1,b1)的距离为(abs(a-a1)+abs(b-b1)),好多人直接dfs???)代码:#include <bits/stdc++.h>using namespace std;const int maxn=100+10,INF=2147483647;int n,m,x,y,a[maxn][maxn],st,...

2019-10-08 00:09:43 107

原创 2019-08-22 考试总结

T1:地铁巡查思路:最小生成树代码:#include<bits/stdc++.h>using namespace std;const int maxn=10000+10,INF=2147483647;long long n,m,k,cnt,zr[maxn],nex[maxn],beg[maxn],to[maxn],c[maxn],v[maxn],s=1,minn=INF,s...

2019-08-23 00:29:50 200

原创 2019-09-20 练习

今日练习:NOIP2017 提高组Day1三道题:T1:小凯的疑惑这道题思路:这道题考场遇到时比较棘手,题意较难理解,且数学公式也不是特别好推,基本上只能靠枚举得到部分分。考试时:咦?这道题的数据之间存在什么关系?好像是a*b-a-b?考试后:哦,忘了开longlong了。。。不开longlong见祖宗。。。反思:1.开longlong一定要养成习惯啊。。。2.曾经有一道(a*b-a...

2019-08-21 00:16:52 90

原创 考试2019-08-16

T1(disaster)题目大意有天,某个核蔼可氢的XX要被机惨了,他得知消息,很快的跑向机房,因为他不想太惨,所以他想跑最短的路跑回机房,他想知道他最少要跑多远才能到达机房解救他的账号。 号节点表机房, n号节点表示所在位置。Input第一行输入n,m。 n表示节点数, m表示路径数第二行至m+1行每行三个数x,y,z,分别表示条双向路径的2个端点和长度Output一行一个整数...

2019-08-18 21:02:59 83

原创 树形DP入门2019-08-12

【题意】公司有n个人,每个人有价值vi,有一天举办年会,每个人都可以参加,但有严格的等级制度,参加活动时,不能同时出现a和a的上司,问如何才能使总和最大。【分析】每个人只有去和不去两种状态,设f[i][0]和f[i][1]分别表示第i个人不参加和参加年会,获得的总的最大价值。则状态转移方程为:f[i][1] += f[j][0],f[i][0] += max{f[j][0],f[j][...

2019-08-12 15:32:26 79

原创 2019-08-10 考试反思

T1:S先生与Q小姐题目大意S先生有一种超能力,让他可以预测出股票的价格,他打算用这个超能力大干一场S先生知道n天内的股票价格,在第i天时他有如下操作:1.不动,不买也不卖2.卖掉股票,收获a[i]的价格3.买进股票,减少a[i]的价格已知他每天只能如上操作一次,请问他最大可以获得多少价格买东西取悦美丽的Q小姐呢???Input第一行为股票的个数n第二行有n个数,表示每一个股...

2019-08-10 23:24:07 90

原创 考试反思 2019-08-06

T1:S先生与Q小姐题目大意S先生知道n天内的股票价格,在第i天时他有如下操作:1.不动2.卖掉股票,收获a[i]的价格3.买进股票,减少a[i]的价格已知他每天只能如上操作一次,请问他最大可以获得多少价格买东西取悦美丽的Q小姐呢???Input第一行为股票的个数n第二行有n个数,表示每一个股票的价格Output每个区间内不并存的勾股数Sample Input11 ...

2019-08-06 19:05:43 116

原创 考试反思 2019-08-03

T1:题目大意:我们已知勾股数满足aa+bb=cc且可以构成一个三角形,即满足两边之和大于第三边,两边之差小于第三边,我们认为,对于aa+bb=cc,若存在kaka+kbkb=kc*kc,则我们认为这两组勾股数并存,现在给定n组数据,每组数据输入x和y,求区间[x,y]中有多少个c使得勾股数不并存样例输入:11 13样例输出:2样例解释:5和13满足条件思路:暴力枚举,因为时间限制给的...

2019-08-04 22:15:45 113

原创 2019-08-02

思路:这道题答案不难,但想出来有点难。对于第一个蜂窝,第一个蜂窝到达它的最小距离为1,对于第二个蜂窝,第一个蜂窝到达它的最小距离为1,对于第三个蜂窝,第一个蜂窝到达它的最小距离为2,这样推下去,就可以发现答案是一个斐波那契数列!!!#include <iostream>#include <cstdio>#include <cstring>using na...

2019-08-02 17:03:59 96

原创 DP——2019

233源代码:#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int maxn=1000+10;int n,ans;int a[maxn][maxn];int main(){ scanf...

2019-08-01 18:39:27 764

原创 2019-8-1 复习:枚举

A.fly 飞行棋问题描述给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形。Input第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度Output所构成不重复矩形的个数Sample Input812231133Sample...

2019-08-01 18:38:51 146

原创 DP入门——2019-7-13

引入:先从一道简单的小奥题开始(然而我并不会)已知一个n行m列的表格,求从左上角至右上角总共的方案数,只能往右或下走。可以很轻松地得出,状态转移方程为f[i][j]=f[i-1][j]+f[i][j-1]代码:#include <iostream>#include <cstdio>#include <cstring>using namespace ...

2019-07-13 20:08:44 87

原创 2019-06-11 LCA

LCA思路一:暴力算法(会T3个点),直接从需要搜索的点向上,并将路径记录下来,再进行对比即可。代码:#include<bits/stdc++.h>using namespace std;const int maxn=500000+5;vector<int>e[maxn];int d[maxn],f[maxn];void dfs(int x,int fa){...

2019-06-11 19:56:27 81

原创 2019-06-02 ST表

ST算法:QM:求最值练习题——忠诚f[i][j]表示从i开始的连续2^j个数的最值f[i][j]=max(f[i][j-1],f[i+2^(j-1)][j-1])g[1][8]=max(g[1][4],g[5][8])f[1][3]=max(f[1][2],f[1+2^2][2])2 5 1 3 9 8 6 7 4 2f[i][0]=a[i];f[i][0]=2 5 1 3 9...

2019-06-02 20:03:39 108

原创 2019-05-21 图进阶

割顶的定义:对于无向图G,如果删除某个点u之后,联通分量数量增加,则称u为图的割顶。DFS时标记每个点遍历的次序为dfn规定low(u)为u及其后代所能连回的最早祖先的dfn值如:该图中,A B C D Edfn 1 2 3 4 5low 1 2 3 3 3因为e有一条边可连回c(图上未标),所以c,d,e三点的low值都为c的dfn值——3求割顶代码:...

2019-05-21 20:15:31 73

原创 2019-04-09 线段树

P3372 线段树1线段树模板(LAZY):#include <bits/stdc++.h>const int maxn=100000+10;using namespace std;long long c[maxn*4],sum,lazy[maxn*4];void init(int h,int s,int t){ int mid=(s+t)/2; if(s=...

2019-04-09 20:31:45 67

原创 2019-03-10 离散化

USACO 3.1.4cpp:#include &lt;bits/stdc++.h&gt;using namespace std;const int maxn=2001;struct lrj233{ int x1,x2,y1,y2,c;}sp[maxn];int p[maxn][maxn],ys[maxn],a,b,n,cntx,cnty,tx[maxn],ty[maxn],ta[...

2019-03-10 20:57:02 100

原创 最小生成树模板

#include &lt;bits/stdc++.h&gt;using namespace std;const int maxn=500001;int fa[maxn],n,m,ans,s;struct edge{ int x,y,z;}a[500001];bool cmp(edge x,edge y){ return x.z&lt;y.z;}int find(int x...

2019-03-04 21:46:57 98

原创 2019-02-24 二维凸包

二维凸包:#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;using namespace std;const int maxn=100000+10;int n,top=2;double ans;struct node{//存储直角坐标系的x和y值 double x,y;};node p[maxn],z[maxn];bool cmp(node u,node v){//...

2019-02-24 20:30:55 130

原创 Tarijan

牛的舞会#include &amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;gt;using namespace std;const int N=10001,M=100010; int n,m,ans,head[N],pos,a,b;stack&amp;amp;amp;amp;lt;int&amp;amp;amp;amp;gt;S;struct edge{//结构体,存储编号与下一个 int to,next;

2019-02-15 14:59:26 117

原创 2019-02-13 最短路应用

传递闭包:传递闭包就是求有向图中两点的可达性。若从x可以到y,则ok[x][y]=1,否则ok[i][j]=0,然后利用近似Floyd的方法求解核心代码:for(int k=1;k&amp;amp;amp;lt;=n;k++) for(int i=1;i&amp;amp;amp;lt;=n;i++) for(int j=1;j&amp;amp;amp;lt;=n;j++) ok[i][j]|=(ok[i][k]&amp;amp;amp;amp;ok[k][

2019-02-13 14:52:57 188

原创 树的重心

#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&amp;lt;vector&amp;gt;using namespace std;const int maxn=50000+5,inf=100000000;int sum[maxn];vector &amp;lt;int&amp;gt; a[maxn];int zx,ans,n;void

2019-02-12 15:04:29 107

原创 2019-2-12 最短路径算法

Dijkstra+Heap优化:可AC这道题还有这道题//时间复杂度:O(n*log2n)#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;using namespace std;const int maxn=1000000+10,inf=2147483647;int w[maxn],to[maxn],beg[maxn],nex[maxn],d[maxn],p[maxn];...

2019-02-12 15:03:43 183

原创 2018-12-30 树状数组

这一题代码:#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int maxn=500000+5;int c[maxn],n,m;int szsh(int x){ return x &amp;amp; -x;}void add(int i,int x){ while(i&amp;lt;=n){ c[i]+=...

2018-12-30 20:19:15 99

原创 2018-12-23 树

数组模拟堆进行快速排序:#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int maxn=100000+10;int a[maxn],len,n,k;int main(){ scanf(&quot;%d&quot;,&amp;amp;n); for(int i=1;i&amp;lt;=n;i++){ scanf(&quot;%d&quot;,&am

2018-12-23 20:01:12 95

原创 2018-12-16 栈

栈:老师blog十进制转二进制:1.数组模拟栈:#include &amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;gt;using namespace std;const int maxn=1000+10;int s[maxn],n,len;int main(){ scanf(&amp;amp;quot;%d&amp;amp;quot;,&amp;amp;amp;amp;n); while(n){ s[++l

2018-12-16 19:34:48 76

原创 spfa

#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int maxn=10000+10,inf=2147483647;int n,m,s,tot,dis[maxn],head[maxn];bool vis[maxn];struct Edge{ int next,to,w;}h[maxn];void add(int u,in...

2018-12-10 22:31:32 73

空空如也

空空如也

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

TA关注的人

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