自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 6601 ( 主席树 )

HDU 6601 ( 主席树 )题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6601题意: n个数组成的序列a,q次查询,在 [ L, R] 区间内所有数能组成的周长最大的三角形有多大。思路:先思考最暴力的做法,把 [ L, R] 区间的数排个序,要周长最大肯定从最大的边开始考虑,组成三角形的条件是 a+b>c 可以简化一...

2020-02-29 16:52:36 247

原创 ( 数论专题 )【 线性基 】

( 数论专题 )【 线性基 】线性基是啥? 线性基是竞赛中常用来解决子集异或一类题目的算法,具体看下面例题。 线性基是一个数的集合,并且每个序列都拥有至少一个线性基,取线性基中若干个数异或起来可以得到原序列中的任何一个数。复习知识点:《 线性代数 》里的行阶梯矩阵。上面是行阶梯矩阵的化简步骤,最后行秩为3,那这个有什么用呢,我们可以通过化简后的这...

2020-02-28 20:45:41 518

翻译 HDU - 6582 ( 最短路 + 网络流 )

HDU - 6582 ( 最短路 + 网络流 )题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582题意:给定一张有向图,n个点,m条边;可以砍掉一些边,砍掉每条边的代价是边的权值;问最少花费多少,能使得从1到n的最短路长度至少增加1,不连通也算长度增加。输出最少花费。分析:1.总体思路由于从1到n的最短路可能存在多条...

2020-02-26 20:05:45 291

原创 E - Expectations sky-high ( 求树的任意两点距离和 )

E - Expectations sky-high ( 求树的任意两点距离和 )题目链接:https://vjudge.net/problem/Gym-102020E题意:有一棵n个点的树,问任选两点 ( 不一定不同) 的概率长度是多长。思路:dfs容易求出某个点到其他所有点的距离和是多少。难点在于如何用一次dfs求出所有点到其他所有点的距离和。定义一个点到其所有子节点的距离和为...

2020-02-21 16:33:41 355

原创 Codeforces - 375D ( dfs序 + 莫队 )

Codeforces - 375D ( 莫队 )题目链接:https://codeforces.com/contest/375/problem/D题意:给出一棵 n 个结点的树,每个结点有一个颜色 c i 。 询问 q 次,每次询问以 v 结点为根的子树中,出现次数 ≥k 的颜色有多少种。树的根节点是1。思路:dfs序上暴力莫队。注意dfs序和原节点编号的转换,用dfn和rev来保...

2020-02-20 11:26:43 249

翻译 ( 数据结构专题 )【 dsu on tree】

( 数据结构专题 )【 dsu on tree】推荐视频:https://www.bilibili.com/video/av71124048?p=2题目链接:https://codeforces.ml/contest/600/problem/E#include <bits/stdc++.h>using namespace std;const int...

2020-02-19 20:39:07 406

转载 ( 算法树之几何 )【 计算任意多边形的面积 】

计算任意多边形的面积原文:https://www.cnblogs.com/TenosDoIt/p/4047211.html对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可。已知三角形顶点坐标,三角形面积可以利用向量的叉乘来计算。对于凹多边形,如果还是按照上述方法划分成三角形,如下图,多边形的面积 = S_...

2020-02-19 08:52:38 560

原创 关于 floor 函数的返回值

关于 floor 函数的返回值一直以为floor函数的返回值是int,直到今天做题wa了。有这么一道简单的题,计算面积,输出答案四舍五入为整数。WA3代码 ↓printf("%d\n",floor(0.5*ans));AC代码 ↓printf("%d\n", (int)floor(0.5*ans));printf("%.0f\n", floor(0.5*ans)...

2020-02-18 21:22:22 2191 1

原创 H - Pavel's Party ( 权值线段树 + 思维 )

H - Pavel's Party ( 权值线段树 + 思维 )题目链接:https://vjudge.net/problem/Gym-100971H题意:Pavel 将要举行一个聚会,他想确切地邀请k个人参加。他有n个朋友,并且他已经决定按什么顺序打电话和邀请他们,每个朋友会回复他两个值 l 和 r,代表如果这个聚会的人数在[ l, r] 之间他就会参加。Pavel一旦集合了所需的...

2020-02-17 16:42:24 171

原创 J - Robots at Warehouse ( dfs + 思维 )

J - Robots at Warehouse ( dfs + 思维 )题目链接:https://vjudge.net/problem/Gym-100971J题意:在一个N*M的图中,’.’ 代表可以走的路,’1’代表第一个机器人,’2’代表第二个机器人,’#’代表墙,问你两个机器人能不能交换地方。仔细读题,有一句话说的是所有路都是连通的(很重要)。思路: 只需要判断所有路上有没有...

2020-02-17 11:03:02 170

原创 HDU 6574 ( 概率 )

HDU 6574 ( 概率 )题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6574题意:给一个n,在1~n范围内随机选择两个区间 [ l,r ] 和 [ L, R ] , 询问两个区间相交的概率是多少。思路:求相交的概率并不好求,我们可以选择1 减去不相交的概率。容易得知,两个区间不相交只和左边区间的右端点和右边区间的左端点有关。我...

2020-02-14 16:36:44 337 1

原创 E - Cloudy Day ( 差分 )

E - Cloudy Day ( 差分 )题目连接:https://vjudge.net/problem/HackerRank-cloudy-day题意:在一个二维坐标系,有若干房子( 用一个点表示,无宽度 ),房子里有住的人 ,和若干乌云( 有长宽)。现在问只去掉一块乌云能让最多的人头顶没有乌云。上图解释:乌云覆盖的面积是3,4,5, 在5上的房子就被乌云遮盖了。思路:...

2020-02-13 14:52:55 263

翻译 ( 数据结构专题 )【 树链剖分】

( 数据结构专题 )【 树链剖分】推荐视频:https://www.bilibili.com/video/av62060264?from=search&seid=11398715168050880992对于操作3,4, 我们可以用dfs序来做,这样我们发现每一个节点的子树节点全部是连续的。比如B节点的子树BDGHI在序列中是连续的,区间范围是 L = B点的时间戳, R...

2020-02-11 22:15:42 173

原创 ( 动态规划专题 )【 补充--记录路径的01背包 】

( 动态规划专题 )【 补充--记录路径的01背包 】在01背包问题中,求出最优解并记录背包内物品,动态规划的方法求其问题,最核心的公式为f[i][j]=max{f[i-1][j],f[i-1][j-weight[i]]+value[i]},在考虑当前第i个物品是否放入的时候就是比较前面的i-1个物品放在容量为j的背包中时背包中总价值与前面的i-1个物品放在容量为j-weight[i...

2020-02-11 11:19:45 888

原创 Codeforces - 1300C ( 位运算 )

Codeforces - 1300C ( 位运算 )题目链接:http://codeforces.com/contest/1300/problem/C题意:定义: ,给长度为n的一个序列 问如何排列,的值最大输出对应的序列.思路:位运算,所以我们化成二进制后一位一位的来看,先看1位时,容易发现只有答案是1,推广到多层也适用,只有a1是1,a2a3a4...an都...

2020-02-10 15:57:53 382 1

原创 ( 字符串专题 )【 Manacher算法 】

( 字符串专题 )【 Manacher算法 】推荐视频:https://www.bilibili.com/video/av41883533?p=21975年,Manacher发明了Manacher算法(中文名:马拉车算法),是一个可以在O(n)的复杂度中返回字符串s中最长回文子串长度的算法,十分巧妙。让我们举个栗子:1.字符串:abbababa 最长回文子串:5(...

2020-02-08 16:12:41 301

原创 F - Finally, christmas! ( 线段树维护区间最大值 )

F - Finally, christmas! ( 线段树维护区间最大值 )题目连接:http://codeforces.com/gym/102448/problem/F题意:如上图所示,有n栋楼房,询问能看到的面积是多少。思路:用线段树维护区间,最后再枚举每一段小区间计算答案。因为线段树维护的是点,而计算面积需要的是宽,所以重新定义一下1点代表1和2之间的东西,这样楼房坐标在...

2020-02-07 20:20:15 235

原创 DFS - spfa 判负环 ( L - The Shortest Path )

L - The Shortest Path ( DFS - spfa 判负环 )题目链接:http://codeforces.com/gym/101498/problem/LInput33 31 2 -12 3 -33 1 -54 51 3 01 2 -22 3 33 4 14 1 -14 41 2 52 3 -33 4 -31 4 2Outp...

2020-02-05 20:30:01 452

原创 F - Cooking Time ( 贪心 + 优先队列 )

F - Cooking Time ( 贪心 + 优先队列 )题目链接:http://codeforces.com/gym/101498/problem/FInput25 32 4 5 2 17 31 2 3 4 3 2 1Output45题意:有一个冰箱,有N个调味品,一开始所有调味品都在冰箱内.外面最多放置 K个调味品你要按给定的顺序来拿取调味品,如...

2020-02-05 15:48:49 278

原创 HDU 6546 ( 贪心 )

HDU 6546 ( 贪心 )题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6546题意:有n个二次函数,给每个函数选择一个值x,让所选x值的和正好等于m,问此时f(x)的最小值是多少。思路:为了满足最小值的要求,我们先假设所有函数就选择 -b/(2*a) 的最小值点,然后我们看一下这样选择后是比m大还是小,如果小,我们就让所选的...

2020-02-04 16:00:11 259

原创 全排列 next_permutation() 函数的用法

全排列 next_permutation() 函数的用法在头文件<algorithm>里。用处:可产生数列1~n的全排列。用之前先把全排列的数组按从小到大的顺序排列代码:#include <bits/stdc++.h>using namespace std;int main(){ int n; while(scanf("%...

2020-02-03 09:00:09 234

原创 ( 动态规划专题 )【 树形dp 】

( 动态规划专题 )【 树形dp 】树形DP是一种DP的思想,只不过普通dp是在数组上进行的,而树形dp是在树上进行的。直接看例题:P2015 二叉苹果树题目链接:https://www.luogu.com.cn/problem/P2015题目描述有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)这棵树共有N个结点(叶子点或者树枝分叉点),编号为...

2020-02-02 15:42:03 140

原创 ( 数据结构专题 )【 树状数组 】

( 数据结构专题 )【 树状数组 】先学一个,之后用到再学。单点修改,区间求和#include <bits/stdc++.h>#define l(x) (x&(-x))using namespace std;int tree[1005];int n = 10;void update( int i, int date ){ for ( ...

2020-02-01 21:37:20 124

翻译 ( 其他算法与技巧 )【 莫队 】

( 其他算法与技巧 )【 莫队 】推荐阅读:https://www.cnblogs.com/WAMonster/p/10118934.html众所周知,莫队是由莫涛大神提出的,一种玄学毒瘤暴力骗分区间操作算法,它以简短的框架、简单易记的板子和优秀的复杂度闻名于世。然而由于莫队算法应用的毒瘤,很多可做的莫队模板题都有着较高的难度评级,令很多初学者望而却步。然而,如果你真正理解了莫队的算法...

2020-02-01 13:49:17 251

翻译 ( 动态规划专题 )【 数位dp 】

( 动态规划专题 )【 数位dp 】基础篇数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位......数的每一位就是数位啦!之所以要引入数位的概念完全就是为了dp。数位dp的实质就是换一种暴力枚举的方式,使得新的枚举方式满足dp的性质...

2020-02-01 13:17:37 205

ACM技能树.png

ACM竞赛中的常见算法名称,包括图论,数据结构,数论,字符串,几何等等..

2020-04-07

空空如也

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

TA关注的人

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