自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 不经过重复点的最短路【迷阵突围】

题意 思路 跑最短路,记录前驱 把最短的边删去一条,比较次短路 记得初使化!!!!!多次用到st数组 #include<iostream> #include<algorithm> #include<string.h> #include<cmath&g...

2020-02-17 23:12:24

阅读数 21

评论数 0

原创 区间最大公约数【树状数组+线段树】

思路: 首先是线段树的做法 定义node节点,求公约数,那么定义d(记录区间公约数),还有左节点右节点 考虑定义一个数d,能不能维护好update 父节点的d = max(左树d,右树d),所有一个数d,够用 考虑区间加,可以使用差分数组b[i]=a[i]=a[i-1] 考虑区间求最大公约数(a...

2020-02-14 15:58:52

阅读数 22

评论数 0

原创 CF 558 C. Amr and Chemistry 暴力

链接:链接 题意: 给n个数,每一个数可以*2或者/2 问最少几步可以把这些数统一 思路 暴力* / num[i] 数组,每一个数到达i 需要几步 book[I] 有几个数可以到达i #include<iostream> #include<string.h> #i...

2020-02-13 17:18:31

阅读数 9

评论数 0

原创 二分图、最小路径重复点覆盖的一些性质

二分图的一些性质: 二分图==染色法不矛盾 == 不存在奇数环 二分图上的最小点覆盖 == 最大匹配数(每条边至少选一点) 二分图上最大独立集=总点数-最大匹配数 二分图上的最小互不相交路径点覆盖=点数-最大匹配数 二分图上的最小路径重复点覆盖=先在原图上传递闭包+二分图上的最小互不相交路径点覆...

2020-02-10 23:27:23

阅读数 16

评论数 0

原创 无向图的双联通分量【冗余路径】

无向图的双联通分量 链接:链接 让树变成边双的最小代价是:(叶子节点+1)/2 叶子节点可以更加度数判断 #include <cstring> #include <iostream> #include <algorithm> using namespace...

2020-02-09 21:02:21

阅读数 38

评论数 0

原创 受欢迎的牛【强联通分量】

受欢迎的牛 链接:链接 题意: 所有点都可以到达这个点,这个点就受欢迎 求总共多少个这样的点 思路 拓扑图的话,这个点的出度为0,那么其他所有点都可以到达 若有倆个以上或者倆个点,出度为0,那么,出度为0的点怎么也到达不了对方,ans=0; 先把图缩点,转化为拓扑图 #include &l...

2020-02-09 15:34:47

阅读数 17

评论数 0

原创 差分约束系统【区间】

区间 链接:链接 输入n个区间和n个数字c 区间[a,b]间至少有c个数字 s[i]表示从0到i之间共有多少个整数 约束条件 s[b]-s[a] >= c 0 <= s[i+1]-s[i] <= 1 要求同时满足这些区间要求的最少的元素个数 求下界,用最长路 代码 #includ...

2020-02-08 20:18:16

阅读数 28

评论数 0

原创 spfa+01分数规划【观光奶牛】

spfa+01分数规划 思路 01分数规划,二分 代码 #include<iostream> #include<algorithm> #include<string.h> #include<queue> using namespace std;...

2020-02-08 16:02:19

阅读数 27

评论数 0

原创 次小生成树

链接:链接 注意: 注意在求严格次小生成树时,不能只预处理两点之间最大的树边,因为当最大树边和当前枚举的非树边长度相同时,就不能替换了,但此时却可以替换长度次大的树边。因此还需同时预处理出长度次大的树边。 #include<algorithm> #include<string...

2020-02-07 23:28:19

阅读数 18

评论数 0

原创 最小生成树+虚拟源点

链接:链接 思路 建立虚拟源点,到每个点的距离 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std;...

2020-02-07 17:11:30

阅读数 9

评论数 0

原创 次短路条数

次短路条数 链接: 链接 思路 拆点,跑dijistra() dis[i][0]表示1到i最短路 dis[i][1]表示1到i次短路 cnt[i][0]表示1到i的最短路条数 cnt[i][1]表示1到i的次短路条数 把最短,次短的点都放进dijistra跑,因为都是“最短”的性质 出队的是ve...

2020-02-06 14:28:04

阅读数 42

评论数 0

原创 拯救大兵瑞恩【最短路+状态压缩】

拯救大兵瑞恩 链接:链接 思路 状态的最短路 除了坐标,还需要记录手里的钥匙,钥匙10种可以状态压缩记录 拿钥匙不花费,我们过一个点拿一个钥匙,这是拿钥匙状态发生转移,花费为0, 其他走法,状态发生改变,花费为1 可以用双端队列代替堆优化distara 代码注意 为了简化代码,我们把二维变为...

2020-02-05 21:38:24

阅读数 110

评论数 0

原创 电路维修【迪杰斯特拉】

电路维修 链接:点击 题意 从(0,0)走到(n,m)的最小步骤,和斜线相同权重为0,不同权重为1 迪杰斯特拉 注意怎么判断权重为1,四个方向的格子还有走的点 代码 #include<iostream> #include<deque> #include<algor...

2020-02-04 17:00:17

阅读数 36

评论数 0

原创 最小支配集【皇宫看守】

皇宫看守 最小支配集 链接:链接 题意 给一颗树, 最小支配集 思路 和没有上司的舞会有区别,没有上司的舞会是一条边相邻的俩个点至少选一个点属于最小点覆盖 最小点覆盖需要考虑 父节点,子节点,本身节点的状态 f[u][0] 表示u节点被父节点的看到的最小花费 f[u][1] 表示u节点被子节...

2020-01-31 23:27:42

阅读数 26

评论数 0

原创 没有上司的舞会+战略游戏【树形dp】

没有上司的舞会 链接:链接 题意:一颗树,点上有权值,一条边最多选一个点,求最大权重 代码 #include <cstring> #include <iostream> #include <algorithm> using namespace std; ...

2020-01-31 17:47:58

阅读数 19

评论数 0

原创 苹果二叉树 有依赖的分组背包

苹果二叉树 分组背包 链接 思路 有依赖性的分组背包 树形dp f[u][j] 根节点是u,边是j的最大值 分组背包:枚举组,枚举体积,枚举决策 代码 #include<iostream> #include<string.h> #include<algorithm...

2020-01-31 15:59:58

阅读数 39

评论数 0

原创 数字转换 树的最长链

数字转换 树的最长链 链接:https://www.acwing.com/activity/content/problem/content/1304/1/ 题意: 如果一个数 x 的约数之和 y(不包括他本身)比他本身小,那么 x 可以变成 y,y 也可以变成 x。例如,4 可以变为 3,1 可...

2020-01-31 14:30:03

阅读数 22

评论数 0

原创 树的中心

树的中心 题意 找到一个点使最远的点最小 思路 画出一颗树,找到一个点,这个点的最远距离,有俩种,一种是往下走,另外一种是往上走,往上走还有俩种,一种是再往上走另外一种是往下走, 因此,我们需要,dfs出每个点到叶子节点的最大值, 再dfs出每个点往上走的最大值 代码 #include&l...

2020-01-30 23:03:32

阅读数 27

评论数 0

原创 混合背包【01,完全,多重】

题目链接 01背包,完全背包,多重背包的二进制优化 #include <iostream> #include<string.h> #include<algorithm> using namespace std; const int N=1e6; int f...

2020-01-21 09:33:33

阅读数 12

评论数 0

原创 最短路+dfs【新年好】

题目链接 题目大意:给一个图 求其中6个点的全排列 哪种路最短 先预处理6个点到其他点的最短路 然后 dfs枚举排列 求最小值 #include<bits/stdc++.h> using namespace std ; const int N=1e6; int dis[6][N],...

2020-01-20 21:01:50

阅读数 15

评论数 0

原创 二维费用01背包 【宠物小精灵之收服 OpenJ_Bailian - 4102 】

题目链接 题意: 花费1:精灵球数量 花费2:皮卡丘体力值 价值:小精灵数量 收服每个小精灵需要部分精灵球数量和皮卡丘体力值; 问:收服尽可能多的精灵 精灵数相同时候,伤害最小 f[i,j,k]表示所有只从前i个物品中选,且花费1不超过j,花费2不超过k的选法的最大价值 转移方程; f[i,...

2020-01-19 22:03:41

阅读数 11

评论数 0

原创 乘积最长路【poj】2472

题目链接 题意:求图的乘积最长路,迪杰斯特拉变形,初始化需要用零元更新 #include<iostream> #include<algorithm> #include<string.h> using namespace std; const int N=1001...

2020-01-13 16:26:40

阅读数 1288

评论数 0

原创 最长公共上升子序列【优化】

给俩个序列,求最长公共上升子序列; 状态表示:f[i][j] : 1到i 和1到 j 以b【j】结尾的序列 集合属性 max 状态转移方程:分为有没有a【i】】的集合 若无a【i】则f[i][j] =f[i-1][j]; 若有a【i】前提a【i】 == b【j】 ,则 for(int k=1;k...

2019-12-25 22:06:44

阅读数 39

评论数 0

原创 并查集判树

给一堆边,判断是不是一颗树 并查集的操作 #include<stdio.h> #include<string.h> #define N 1000 int p[N]={0}; int find(int x) { //return x==p[x]?x:p[x]=find...

2019-12-09 21:07:14

阅读数 31

评论数 0

原创 深度学习【神经网络】

回归问题:让机器观察什么是圆的、方的、区分各种颜色、形状。根据这些特征对某种事物进行分类预测。这就是回归问题。 如何解决回归问题: 让机器从事物的特征中找到规律,其实就是一个如何在数字中找规律的过程 回归问题就是一个曲线拟合问题:沿着之前的数据拟合一条合适的曲线,进而推算出之后的数据 如何进行拟...

2019-10-31 11:59:04

阅读数 51

评论数 0

原创 导弹防御系统【dfs+贪心】

题意 问最少有多少个上升子序列 和下降子序列 可以覆盖一个序列 #include<bits/stdc++.h> using namespace std; const int N=100; int a[N],up[N],down[N]; int n; bool dfs(int dep...

2019-10-30 23:11:55

阅读数 41

评论数 0

原创 拦截导弹【贪心+lis】

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 某天,雷达捕捉到敌国的导弹来袭。 由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度...

2019-10-29 19:34:34

阅读数 39

评论数 0

原创 方格取数【三维dp】

题目传送门 题意:给出一个矩形 , 从左上走到右下 , 走俩条路线 模型:二维dp记录一条路线 f[i1,j1,i2,j2] 表示从(1,1)(1,1) 走到(i1,j1) (i2,j2) 的最大值 当i1+j1 = i2+j2 时 俩条路径的格子才重合 状态表示 k=i1+j1 f[...

2019-10-27 10:22:11

阅读数 57

评论数 0

原创 python学习 正则表达式

正则表达式; 导入模块 import re python检索a中字符串是否有“python” a.index(‘python’) > -1 返回true false ‘python’ in a 返回true false 使用正则表达式; import re a= “py...

2019-10-24 11:29:26

阅读数 31

评论数 0

原创 python学习

变量 赋值 = 变量名首字母不能数字 字母,数字,下划线 系统关键字,保留关键字 Python 动态变量 动态语言 Int str tuple 值类型(不可改变) List set dict引用类型(可变) Id(b) b的地址 Str Tuple 元组 不可以改变 稳定 元组里面的...

2019-10-06 22:54:30

阅读数 19

评论数 0

原创 poj 2286 【IDA*算法】【迭代加深】

添加链接描述 估计函数: 8-(出现次数最多的数) 迭代加深+IDA* #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> usin...

2019-09-19 09:00:54

阅读数 33

评论数 0

原创 poj 3460【IDA*算法】【迭代加深】

题目传送门 迭代加深+估计函数 估计函数:每次操作都能把3个错误点改正,消除所有错误点操作次数为tot/3 上取整 = (tot+2)/ 3; #include<iostream> using namespace std; const int N=16; int ...

2019-09-17 23:11:21

阅读数 64

评论数 0

原创 poj3417【数上差分】【树上倍增】【公共祖先lca】

题目传送门 题目大意,n-1条边构成一棵树,给出m个操作,没个操作为俩个点,把俩个点在树上的路径加一, 输出 树中有边属性 先用树上倍增求出f数组,为lca函数准备 俩个点之间的路径+1,可以使用树上差分,cnt【x】+1,cnt【y】+1 cnt【lca(x,y)】-=2; ...

2019-09-12 12:31:18

阅读数 28

评论数 0

原创 最近公共祖先【tarjan算法】【基于并查集】【模板题】

题目传送门 用并查集优化向上标记法 dfs过程中,建立一个用1,2染色的v数组 回溯的点标记为2,访问完毕未回溯标记为1, 正在访问的点,它到根节点的路径为1,若y是回溯过的点,则lca(x,y)就是y向上走到根第一个遇到1的点 不断缩小ans #include<ios...

2019-09-11 21:54:28

阅读数 29

评论数 0

原创 最近公共祖先【模板题】【树上倍增】【HDU2586】

题目传送门 树上俩点之间的距离 1号点bfs出每个点的深度d【】数组,离1号点的距离dis数组 x, y 俩点的距离 等于 dis【x】+ dis【y】- 2 * dis【lca(x,y)】; 在bfs过程中 倍增数组 #include<iostream> #in...

2019-09-11 20:59:01

阅读数 23

评论数 0

原创 噩梦【HDOJ】【双向bfs】

题目传送门 双向bfs #include <cstring> #include <iostream> #include <algorithm> #include <queue> using namespace std; ty...

2019-09-08 16:18:15

阅读数 23

评论数 0

原创 so easy【set】

题目传送门 题目大意: 给定1到n的数; 俩个操作 1 x 把x标记不能用 2 x 寻找x或者x后面之后哪个可以用 用set把标记的放进去, 然后,,,,,, #include <iostream> #include <cstdio> #inc...

2019-09-08 11:07:38

阅读数 20

评论数 0

原创 装满的油箱【迪杰斯特拉变形】【拆点】【poj 3635】

题目传送门 题意: 有N个城市(编号0、1…N-1)和M条道路,构成一张无向图。 在每个城市里边都有一个加油站,不同的加油站的单位油价不一样。 现在你需要回答不超过100个问题,在每个问题中,请计算出一架油箱容量为C的车子,从起点城市S开到终点城市E至少要花多少油钱? 思路:...

2019-09-06 21:32:29

阅读数 30

评论数 0

原创 送礼物【双向bfs】

题目传送门 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=(1<<24)+1; ll ans,n,m,a[N],s[N],n_2; void...

2019-09-06 17:39:33

阅读数 33

评论数 0

原创 加成序列【dfs】【迭代加深】

题目传送门 题意:搜索出一个符合要求的最短序列 优化搜索顺序,从大到下枚举; 排除等效情况 设置标记数组 #include<iostream> using namespace std; int n; const int N=150; int path[N]; in...

2019-09-06 16:12:10

阅读数 26

评论数 0

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