自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Code Feat UVA 11754(记录美好时刻)

记录这个麻烦的数论题 用的是中国剩余定理(一个数除以Xi的余数为Yi(i >= 0)得到最小值 ) 中国剩余定理 //n个方程: x = a[i](mod m[i]) (0 <= i < n) ll china(int n, int *a, int *m) { ll M = 1, d, y, x = 0; for (int i = 1; i <= n; i+...

2019-12-04 17:15:34 127

原创 Parking Lot题解

一道线段树区间合并,一开始本小白并不会写,看了大佬的题解后才写出来。 传送门(Codeforces 46D) 思路:这道题的精髓在于最开始建树时,多加一个b和f,这样我们就很好停车了(大家可以自己仔细思考一下),当我们这样建好树之后就是一个很经典的区间合并了。 #include <iostream> #include <cstdio> #include <cstri...

2019-08-18 20:49:56 384

原创 线段树

线段树是树状数组的升级版,线段树等于把一个[l,r]的区间,分成很多个小区间,这样方便我们查找一段区间内的信息,不用暴力去跑一遍。 线段树的存储结构: 首先是最基本的建树(用的是递归): (求一段区间的和) void pushup(int rt){ // 更新当前结点的值,这里写的是求一段区间的和 sum[rt] = sum[rt << 1] + sum[r <<...

2019-08-06 21:03:03 136

原创 HDU - 1556 (差分数组,树状数组)

传送门 用差分数组和树状数组思路是一样的,都是运用到差分的原理,d[i] = a[i] - a[i-1],当我们在区间 [l,r] 涂气球时,只需要在d[l] -= 1,d[r+1] += 1,然后还需用到前缀和(sum[i] = a[1]+a[2]+…+a[i]),最后求i点的涂色次数:sum[i] = sum[i-1] + d[i]。 差分数组 //#include <bits/std...

2019-08-01 17:02:01 340

原创 食物链

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话...

2019-05-06 20:58:49 1649

原创 P3366 【模板】最小生成树(prim算法)

题目链接 使用的是prim算法,prim算法与最短路径中的Dijkstra算法很相像。一个点一个点进行排查,直到图中的所有点都遍历一遍。 #include <iostream> #include <algorithm> #include <cstdio> #include <string> #include <map> #include...

2019-04-21 21:56:50 461

原创 Wireless Network(并查集)

东南亚发生地震。 亚洲合作医疗队(ACM)已经与膝上型计算机建立了无线网络,但一次意外的余震袭击,网络中的所有计算机都损坏了。 计算机一台接一台地修好,网络逐渐恢复工作。 由于硬件的限制,每台计算机只能与距离它不超过d米的计算机直接通信。 但每一台计算机都可以看作是另外两台计算机之间通信的中介,也就是说,如果计算机A和计算机B可以直接通信,或者有一台计算机C可以同时与A和B通信,那么计算机A和计算...

2019-04-16 15:46:18 484

原创 P3371

P3371 【模板】单源最短路径 题目链接 用的方法是SPFA算法,还利用了链式前向星存储图。 链式前向星:利用结构体进行存储 struct Edge { int next,to,dist; //next是存储下一个点,to是这条边所要去的点,dist是边的长度。 }edge[maxm]; 存储: for(int i=1;i<=m;i++){ int a,b,c;...

2019-04-11 20:31:17 282

原创 P3367 并查集

P3367 并查集【模板】 题解 题目链接 思路:创立一个数组来记录这个元素的大哥,一开始的元素的大哥都是自己,当两个元素需要合并时,两个元素大哥设为相同的数,这时就可以认定他们两个元素已经合并了。 #include <iostream> #include <algorithm> #include <cstdio> #include <string&gt...

2019-04-09 14:29:49 208

原创 P1305

P1305 题解 题目描述 输入一串二叉树,用遍历前序打出。 输入输出格式 输入格式: 第一行为二叉树的节点数n。(n \leq 26n≤26) 后面n行,每一个字母为节点,后两个字母分别为其左右儿子。 空节点用*表示 输出格式: 前序排列的二叉树 输入输出样例 输入样例#1: 6 abc bdi cj* d** i** j** 输出样例#1: abdicj 题目链接 思路是先将最上面一层的树放入...

2019-04-01 20:44:19 252

原创 P1030

P1030 题解 题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 \le 8≤8)。 输入输出格式 输入格式: 22行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出格式: 11行,表示一棵二叉树的先序。 输入输出样例 输入样例#1: BADC BDCA 输出样例#1: ABCD 题目链接 思路是从后序里面找根,然后从中序中找树...

2019-04-01 20:38:29 211

原创 P1087

洛谷 P1030 求先序排列 个人题解 题目链接 #include <iostream> #include <algorithm> #include <cstdio> #include <string> #include <map> #include <queue> #include <cstring> #inc...

2019-04-01 19:44:57 195

空空如也

空空如也

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

TA关注的人

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