题解
cnyali_szsh348
这个作者很懒,什么都没留下…
展开
-
网络流
最短增广路算法:网络是一个带权有向图,包含一个源点和一个汇点,没有反平行边。网络传输都有方向和容量。例题:从s城到t城,中途经过若干个城市,每两个城市之间有它的容量,求从s到t每天最多能运多少货物?网络流:网络流即网络上的流,是定义在网络边集E上的一个函数可行流:满足下列条件:1.容量约束每个管道的实际流量flow不能超过该管道的cap2.能量守恒流入=流出【除源点汇点】源点s:...原创 2020-02-26 09:36:31 · 128 阅读 · 0 评论 -
高斯消元
高斯消元模板我们可以这样理解高斯消元:如:解一个三元方程: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 · 126 阅读 · 0 评论 -
矩阵
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 · 210 阅读 · 0 评论 -
luogu P2661 信息传递
luogu P2661 信息传递题目描述有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 T_i的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己...原创 2019-11-09 15:47:00 · 118 阅读 · 0 评论 -
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<...原创 2019-11-07 16:45:12 · 104 阅读 · 0 评论 -
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 · 332 阅读 · 0 评论 -
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 · 160 阅读 · 0 评论 -
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 · 82 阅读 · 0 评论 -
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 · 92 阅读 · 0 评论 -
考试反思 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 · 120 阅读 · 0 评论 -
2019-8-1 复习:枚举
A.fly 飞行棋问题描述给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形。Input第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度Output所构成不重复矩形的个数Sample Input812231133Sample...原创 2019-08-01 18:38:51 · 153 阅读 · 0 评论 -
考试反思 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 · 128 阅读 · 0 评论 -
考试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 · 92 阅读 · 0 评论 -
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 · 98 阅读 · 0 评论 -
考试总结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 · 99 阅读 · 0 评论 -
2019-03-10 离散化
USACO 3.1.4cpp:#include <bits/stdc++.h>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 · 113 阅读 · 0 评论 -
题解 P1457 【城堡 The Castle】
#include <bits/stdc++.h>using namespace std;struct {//用结构体,方便存储 int w1,w2,w3,w4;//记录东南西北四个方向是否有墙 }w[51][51];//房间数目 int v[51][51],maxs,s,f,n,m,t,maxf,b[2600];void dfs(int x,int y){ if(v...原创 2018-10-03 20:59:16 · 337 阅读 · 0 评论 -
题解 UVA543 【Goldbach's Conjecture】
素数筛法,就是在原暴力求解素数代码的基础上,将算法变成线性的。 那么,怎么操作呢??!!代码:#include <bits/stdc++.h>using namespace std;int n,w,ans[1000010],tot,s;bool vis[100000010];int main(){ cin>>n>>w; for(int...原创 2018-10-03 21:01:11 · 111 阅读 · 0 评论 -
题解 P1650 【田忌赛马】
与古代田忌的应对方法差不多,现在我们任然可以用贪心的思路解答。1.田忌的马甚至比齐王的马快,那么,直接将两人最快的马进行比赛,达到最优2.田忌最快的马比齐王最快的马要慢,则与古代田忌的方案相同,用田忌最慢的马消耗掉齐王最快的马3.齐王最快的马与田忌最快的马速度相当,又可以分成2种情况 程序:#include <bits/stdc++.h>using namespace std...原创 2018-10-03 21:02:34 · 420 阅读 · 0 评论 -
题解 P4677 【山区建小学】
我用的是递推的思路来做(看注释)#include<bits/stdc++.h>//递推using namespace std;const int M=501;int a[M][M],c[M][M],f[M][M];int main(){ int n,t,m,mid; cin>>m>>n;//按题意先输入n个村庄和m个小学 fo...原创 2018-10-03 21:03:23 · 529 阅读 · 0 评论 -
【题解】计算鞍点
描述给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 2 15 10 11 20 25输入输入包含一个5行5列的矩阵输出如果存在鞍点,输出鞍...原创 2018-10-03 21:04:45 · 3517 阅读 · 0 评论 -
[USACO1.3]虫洞wormhole
思路:这道题我用的是暴力枚举,其实开始我没有搞懂题意,后来在同学的帮助下知道了:1.构造一个表格,先枚举1-n数字在表格中的位置2.枚举贝茜的出发点,再判断是否卡住了40分代码(还没有找到错误):#include <bits/stdc++.h>using namespace std;int n,x[15],y[15],a[15],b[15];int pd(){ ...原创 2018-10-03 21:06:09 · 570 阅读 · 0 评论 -
【题解】 循环比赛日程表
刚看到题时,就感觉有点懵B,完全不知道如何下手,于是,我在excel表上枚举了当M为3和4时表格的情况,才慢慢有点思路,但是有些无法运用到分治算法之中思路:根据观察,可将表格分为四部分,分别为ABCD,A与C完全相同,B与D完全相同, 附上M=3时附上M=4时只用求2部分,又可以根据每1个数字在斜线上的规律,可得出的递归公式,顺便说一下,在一本通里我找到了这样的简便次方公式,妈妈再也不用担...原创 2018-10-03 21:08:17 · 252 阅读 · 0 评论 -
【题解】A+B problem
题目描述输入两个整数a,b,输出它们的和(|a|,|b|&lt;=10^9)。注意pascal使用integer会爆掉哦!有负数哦!c/c++的main函数必须是int类型,而且最后要return 0。这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求!好吧,同志们,我们就从这一题开始,向着大牛的路进发。任何一个伟大的思想,都有一个微不足道的开始。输入输出格式输入格...原创 2018-10-04 15:00:48 · 210 阅读 · 0 评论 -
【题解】小凯的疑惑
题目描述小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。输入输出格式输入格式:两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯中金币的面值。输出格式:一个正整数 N,表示不找...原创 2018-10-04 16:05:06 · 523 阅读 · 2 评论 -
匈牙利算法2018-10-14
看到这一题或者这个优秀Blog其实,这一道题起源于俄罗斯网站上的一道舞会题·······不管这么多,先看一看题目:【模板】二分图匹配题目背景二分图感谢@一扶苏一 提供的hack数据题目描述给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数输入输出格式输入格式:第一行,n,m,e第二至e+1行,每行两个正整数u,v,表示u,v有一条连边输出格式:共一...原创 2018-10-14 21:01:18 · 137 阅读 · 0 评论 -
【题解】【模板】快速排序
luogu P1177 【模板】快速排序题目描述利用快速排序算法将读入的NN个数从小到大排序后输出。快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++C++选手请不要试图使用STL,虽然你可以使用sort一遍过,但是你并没有掌握快速排序算法的精髓。)输入输出格式输入格式:第1行为一个正整数N,第2行包含N个空格隔开的正整...原创 2018-10-09 22:14:44 · 143 阅读 · 0 评论 -
【题解】luogu P3956 棋盘
luogu P3956 棋盘题目描述有一个m×m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费 1个金币。另外, 你可以花费 2 个...原创 2018-10-16 20:15:27 · 251 阅读 · 0 评论 -
2018-12-30 树状数组
这一题代码:#include&lt;bits/stdc++.h&gt;using namespace std;const int maxn=500000+5;int c[maxn],n,m;int szsh(int x){ return x &amp; -x;}void add(int i,int x){ while(i&lt;=n){ c[i]+=...原创 2018-12-30 20:19:15 · 104 阅读 · 0 评论 -
树的重心
#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;vector&gt;using namespace std;const int maxn=50000+5,inf=100000000;int sum[maxn];vector &lt;int&gt; a[maxn];int zx,ans,n;void原创 2019-02-12 15:04:29 · 117 阅读 · 0 评论 -
Tarijan
牛的舞会#include &amp;amp;amp;lt;bits/stdc++.h&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;lt;int&amp;amp;amp;gt;S;struct edge{//结构体,存储编号与下一个 int to,next;原创 2019-02-15 14:59:26 · 130 阅读 · 0 评论 -
2019-02-13 最短路应用
传递闭包:传递闭包就是求有向图中两点的可达性。若从x可以到y,则ok[x][y]=1,否则ok[i][j]=0,然后利用近似Floyd的方法求解核心代码:for(int k=1;k&amp;amp;lt;=n;k++) for(int i=1;i&amp;amp;lt;=n;i++) for(int j=1;j&amp;amp;lt;=n;j++) ok[i][j]|=(ok[i][k]&amp;amp;amp;ok[k][原创 2019-02-13 14:52:57 · 224 阅读 · 0 评论 -
2019-02-24 二维凸包
二维凸包:#include &amp;lt;bits/stdc++.h&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 · 139 阅读 · 0 评论 -
【题解】HDU 1285——确定比赛名次
确定比赛名次题目描述:有N个比赛队(1&amp;lt;=N&amp;lt;=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 Input 输入有若干组,每组中的第一行为二个数N(1&amp;lt;...原创 2018-10-02 21:04:20 · 274 阅读 · 0 评论