自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 江西理工大数据笔记

文章目录1、大数据简介2、Linux2.1 安装部署2.2 windows连接虚拟机**作业**2.3 常用命令**系统相关命令****文件相关命令****软件安装操作**shell脚本脚本定时作业3、Hadoop3.1 为什么要用hadoop3.2 Hadoop的简要介绍3.3 谷歌的三篇论文3.4 Hadoop的发展历史3.5 Hadoop的版本介绍3.6 Hadoop的官网介绍3.7 Hadoop的组成部分3.8 Hadoop的生态系统3.9 Hadoop的安装部署3.9.1 单机版3.9.2 伪分布

2021-06-18 17:27:28 914

原创 AtCoder Beginner Contest 177 E - Coprime(数论+思维)

传送门题目大意:有N个数,如果两两之间相互互质,则输出pairwise coprime,否则如果是gcd(A1,A2,……,An)==1,则输出setwise coprime,否则输出not coprime。解题思路:这题数论题其实应该挺简单的,比赛的时候其实已经想的差不多了,但是不知道具体怎么实现,判断是不是setwise, 就是把n个数依次求gcd就行了。 每求过一次两数的gcd, 就把原来的两数删除并把新的gcd加入即可。而求是否是pairwise,我的想法是只要判断素数和素数、素数和合数

2020-08-30 10:00:31 498

原创 Codeforces Round #660 (Div. 2)C-Uncle Bogdan and Country Happiness(dfs+思维)

题目链接题目大意:给一个有N个结点的树,每个结点上都会有相应数量的工人居住,每天早上所有的工人都在根节点1,到了晚上,所有的工人都要一起回家,每个结点都有个快乐检查器,快乐值=快乐的人数-不快乐的人数,心情只能由快乐变为不快乐,再给N-1个快乐值h[i],问能否满足。解题思路:先假设当前结点开心的人数为good,不开心的人数为bad,所以可得式子good+bad=总人数,good-bad=h[i],联立两式可得2*good=(总人数+h[i]),所以总人数+h[i]必须是偶数,同时good必须小

2020-08-25 08:10:33 131

原创 uva11573 Ocean Currents (01bfs)

传送门题目大意:一个N×M的矩阵,其中格子上有个数字,代表可以水流的方向,如果沿着水流走不需要消耗能量,你也可以不沿着水流走,但要消耗1个能量,问从起始点到目的地至少要多少能量?![方向如图](https://img-blog.csdnimg.cn/20200824155708455.png#pic_center)解题思路:第一次知道01bfs可以用来求解最短路的问题,01bfs顾名思义就是相当于边的权重要么是1要么是0,简单点说其实就是把普通BFS的queue换成deque,如果代价为0则e

2020-08-24 16:05:19 174

原创 Codeforces Round #665 (Div. 2) D-Maximum Distributed Tree(贪心+思维)

传送门题目大意:给一个N个点的树,这棵树必须满足3个条件:1.这棵树的边权的乘积为k ,2.要求所有两点的简单路径边权之和最大,3.使得边权1的数量最小。k 以质因子的形式给出,有m 个质因子解题思路:这题打比赛的时候只想到了质数怎么分配的,没有想到边的贡献怎么算,后来看了大佬的blog才知道的,Orz,其实你把一个树找个顶点dfs一遍,设size[i]为该结点子树的大小,那么该点与其父亲结点的边的贡献为size[i]⋅(n−size[i]),这样就将边的贡献求出来了,质数的分布则需要分两种情况

2020-08-24 00:58:18 93

原创 AtCoder Beginner Contest 176 D-Wizard in Maze(bfs)

题目链接题目大意:一个H×W大小的矩阵,其中'.'代表路,'#'代表墙壁,有两种移动方式一是沿着路一格一格走,二是以当前格为中心,走到5×5正方形中的任何一个路,问你从出发地到目的地至少要用第二种方式走几步?解题思路:abc的场E比D简单多了,这题花了我好久的时间才写出来主要就是麻烦,分两次BFS,一次是第一种方式,一次是第二种方式。代码:// #include<bits/stdc++.h>#include<cstdio>#include<cstring&

2020-08-22 23:09:04 198

原创 AtCoder Beginner Contest 175 E Picking Goods(简单dp)

题目链接题目大意:给3个数,R,C和K,其中R和C表示矩阵的大小,K表示项目数,接下来的K行分别给出第i个项目的坐标和价值,每行最多只有3个项目,每个项目你可以取或者不取,矩阵只能往下走或往右走,问你能得到的最大价值是多少解题思路:建立一个三维数组,其中第一维和第二维表示坐标,第三维表示取得项目的数量,因为每行最多只有三个,所以第三维可以开大小为4的数组,表示不取,取1个,取2个,取3个。代码:// #include<bits/stdc++.h>#include<ios

2020-08-15 23:40:38 201

原创 HDU - 1565 方格取数 (状压dp)

题目链接题目大意:一个n*n的格子的棋盘,每个格子里面有一个非负数。从中取出若干个数,使得任意的两个数所在的格子没有公共边,并且取出的数的和最大。解题思路:因为两个数之间不能相邻,即每行用状态表示出来,1表示取,0表示不取,所以状态方程为dp[i][j]=max(dp[i][j],dp[i-1][k]+val);(第一维表示行数,第二维表示行的状态)当(sta[j]&sta[k])==0时,我们可以先用打表的方式求得状态表示。代码:#include<bits/stdc++.h

2020-08-12 13:48:27 108

原创 hdu5418--Victor and World(最短路径+状压dp)

题目链接题目大意:维克多现在在一个数字是1的国家,他想知道他访问每个国家至少一次并最终返回第一个国家的最低燃料量。解题思路:我是初学状压dp看视频的时候知道了这题,在视频中其实已经差不多把这题差不多讲明白了,首先用二进制数表示城市的状态,如果上一个城市是已经走过的状态,这个城市才能由上一个状态转移过来,唯一要注意的就是最短路了,挺久没写最短路,都有点忘了。代码:#include<bits/stdc++.h>#define pb emplace_back// #define

2020-08-11 08:37:34 197

原创 H Harmony Pairs(数位dp)

题目链接题目大意:给你一个数n,问从0-n范围内,有多少对数满足a解题思路:这题就是裸的数位dp,可惜以前没写过求解数对的题目,太菜了,看了别人的代码,觉得还是挺好理解的,就是设置一个四维数组dp[][][][],第一维记录数位(每个数位dp都是),第二维记录位数和(因为有正有负,所以要向右即比0大的数偏移),第三维记录第一个数是否达到边界,第四维记录第二个数是否达到边缘代码:#include<bits/stdc++.h>#define pb emplace_backus

2020-07-29 20:53:55 199

原创 Codeforces Round #656 E. Directing Edges

题目链接题目大意:给n个点和m条边,在接下来的m行输入t,x,y三个数,如果t==0则说明边是无向边,否则表示有向边,方向有x->y,问你能不能在保证图中无环的情况下,将无向边变成有向边,如果能输出YES,同时输出所有边,否则输出NO解题思路:在输入边的时候分别记录下有向边和无向边,如果是有向边,则存入vector中留着做拓扑排序,无向边则只需要记录下来,因为无向边对拓扑排序没有贡献,然后对图做一次拓扑排序,将每个点标记拓扑序,最后输出无向边的时候只要由拓扑序小的指向拓扑序大的即可代码

2020-07-29 14:48:13 121

原创 G Operating on a Graph(并查集)

题目链接题目大意:给你一个图,有 n个点,m条边,点的下标[0,n-1],对于点i,其开始时属于 i−group总共操作 q次,每次操作时给出一个 n ,如果n的group不是n则不操作,否则将所有与 n−group 直接相连的 group 加入到 n−group中在所有操作结束后,求每个点所在的 group解题思路:看到group就想到用并查集,用vector存取每个相邻点的信息,只要团相邻就合并,这里要用到启发式合并,否则会超时代码:#include<bits/stdc++.h

2020-07-27 20:04:27 164 1

原创 Codeforces Round #656 D. a-Good String(分治)

题目链接题目大意:给定一个字符串s,长度为2的幂次我们规定一个字符串叫做c-good,如果它满足以下任意一个条件1.字符串长度是1,只包含字母c2.字符串长度大于1,左半边都是c,右半边为(c+1)-good3.字符串长度大于1,右半边都是c,左半边为(c+1)-good解题思路:因为是2的幂次长度,所以可以用二分的思想,比较左区间和右区间需要变动的字符串长度大小,在递归至下一层。代码:#include<bits/stdc++.h>using namespace st

2020-07-26 20:43:11 79

原创 P4258 [WC2016]挑战NPC

题目链接题目大意:有n个球,用整数1到n编号。还有m个筐子,用整数1到m编号。每个筐子最多能装3个球。每个球只能放进特定的筐子中。 具体有e个条件,第i个条件用两个整数 vi和ui描述,表示编号为vi的球可以放进编号为ui的筐子中。每个球都必须放进一个筐子中。如果一个筐子内有不超过 11 个球,那么我们称这样的筐子为半空的。求半空的筐子最多有多少个,以及在最优方案中, 每个球分别放在哪个筐子中。解题思路要用到拆点,因为每个框能装3个球,所以要把框拆成3个点,每个点之间互相连接,同时如果球能装进

2020-07-24 23:28:27 98

原创 ZOJ3316 Game

题目链接题目大意:一个棋盘上有n个棋子,两个人做游戏,拿的棋子和上一个被拿的棋子的曼哈顿距离不能超过L,问后手能否赢。思路:最大匹配等于n的时候才能赢,不然就会输。#include<bits/stdc++.h>using namespace std;const int maxn = 400;const int maxm = 2e5+5;struct Node{ int x,y;}p[maxn];struct Edge{ int next,to;

2020-07-24 20:07:57 174

原创 启发式合并

今天补题第一次遇见到了启发式合并,发现可以优化时间复杂度,尤其在并查集和树方面参考博客1参考博客2

2020-07-23 21:01:38 106

原创 P6113 一般图最大匹配

题目链接带花树模板代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e3+5;const int maxm = 4e5+5;struct Edge{ int next,to;}edge[maxm];int head[maxn],tot=1;int vis[maxn],pre[maxn],match[maxn],f[maxn],Id,id[ma

2020-07-20 10:13:42 92

原创 一般图最大匹配(带花树算法)(学习+模板)

参考博客

2020-07-20 10:11:58 104

原创 H Minimum-cost Flow(最小费用流)

题目链接题目大意给你n个点和m条边,每条边只给了单位流量的费用,再给你q个询问,每个询问给你一个ui和vi,ui/vi为每条边的容量,问总流量为1时的最小费用解题思路如果对于每次询问都用一次spfa,会TLE,所以我们只能先将流量乘以vi/ui倍,将流量变成1,那么总容量也变成了vi/ui,我们可以用spfa先将最大流Maxflow求出来,如果maxflow*ui/vi<1,那么就输出NaN,否则用一个数组将每次增广完后的费用记录,又因为边放大了,所以每次对数组枚举,当总容量小于等于v时,算出

2020-07-19 12:22:32 417

原创 C. OLED (二维前缀和+二维差分数组)

题目链接解题思路用二维差分数组统计每个屏幕的发光点对整个屏幕的贡献,最后用前缀和将屏幕贡献相加。[参考博客](https://www.cnblogs.com/LMCC1108/p/10753451.html)#include<bits/stdc++.h>using namespace std;const int maxn = 5e3+5;template <typename T>inline void read(T& t){ char c=getc

2020-07-18 11:02:59 140

原创 洛谷P3381最小费用最大流模板题

题目链接#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int maxm = 1e5+5;const int maxn = 1e4+5;struct Edge{ int next,to,f,w;}edge[maxm<<1];int n,m,s,t;int tot=1;int head[maxn];bool inque[maxn];//inque

2020-07-17 11:26:05 96

原创 F-Fake Maxpooling(二维滑动窗口)

题目链接题目大意给你一个n×m的矩阵,矩阵中每个元素的值都等于行和列的最小公倍数lcm(i,j),在给你一个k,表示k×k的矩阵,这个矩阵从左到右从上到下扫瞄,每扫一次就加矩阵中的最大值,问最大值是多少?解题思路如果直接暴力的话是会TLE的,所以要用到二维滑动窗口降低时间复杂度,具体的是参考了Bzoj1047[参考博客](https://blog.csdn.net/moshimo_l/article/details/101197697?utm_medium=distribute.pc_relev

2020-07-14 23:37:20 514

原创 POJ-1273 Drainage Ditches(最大流+EK)

题目链接题目概要有N条边和M个点,每条边连接2个点,这条边有最大的容量,问从第一个点到第N个点的最大流量解题思路 最大流模板题,唯一要注意的是题目是**多组输入**附上我新学的EK代码:在这里插入代码片#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;cons

2020-07-12 21:46:25 120

原创 网络流汇总

网络流详解

2020-07-12 18:38:31 92

原创 Codeforces1362 D. Johnny and Contribution(模拟)

链接:http://codeforces.com/contest/1362/problem/D解法:https://blog.csdn.net/weixin_44178736/article/details/106578025?fps=1&locationNum=2#include<bits/stdc++.h>using namespace std;const int N = 5e5+5;template <typename T>inline void rea

2020-06-06 10:50:54 282

原创 CF1343D Constant Palindrome Sum(差分数组)

题目链接:http://codeforces.com/contest/1343/problem/D题解:https://www.cnblogs.com/stelayuri/p/12749332.html

2020-04-25 15:00:38 175

原创 线性基

博客:https://blog.csdn.net/a_forever_dream/article/details/83654397(介绍了线性基的概念和基本操作)https://blog.csdn.net/tyxacm/article/details/97156620(hdu-6579)https://www.cnblogs.com/KirinSB/p/11248546.html(hdu65...

2020-04-06 19:05:45 97

原创 二分图的相关定理

为了防止自己搞混概念,特地去搜了相关定理和证明参考博客:https://www.jianshu.com/p/9aa33b956563https://blog.csdn.net/qq_34564984/article/details/52778763

2020-02-07 18:29:19 104

原创 Treasure Exploration POJ - 2594(有向图的最小路径覆盖)

题目链接大意:一个有向图中, 有若干条连接的路线, 问最少放多少个机器人,可以将整个图上的点都走过。思路:因为这是有向图,如果路径之间有相交的点,则不能对图求最大匹配了具体看这,必须先对图用次floyd算法,将图中的点的连通性全表示出来#include<iostream>#include<cstdio>#include<cstring>#includ...

2020-02-07 18:25:02 107

原创 Antenna Placement POJ - 3020(无向二分图的最小路径覆盖)

题目链接大意:一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。问至少放置多少个基站才能使得所有的城市都覆盖无线?思路:这题是无向二分图,所以要进行拆点即最后最大匹配数/2;参考博客公式:无向二分图的最小路径覆盖 = 顶点数 – 最大二分匹配数/2#include<iostream>#include<cstdio...

2020-02-07 18:14:19 103

原创 Oil Skimming HDU - 4185(最大匹配)

题目链接大意:给一个nn的地图,其中".“表示海洋,”#"表示飘在海上的石油,有一个公司有12的铲子可以去除在海上的石油,问最多能用多少铲。思路:二分匹配,把每个"#"看成一个点记录有多少的点,如果一个油的上下左右有油,则形成匹配,因为是无向图所谓最后匹配数要除2。#include<bits/stdc++.h>#define maxn 1000using namespace...

2020-02-07 17:03:19 122

原创 Rain on your Parade HDU - 2389

题目链接大意:问最多有几个人能拿到雨伞思路:这题算是裸题吧,但用匈牙利算法会超时,要用Hopcroft-Carp算法,我用的是kuangbin的板子,但没有解释,解释看这篇博客#include<bits/stdc++.h>#define maxn 3050#define inf 0x3f3f3f3fusing namespace std;struct node{ d...

2020-02-01 14:59:10 101

原创 Swap HDU - 2819

题目链接忘了线性代数的知识了,只能参考博客#include<bits/stdc++.h>#define maxn 105using namespace std;int n;int x[maxn],y[maxn];int match[maxn],vis[maxn];bool maps[maxn][maxn];bool dfs(int u){ for(int i=...

2020-02-01 14:54:05 90

原创 棋盘游戏 HDU - 1281

题目链接大意:问有几个点删除之后最大匹配数会减少思路:因为每行每列只能放一个车,所以可以看成是行和列的匹配参考博客#include<bits/stdc++.h>#define maxn 105using namespace std;int n,m,k;bool maps[maxn][maxn];int x[maxn*maxn],y[maxn*maxn],match[...

2020-02-01 14:47:39 110

原创 The Accomodation of Students HDU - 2444

题目链接大意:给n个关系,其中有m对人是相互认识的,如果能把这n个人分成两组,每组内的人相互不认识,则问最大匹配数是多少思路:看懂题的话就是二分图裸题,但一开始要先判断是否是二分图,用bfs染色代码:#include<bits/stdc++.h>#define maxn 205using namespace std;vector<int>edge[maxn...

2020-01-29 19:05:08 101

原创 过山车 hdu-2063(二分图匹配裸题)

题目链接思路:直接用匈牙利算法的板子参考博客:https://blog.csdn.net/C20180630/article/details/70175814https://blog.csdn.net/Dark_Scope/article/details/8880547邻接表代码:...

2020-01-22 14:28:21 288

原创 Organising the Organisation UVA - 10766(生成树计数)

题目链接大意:裸题生成树计数(ps:不是最小生成树)思路:要用到基尔霍夫矩阵参考博客代码:也是参考博客的#include<bits/stdc++.h>#define maxn 55using namespace std;typedef long long ll;int n,m,k;ll a[maxn][maxn];bool maps[maxn][maxn];...

2020-01-21 19:47:18 98

原创 Ice_cream’s world II HDU - 2121(最小树形图+无定根)

题目链接大意:给出一个N个点M条边的有向带权图, 以任意点作为源点, 输出最小的最小树形图权值和, 如果没有则输出impossible思路:因为这题没有确切的根,如果每个根都跑一下肯定会tle,所以要去一个虚点连接各个点,权值为m条边的权值加上1。这题还要求最小根的点,具体参考博客:https://blog.csdn.net/charles_zaqdt/article/details/8610...

2020-01-19 21:22:17 107

原创 Command Network POJ - 3164(最小树形图)

题目链接大意:给你n个点的坐标,再给你m条边。问你这个图的最小生成树。思路:因为这个图是有向图,并且也给了定根,所以要用朱刘算法。参考博客#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define maxn 105#define inf 0x3f3...

2020-01-19 18:32:51 150

原创 最小树形图入门

树形图百度百科上介绍一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图。求解最小树形图的算法是朱刘算法。原理参考博客:https://blog.csdn.net/mengxiang000000/article/details/51276668https://www.cnblogs.com/xzxl/p/7243466.html模板代码:https://blog...

2020-01-19 18:29:09 125

空空如也

空空如也

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

TA关注的人

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