自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【题解】P1419 寻找段落(二分+单调队列)难度⭐⭐⭐★

P1419 寻找段落 首先二分答案,即:二分最大平均值。 我们将a全部减去mid,问题转化为判断是否存在一个长度在s~t范围内的区间它的和为正,如果有说明还有更大的平均值。 用前缀和和单调队列维护。 不会单调队列的点这里 然后用单调队列求出sum[i]-min(sum[i-t]~sum[i-s]...

2020-02-29 21:40:50 101 0

原创 【题解】P1029 最大公约数和最小公倍数问题

目录P1029 最大公约数和最小公倍数问题方法一方法二 P1029 最大公约数和最小公倍数问题 方法一 要知道最大公约数和最小公倍数的乘积就是原两个数的积。 换成公式就是: x∗y=gcd(x,y)∗lcm(x,y)x*y=gcd(x,y)*lcm(x,y)x∗y=gcd(x,y)∗lcm(x,...

2020-02-29 16:37:19 149 0

原创 【数论基础】欧几里德算法及其各种应用
原力计划

目录:辗转相除法1.问题引入:线段上格点的个数2.输入两个正整数,求最大公约数和最小公倍数3.P1029 最大公约数和最小公倍数问题 辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。 1.问题引入:线段上格点的个数 问题描述:给定...

2020-02-29 12:52:36 251 0

原创 【图论】用一道题从本质上讲清楚Floyd算法

P1119 【灾后重建】 4 5 1 2 3 4 0 2 1 2 3 1 3 1 2 2 1 4 0 3 5 4 2 0 2 0 1 2 0 1 3 0 1 4 -1 -1 5 4 一道非常好的Floyd最短路练习题,从算法本质上出的题目,对于初学Floyd算法的人来说是绝佳的练习题 首先...

2020-02-28 22:50:58 101 0

原创 【图论】最小生成树算法(prim和kruskal详解及对比)

目录一.最小生成树之primprimprim算法primprimprim完整代码(计算最短距离并输出路径)堆优化版本二.最小生成树之kruskalkruskalkruskal算法kruskalkruskalkruskal完整代码(计算最短距离并输出路径)三.primprimprim和kruskal...

2020-02-28 20:13:43 245 0

原创 USACO07DEC道路建设Building Roads(prim算法+堆优化与Kruskal+路径压缩对比)

目录primprimprim算法KruskalKruskalKruskal算法 P2872 [USACO07DEC]道路建设Building Roads 4 1 1 1 3 1 2 3 4 3 1 4 4.00 时间上: PrimPrimPrim 适合稠密图,复杂度为 O(n2)O(n^2)...

2020-02-28 20:09:26 148 0

原创 使用MarkDown编辑器做出有意思的柱状图(完整代码)

这是生成的效果 {∣∣∣∣050100基础信用:100+练习情况:61+社区贡献:25+比赛情况:0+获得成就:0+总估值:186\def{\cGreen}{#52C41A} \def{\cOrange}{#F39C11} \def{\cYellow}{#FADB14} \def{\cRed}{#...

2020-02-28 18:18:40 1589 0

原创 CF231C To Add or Not to Add(思维,模拟)

CF231C To Add or Not to Add 先排序,每次更新一个i就以a[i]为最终的答案来看当前区间里的这些数能否通过不大于k次的+1(排过序了就不会有-1了)操作实现区间内所有的值都为a[i],一旦大于k次就把最前面的pop掉(类似滑动窗口) #include<bits/s...

2020-02-27 18:12:38 89 0

原创 ACM竞赛技巧总结

目录1.更快(最快)的读入优化2.memset用来赋最大值(非1,0,-1) 1.更快(最快)的读入优化 struct ios { inline char gc(){ static const int IN_LEN=1<<18|1; static...

2020-02-26 21:31:13 296 0

原创 P2888 [USACO07NOV]牛栏Cow Hurdles(Floyd算法)

P2888 [USACO07NOV]牛栏Cow Hurdles 行 1…T: 行 i 为一个整数,表示任务i路径上最高的栏的高度的最小值。如果无法到达,输出 -1。 5 6 3 1 2 12 3 2 8 1 3 5 2 5 3 3 4 4 2 4 8 3 4 1 2 5 1 4 8 -1 注...

2020-02-26 21:11:58 91 0

原创 最短路合集(Dijkstra、SPFA、Floyd以及路径还原模板)
原力计划

目录一.Dijkstra算法1.堆(优先队列)优化版本:(慢,占用内存还大)2.线段树优化版本:(超快的)二.SPFA 算法三.Floyd算法 一.Dijkstra算法 4 6 1 1 2 2 2 3 2 2 4 1 1 3 5 3 4 3 1 4 4 0 2 4 3 1.堆(优先队列)...

2020-02-26 19:39:46 179 0

原创 P4779 【模板】单源最短路径(标准版)(dijkstra模板)

dijkstra模板 输入: 4 6 1 1 2 2 2 3 2 2 4 1 1 3 5 3 4 3 1 4 4 输出: 0 2 4 3 堆优化版本 #include<bits/stdc++.h> using namespace std; #define debug(x) cou...

2020-02-26 12:51:30 95 0

原创 【题解】P1508 Likecloud-吃、吃、吃(简单DP)

题目链接 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中。某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个nm(n and m<=200)的矩型的巨型大餐桌,而自己正处在这个大餐桌的一侧的中点下边。餐桌被划分为了nm个小方格,每一个方格中都有一...

2020-02-25 22:15:55 116 0

原创 【图论】图,实现图(三种方式),二分图 详解
原力计划

目录一.图的基本概念1.度2.连通(1)连通图(2)强连通/强连通图3.回路4.完全图二. 邻接矩阵实现图三.邻接表实现图四.链式前向星实现图五. 二分图1.简单应用—二分图的判定2.P1155 双栈排序(二分图的染色判断+链式前向星) 一.图的基本概念 图(graph)并不是指图形图像(imag...

2020-02-25 21:11:36 423 0

原创 P1155 双栈排序(二分图的染色判断+链式前向星)

P1155 双栈排序 让字典序最小,当然尽量进S1 那什么时候必须进S2呢? a[i]和a[j] 不能压入同一个栈⇔存在一个k,使得i<j<k且a[k]<a[i]<a[j] 因为一个数只能进出一次,k要排在前面所以弹出k时i和j都在栈里,如果两者在同一个栈弹出后顺序就错...

2020-02-25 21:05:37 168 0

原创 SP348 EXPEDI - Expedition(有趣的贪心,优先队列)

SP348 EXPEDI - Expedition 1 4 4 4 5 2 11 5 15 10 25 10 2 以下来自《挑战程序设计竞赛》 以及我的辣鸡程序(竟然没超时!) #include<bits/stdc++.h> using namespace std; #def...

2020-02-24 20:51:21 143 0

原创 【数据结构】堆,大根堆,小根堆,优先队列 详解
原力计划

堆 要了解堆之前,请先了解树,因为堆是一颗完全二叉树 如果不知道的话请点击下方链接了解 树,二叉树,完全二叉树详解 要注意的是 首先堆是一颗完全二叉树 其次堆中存储的值是偏序 Min-heap(小根堆): 父节点的值小于或等于子节点的值 Max-heap(大根堆): 父节点的值大于或等...

2020-02-24 20:39:27 1091 0

原创 非二叉树 UVA297 四分树 Quadtrees

UVA297 四分树 Quadtrees 题意翻译 如图所示,可以用四分图来表示一个黑白图像,方法是用根节点表示整幅图像,然后把行列个分成两等份,按图中的方式编号,从左到右对应4个子节点。如果某子节点对应的区域全黑或全白,则直接用一个黑节点或白节点表示;如既有黑又有白,则用一个灰节点表示,并且为...

2020-02-24 16:31:09 555 0

原创 UVA699 下落的树叶 The Falling Leaves(二叉树的递归遍历建树)

UVA699 下落的树叶 The Falling Leaves bool型的函数一定不能忘了组后要加上return 1;或者return 0;!!!! #include<bits/stdc++.h> using namespace std; #define debug(x) cout...

2020-02-24 12:45:19 108 0

原创 UVA839 天平 Not so Mobile(二叉树的递归遍历建树并回答问题)

UVA839 天平 Not so Mobile #include<bits/stdc++.h> using namespace std; #define debug(x) cout<<"# "<<x<<" &quo...

2020-02-24 12:03:30 146 4

原创 树和二叉树(四种遍历,建树)详解+二叉排序树(包含图像和相关习题)
原力计划

目录树和二叉树一.树2.有序树和无序树3.森林4.树的基本性质二.二叉树的概念1.二叉树和度为2的有序树的区别:2.满二叉树3.完全二叉树:4.平衡二叉树:5.二叉树的遍历1.先序遍历(1)递归写法(2)先序非递归写法2.中序遍历3.后序遍历UVA548 树 Tree(通过中序遍历和后续遍历建树)...

2020-02-24 12:02:35 363 0

原创 UVA548 树 Tree(通过二叉树中序遍历和后序遍历建树并回答问题)

UVA548 树 Tree 题意翻译 输入一个二叉树的中序和后序遍历,请你输出一个叶子节点,该叶子节点到根的数值总和最小,且这个叶子是编号最小的那个。 输入: 您的程序将从输入文件中读取两行(直到文件结尾)。第一行是树的中序遍历值序列,第二行是树的后序遍历值序列。所有值将不同,大于零且小于或等于1...

2020-02-23 21:17:43 154 5

原创 UVA122 树的层次遍历 Trees on the level(两种方法详解)

UVA122 树的层次遍历 Trees on the level 输入: (11,LL) (7,LLL) (8,R) (5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) () (3,L) (4,R) () 输出: 5 4 8 11 13 4 7 2 1 not ...

2020-02-23 10:04:56 190 0

原创 UVA679 小球下落 Dropping Balls(二叉树的编号)

许多的小球一个一个的从一棵满二叉树上掉下来组成一个新满二叉树,每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。 决定球运动方向的是每个节点的布尔值。最初,所有的节点都是 FALSE,当访问到一个节点时,如果这个节点是 FALSE,...

2020-02-22 17:32:39 85 0

原创 P1209 [USACO1.3]修理牛棚 Barn Repair(贪心+逆向思维)难度⭐⭐⭐

我们可以先假设只有一块木板从编号最小的牛棚一直铺到编号最大的牛棚,然后断开m-1处。自然要按相邻牛棚的编号差从大到小断开才能使我们断开的地方可以有效节省木板长度(因为中间省去的要更多) 另外,要将输入的数据排序,数据可能不是按编号从小到大给的 #include<algorithm> #...

2020-02-22 12:21:30 163 4

原创 P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)

P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希) 洛谷上这道水题丧心病狂地把数据范围加到了500000 普通的做法肯定A不了了,所以用二分哈希去找第一个不同的地方。 在比较谁字典序小的时候,二分查找哈希值,找到最小元素使得哈...

2020-02-20 17:58:35 135 0

原创 ACM 全部算法总结

ACM 所有算法 数据结构 栈 队列 链表 哈希表 哈希数组 堆 优先队列 双端队列 可并堆 左偏堆 二叉查找树 Treap 伸展树 并查集 集合计数问题 二分图的识别 平衡二叉树 二叉排序树 线段树 一维线段树 二维线段树 树状数组 一维树状数组...

2020-02-20 08:33:34 184 2

原创 UVA816 Abbott的复仇 Abbott's Revenge(final的BFS)(真•答案)

写这道题差点没把我气死,网上的好多题解看了半天结果是假的… 题目PDF 【分析】 利用队列实现广度搜索BFS来遍历图寻找最短路径。 用一个三元组(r, c, dir)表示“位于(r, c),面朝dir”这个状态。假设入口位置为(r0, c0),朝向为dir,则初始状态并不是(r0,...

2020-02-19 18:24:52 91 0

原创 [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)

P1434 [SHOI2002]滑雪 题目描述 Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。...

2020-02-19 15:44:46 76 0

原创 [SCOI2005]栅栏(贪心+二分+dfs)难度⭐⭐⭐⭐

[SCOI2005]栅栏(贪心+二分+dfs) P2329 [SCOI2005]栅栏 题目描述 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材。于是农夫约翰到木材店购买木材。可是木材店老板说他这里只剩下少部分大规格的木板了。不过约翰可以购买这些木板,然后切割成他所需要的规...

2020-02-19 15:42:07 97 0

转载 C++11 unordered_map详细介绍

目录:1.介绍1.1 特性2. 模版2.1 迭代器3. 功能函数3.1 构造函数3.2 容量操作3.2.1 size3.2.2 empty3.3 元素操作3.3.1 find3.3.2 insert3.3.3 at3.3.4 erase3.3.5 clear3.3.6 swap3.3.7 示例代码...

2020-02-18 21:14:13 1813 0

原创 UVA1103 古代象形符号 Ancient Messages解题报告(DFS,字符串)难度⭐⭐⭐⭐

题目翻译 为了识别3000年前古埃及用到的6种象形文字。每组数据包含一个H行W列的字符矩阵(H≤200,W≤50 ),每个字符为4个相邻像素点的十六进制(例如,10011100对应的字符就是9c)。转化为二进制后1表示黑点,0表示白点。输入满足以下条件: 不会出现上述6种符号之外的其他符号。 输入...

2020-02-18 20:56:56 226 0

原创 使最新版Code::Blocks支持C++11标准

在使用最新版的Code::Blocks的时候发现如果使用C++11的unordered_map编译器就会报错: error: 'unordered_map' does not name a type 因为Code::Blocks本身默认为C++98版本,需要用C++11的话要...

2020-02-18 19:47:03 139 0

原创 stringstream与itoa(),atoi()详解及对比

目录stringstream一.概述二.应用(1)数据类型的转换(2)用于长句子中空格为界分割单词(3)stringstream的清空(`ss.clear();`与`ss.str("");`的区别)三.C++中stringstream的使用方法和样例(转)itoa函数与atoi...

2020-02-16 11:42:42 179 0

原创 ACM_字符串模拟

目录字符串模拟1. 东东哥的等式(简单模拟)2.有几个zucc(字符数,简单排列组合)3.拼数(简单字符串,小技巧)4.CF1295B 【Infinite Prefixes】(字符串,前缀和,数论)5.CF1295C - Obtain The String(模拟取字符串子序列)6.nozomi和字...

2020-02-14 16:54:37 125 0

原创 ACM_模拟——数学问题

目录数学问题模拟计算多边形面积(叉乘)C++中sin函数的用法计算圆内接多边形边长1.强迫症的lpl2.喜欢斐波那契数的冰冰酱(斐波那契,同余定理)3.喜欢膜法的菜菜K(__gcb(),辗转相减)3.5最大公约数的应用:4.菜菜k的序列(选3个数使和为0,数据较大)5.做计数(完全平方数,因数,满...

2020-02-14 16:25:23 129 0

转载 线段树 从入门到进阶(超清晰,简单易懂)

目录第一部 概念引入第二部 简单(无pushdown)的线段树1、单点修改,区间查询2、区间修改,单点查询第三部 进阶线段树第四部 乘法(根号)线段树1、乘法线段树2、根号线段树模板题与代码:单点修改,区间查询:洛谷树状数组模板1区间修改,单点查询:洛谷树状数组模板2区间加法,洛谷线段树模板1区间...

2020-02-12 11:08:57 949 0

原创 【动态规划】数学期望/概率DP/期望DP详解

期望DP概述规律全概率公式例题1.UVA11021 Tribles麻球繁衍2.算概率(简单,数论) 概述 一般来说,概率DP找到正确的状态定义后,转移是比较容易想到的。但状态一定是“可数”的,把有范围的整数作为数组下标。事实上,将问题直接作为状态是最好的。如问“n人做X事的期望次数”,则设计状态为...

2020-02-12 10:18:41 394 0

原创 线段树 (经典题目合集)

P3372 【模板】线段树 1 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll N=1e5+7; const ll mod=2147483647; ll n,m; struct no...

2020-02-11 22:28:47 150 0

原创 汉诺塔原理超详细讲解+变式例题

目录一.汉诺塔详解1.详解2.完整代码二.汉诺塔公式:ans=2^n^-11.例题:P1760 通天之汉诺塔三.变式1:牛牛的汉诺塔四.变式2:P4285 [SHOI2008]汉诺塔 一.汉诺塔详解 1.详解 汉诺塔 汉诺塔 在汉诺塔游戏中,有三个分别命名为A、B、C得塔座,几个大小各不相同,从小...

2020-02-10 17:38:44 3136 3

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