![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
例题
A_Pathfinder
这个作者很懒,什么都没留下…
展开
-
前缀和 差分 裸题
前缀和一般是来求指定区间,运用容斥定理,求区间内的权值问题;转:https://www.cnblogs.com/OIerShawnZhou/p/7348088.html求红色面积,用s[i][j]来保存(0,0)到(i,j)矩形的面积,对于一次的查询答案ans应该等于s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]。(有点动态规划的思想)...原创 2019-02-27 17:47:55 · 300 阅读 · 0 评论 -
排队 并查集
题意:给n个人排队,开始站成一排。 两种操作,T操作:让编号Y的同学所在队伍接到编号X同学后,顺序不变,若在一个队伍,不移动 Q操作:询问编号X同学身后有多少同学。样例输入:2 2(n,m,n个同学,m次操作,1<=n,m<=35000) T 1 2 ...原创 2019-03-11 16:15:58 · 251 阅读 · 0 评论 -
求连通分量 (01迷宫 全球变暖)
求连通分量一般用dfs,bfs和并查集给出第一题:o1迷宫 题目来源:https://www.luogu.org/problemnew/show/P1141思路:用dfs确定连通度,用并查集维护连通块个数。这里类似并查集的思路都是解决点到父亲数组的映射,也就是把二维数组变成一维数组:f[x*n+y]=x*n+y;//n是列数把连通块里所有的点总数放在祖宗节点上,这样查询任意点所...原创 2019-03-15 18:23:14 · 226 阅读 · 0 评论 -
三分法求点到抛物线的最短距离
首先三分法简单说就是判断序列的最大最小值,该序列为一个凸性函数。通俗来讲,就是该序列必须有一个最大值(或最小值),在最大值(最小值)的左侧序列,必须满足不严格单调递增(递减),右侧序列必须满足不严格单调递减(递增)。图片来源:https://blog.csdn.net/beiyouyu/article/details/7875480然后再对二分进行二分,我们mid比midmid更靠...原创 2019-03-11 17:23:12 · 6620 阅读 · 0 评论 -
蓝桥 地宫寻宝 记忆化搜索
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T120 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可...原创 2019-03-20 20:08:48 · 245 阅读 · 0 评论 -
蓝桥 历届试题 小朋友排队
问题描述:传送门 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。 请...原创 2019-03-21 18:45:21 · 272 阅读 · 0 评论 -
bfs hdu 连连看
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1175“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不...原创 2019-03-23 13:41:47 · 168 阅读 · 0 评论 -
Prime Test Miller_Rabin+Pollard_rho
传送门这题卡的时间卡的真的厉害。不仅卡了Miller_Rabin算法,Pollard_rho算法,还卡了gcd 和 反复平方运算。题目大意:给你一个数,如果是素数,直接输出prime,否则输出他的第一个素因子。因为给的数特别大特别多,所以我们只能用Miller_Rabin算法进行大数判断,在判断不是素数后,还要用Pollard_rho算法进行分解。两个都是神仙算法。首先看第一个吧,...原创 2019-08-03 22:16:40 · 312 阅读 · 0 评论 -
1495:【例 2】孤岛营救问题
传送门 //因为一本通上有一个测试点错了,所以给洛谷的测试这题大部分都是用bfs + 状压去做,但是一本通里把这题放在了最短路上,虽然用最短路的时间空间都比bfs要差,但是这是一道很好的去训练分层最短路的题。BFS版:bfs把每个种类的钥匙都单独分成一层,然后根据我拿了钥匙的状态去找到我现在应该在的层,再bfs搜索最短路。#include<bits/stdc++.h>...原创 2019-09-04 14:07:06 · 1240 阅读 · 0 评论 -
1496:【例 3】架设电话线
传送门这里给出3种方法求解(因为感觉都蛮有用的)。第一种:dp+最短路dp[i][j]:从1号点到i号点已经用了j次变成0边后路径上的最长边.若有一跳从u到v长度为w的边,则 d[v][num] = max(d[u][num],w);用dis[u][num] 更新dis[v][num+1]的最小值分别更新:d[v][num] = max(d[u][num],w);...原创 2019-09-05 19:52:37 · 1238 阅读 · 0 评论 -
洛谷 p1141 01迷宫 //DFS BFS 优化高效
传送门:https://www.luogu.org/problemnew/show/P1141#sub题目大意:有一个仅由数字000与111组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)输入样例#1: 2 2...原创 2018-12-13 16:19:51 · 397 阅读 · 0 评论 -
二叉树 UVa 122 层次遍历
题目大意: 输入一颗二叉树,给出节点的值和从根几点往下开始的位置,L左,R右。Sample Input(11,LL) (7,LLL) (8,R)(5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) ()(3,L) (4,R) ()Sample Output5 4 8 11 13 4 7 2 1not complete本题因为不知限制节点位置,...原创 2018-09-20 19:34:27 · 234 阅读 · 0 评论 -
poj2299 树状数组+离散化
题目链接:http://poj.org/problem?id=2299大佬1的博客,大佬2的博客题意:大概就是冒泡排序中一共交换了多少次;离散化:c[]数组用二进制开不了999999999的空间,所以把a[]数组中对应的值给变小作用效果不变 用结构体 pos表示离散后的值得下标,val表示原来值;struct node{ int pos,val;...原创 2019-02-28 19:50:18 · 163 阅读 · 0 评论 -
位运算 审美课
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T519先看一些基本的位运算:学位运算为以后状压,压位做下铺垫吧。题目描述:样例输入3 2 //3个同学 2幅画,判断完全相反的对数1 00 11 0样例输出2样例说明 同学1和同学2的答案完全相反; 同学2和同学3的答案完全相反; 所以答案...原创 2019-03-01 20:52:21 · 387 阅读 · 0 评论 -
DP LIS 最长上升子序列
例:LIS是最长上升子序列。什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段最长严格上升的部分,它不一定要连续。 就像这样:2, 3, 4, 7 和 2, 3, 4, 6 就是序列 2 5 3 4 1 7 6 的两个上升子序列,最长的长度是 4。用f[i]来记录位置为i时的最长上升子序列的个数,在判断i+1位(后一位),如果i+1位能组成,则取f[当前位]=max(f[当前位...原创 2019-02-26 10:53:55 · 211 阅读 · 0 评论 -
动态规划,记忆搜索,uva1629,切蛋糕
先给链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4504大意就是切n*m蛋糕,有k樱桃,只能横着竖着切,要求每一块蛋糕上恰好有一个樱桃,且割线总长最小。Sample Input3 4 31 22 33...原创 2018-10-09 19:37:22 · 383 阅读 · 0 评论 -
dfs+剪枝 数独
题:(题目来源2018蓝桥模拟一)蒜头君今天突然开始还念童年了,想回忆回忆童年。他记得自己小时候,有一个很火的游戏叫做数独。便开始来了一局紧张而又刺激的高阶数独。蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答案?标准数独是由一个给与了提示数字的 9×9 网格组成,我们只需将其空格填上数字,使得每一行,每一列以及每一个 3×3 宫都没有重复的数字出现。输出这...原创 2019-02-26 12:31:02 · 422 阅读 · 0 评论 -
状态压缩DP+枚举子集 BZOJ2073 过桥
今天更状态压缩的一支,要枚举子集的DP算法;题目: 一只队伍在爬山时碰到了雪崩 , 他们在逃跑时遇到了一座桥 , 他们要尽快的过桥 . 桥已经 很旧了 , 所以它不能承受太重的东西 . 任何时候队伍在桥上的人都不能超过一定的限 制 . 所以这只队伍过桥时只能分批过 , 当一组全部过去时 , 下一组才能接着过 . 队伍里每个 人过桥都需要特定的时间 , 当一批队员过桥时时间应该算走得最慢的那一...原创 2018-07-31 00:17:24 · 459 阅读 · 0 评论 -
poj 3259 Bellman_Ford算法 SPFA算法
今天更下负权值的最短路,最短路存在,则图中无回路,环(回路)分为零环,负环,正环,若最短路是零环和正环,则去掉此环肯定小于等于原最短路;若为负环,则无最短路,因为会一直负环下去。若为经典的无环问题,则算法代码如下:for(int i=0;i<n;i++)dis[i]=INF;d[0]=0;for(int k=0;k<n-1;k++)//共n-1次,也就是除了起始点以外的...原创 2018-07-24 20:03:40 · 291 阅读 · 0 评论 -
Floyd算法 poj 3660
今天更Floyd算法,Floyd算法是求每对点之间的最短距离,只有5行的算法;在图初始化的时候的d[i][i]=0,代表此点到此点的距离为0;其它点距离为无穷;再上核心算法for(int k = 1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(d[i][j] < IN...原创 2018-07-24 23:13:44 · 190 阅读 · 0 评论 -
并查集 poj 1182 食物链
题目链接:http://poj.org/problem?id=1182首先,并查集是一种来管理元素分组情况的数据结构。时间复杂度为O(a(n))//阿克曼函数的反函数,比O(log(n))还要快。这题先用基础的方法来看,先介绍并查集的基本形式(模板类型):初始化:void Init(int n){ for(int i = 1;i <= n*3; ++i){ par[...原创 2018-09-17 21:58:58 · 508 阅读 · 0 评论 -
并查集 擒贼先擒王//解密犯罪团伙
写个比较一般的并查集过渡:题意:有n个罪犯,警察给了m个条件,找出一共有多少个团伙。样例输入:10 91 23 45 24 62 68 79 71 62 4样例输出:3分割线:#include<bits/stdc++.h>using namespace std;const int maxn = 10010;int par[maxn];...原创 2018-09-18 17:48:05 · 521 阅读 · 0 评论 -
一本通->提高篇->图论-> 最小生成树:
一本通:提高篇:图论:最小生成树:1486 【例题1】黑暗城堡求最短路径生成树,用最短路算法求出最短路后,找到最后dis数组,遍历每条边上找到对应成立dis[]的度数(个数),再用乘法原理求出结果。#include<bits/stdc++.h>using namespace std;typedef long long ll;//const ll mod = (1<...原创 2019-09-26 18:35:14 · 998 阅读 · 0 评论