摘要: 板子 阅读全文
posted @ 2019-08-01 14:32 op-z 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 由最小生成树T进行一次可行交换得到的新的生成树的集合 称为T的邻集 N(T)(即 最小生成树的某两节点间有重边 可替换 或 原图中存在其它边可重新连接这些节点)找到可替换边中权值最小的那条 替换即可实现:存最小生成树上每两点间最大距离,遍历每条不在最小生成树上的边,更新 以这条边 替换 该边两端节点 阅读全文
posted @ 2019-08-01 13:26 op-z 阅读(126) 评论(0) 推荐(0) 编辑
摘要: kruskal算法 前向星+并查集 需排序(加边,还有一种加点的prim算法,不惯用,就不更了 排序后每次找权值最小的两节点组成的边,加入树,通过并查集确定公共祖先,若某边加入会出现环,跳过,直至所有点都加入树,该树即为最小生成树 板子 POJ 2421 Constructing Roads 模板题 阅读全文
posted @ 2019-08-01 12:24 op-z 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://codeforces.com/contest/1199/problem/D 题意:给一序列,给一串操作,按顺序修改序列内容,分两种类型 类型一:1 p x ,位置p的数字改为x 类型二:2 x,序列中所有小于x的数字全改为x 刚开始想着直接线段树,单点修改和区间修改,头脑风暴 阅读全文
posted @ 2019-07-31 10:09 op-z 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 权值线段树只是节点存的内容变成了权值,区间,区间和,区间数字个数等,和一般线段树的操作差别不大 但对于某些特定问题来说操作很简便,值域较大时一般会采用离散化(就只能离线了 可求区间第k大数,逆序对个数等 示例如图: //待添加 结构体存 建树 插入新点(根据不同问题修改 查询(根据不同问题修改 初始 阅读全文
posted @ 2019-07-30 20:53 op-z 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 二分图:可将图中顶点分为两个集合,集合内元素独立。 判定:至少有两个顶点,若有回路,长度必为偶数。 染色法判定:从某点开始染色为x(-1或1),遍历其所有相邻节点,若未染色,染为-x,否则判断该点颜色,若为x,该图非二分图,退出;为-X则继续遍历。 UVA - 10004 Bicoloring #i 阅读全文
posted @ 2019-07-09 10:37 op-z 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 刷题刷到kmp了 TLE了 想着还是sunday算法高效一点 还好写 kmp和扩展kmp的思想都是在不匹配时如何高效移动原串的匹配起点sunday直接判断步长为模式串的长度,效率最高原串 s:fffsffkfsfff size n=12 匹配起点为i模式串 p:fsf size m=3每次匹配 s从 阅读全文
posted @ 2019-05-20 19:55 op-z 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题意:给定数组 a[0]~a[n-1], -1e9<=a[i]<=1e9 在其中找数 x,使得 min( |x-y|, |x+y| ) <= |x| < |y| <= max( |x-y|, |x+y| ) 化简后就是 | y |<=2*| x |, x<=y 数据都取abs 一个简单的二分 wa在 阅读全文
posted @ 2019-05-18 12:10 op-z 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 碎碎念 只想着快了 细节考虑不周,补题时一直就奇怪当时怎么就没这么想呢, 还有题意,老是会遗漏,英文水平不够呀 还有特判问题,错误想法前的特判,改掉其他地方后特判也要改呀 对于数学规律,算出的公式看自己的解决思路来化简 写写前五题吧 后俩有空补一下 A:给定01字符串s,长度n,x,y, 0=<x< 阅读全文
posted @ 2019-05-15 17:27 op-z 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://codeforces.com/problemset/problem/843/A 题意:给一串无重复元素的序列,可对子序列(无需连续)进行递增排序,使得对所有子序列排序后整个序列有序,输出可分的最大子序列数目及 每个子序列大小和各个元素 看到是A 以为很水 直接上手搞 数组a记 阅读全文
posted @ 2019-05-07 17:07 op-z 阅读(177) 评论(0) 推荐(0) 编辑