状态结点查重的问题

lrjlrjlrj老师给我们三种解决办法,对于一个节点的查重。 这里拿八数码问题中的状态查重来介绍: 数组表示了当前状态。 编码和解码 将排列变成整数:设计一套排列的编码和解码,把0−80-80−8的全排列和0−3628790-3628790−362879的整数一一对应。 然而具体实现的对应并没...

2019-06-12 15:17:15

阅读数 34

评论数 0

双向bfs

事实上HDU−2612HDU - 2612HDU−2612也是双向bfsbfsbfs,但由于题目要求的原因,所以没有将其优势发挥出来。 双向bfsbfsbfs实质上是引入起点和终点,一起遍历,并且给数组多加一维,结束的标准时到达的这个点的另一维也已经到达了。 并且双向bfsbfsbfs是双向的最短...

2019-06-12 14:39:32

阅读数 27

评论数 0

UESTC 2018 Summer Training #13 Div.2 初步题解

只做出来4题hhhhhhhhh 太菜了还是。 一共10题,目前完成了888道题,还有AAA、GGG未完成。 比赛地址 BBB: 要求:求有多少严格上升子序列。 题解:容易想到以第iii个元素为结尾的子序列个数等于所有之前的比它小的序列数加上它自己。 dp[i]=∑a[j<i...

2019-06-10 03:08:11

阅读数 33

评论数 0

紫书好题(待实现

这里是我忘记了的或者说目前不想实现,但是需要实现和理解的题目(当然看了遍解法。 例题7-6 例题7-7

2019-06-08 17:52:51

阅读数 13

评论数 0

[Gym 101755]UESTC 2018 Summer Training #12 Div.2初步题解

这是基于在目前能力内完成的题解。 这场比赛我做出了666题,实际上可以做出888题。 还有111题是真的缺少了这类思想。 地址:实质上是一场gymgymgym 截止到现在:还剩下D、G、I、F\color{red}D、G、I、FD、G、I、F题未补 AAA: 已知a、ba、ba、b的sumsums...

2019-06-08 12:10:20

阅读数 56

评论数 2

Uva1515 Pool construction 最小割

Uva1515Uva1515Uva1515 题意: 对于一个字符矩阵,有#\##和...两种字符,分别代表草和洞。相邻草和洞需要建立栅栏,草和洞可以互相转化通过一定的花费。求最小花费。 题解: 我们考虑分割,想到"割"这个概念。 类似于之前最大闭合子权图的概念,割的应用一般出现...

2019-06-07 00:07:55

阅读数 17

评论数 0

割点/桥

对于无向图GGG,如果删除某个点uuu之后,连通分量增加,称uuu为图的关节点或者割顶(割点)。 对于连通图,割顶就是删除之后使得图不再连通的点。 求割顶的方法: 这里我们用到一个定理: 在无向连通图GGG的dfsdfsdfs树中,非根结点uuu是GGG的割顶当且仅当uuu存在一个子结点vvv,...

2019-06-06 19:16:02

阅读数 13

评论数 0

隐式图搜索

隐式图搜索 对于某些状压题,转移很少,但是状态很多。 我们是无法直接判断能否转移的,因为实质上很多转移是没有必要的。 所以我们在用到这个状态的时候,枚举转移即可。这是第一次遇到。 如果以后更深的理解和好题自然会加上来。 Uva658Uva 658Uva658 题意:有nnn个bugbugbug,有...

2019-06-06 15:02:54

阅读数 7

评论数 0

Educational Codeforces Round 66 (Rated for Div. 2)题解

能力有限,只有BBB至EEE的题解。 而且我只做出了两题,最后156315631563的rating滚粗了。(居然加了一分) 比赛链接 B题 题意: 要求模拟一个forforfor、addaddadd、endendend组成的程序。forforfor后面接循环次数。 具体看样例。 同时如果add后...

2019-06-06 14:56:58

阅读数 73

评论数 0

存在免费套餐的最小生成树 Uva1151

题意: 求最小生成树。(n2n^2n2条边:需要自己算一共有nnn个点的坐标) 不过你可以选择一个套餐,花费ccc使得套餐内点全部连通。 套餐数量q≤8,n≤1000q≤8,n≤1000q≤8,n≤1000 题解: 套餐数量较少,我们可以枚举(二进制即可)。 枚举之后把所有包含的边权赋值为000 ...

2019-06-05 17:24:14

阅读数 12

评论数 0

表达式树的简析

二叉树是表达式处理的常用工具。找到"最后计算"的运算符(它是整棵表达式树的根),然后递归处理。 递归处理成树是表达式处理的一个重要方式。这里我只记录和理解了lrjlrjlrj老师的代码(抄了一遍,自己还没动手自己写过。不过目前这不是重点内容,所以到此为止。 个位数加减乘除成表达...

2019-06-05 13:15:30

阅读数 20

评论数 0

A*相关

网上很多的解析很详细(但我现在只是需要一个简单的板子,因为主要重心不在这里而是图论其他的简单部分的熟练应用。等到以后我会扩充。 A∗A*A∗的核心在于估价函数,预估以后最应该走的路。 所以我们实现求出每个点到终点的距离,每次bfsbfsbfs扩充,扩充的过程中不断增加路径长度,同时以f[node]...

2019-06-04 17:15:46

阅读数 7

评论数 0

紫书:二分图匹配 最大流解决

网络流的一个经典应用是二分图匹配。 匹配是指:两两没有公共点的边集。 二分图是指:可以把结点集分成两部分X和Y,使得每条边恰好一个端点在XXX,另一个端点在YYY。换句话说,同色节点不相邻,进行二染色。 一般在画图的时候,把XXX结点和YYY结点画成左右两列。 可以证明一个图是二分图,当且仅当没有...

2019-06-01 22:54:06

阅读数 11

评论数 0

POJ - 3436网络流_拆点+简单处理

写的第一道网络流。非板题。 网络流貌似核心是在于建图的处理。 POJ-3436 :看了题解才做出来。 要求规划出合法生产线,这种形式基本就和网络流相关了。 具体题意是:有一个产品,有k个部件,给出n台机器,每台机器接受一定的半成品,输出新的半成品。最终成品是全部部件都在的成品。每个机器都有单位时间...

2019-05-31 02:03:24

阅读数 10

评论数 0

网络流最大流的基础问题

对于网络流的最大流,实际上求的是从s−>ts->ts−>t的最大流量,也就是输入sss,最多有多少能到ttt。 这里引入残量网络的概念,就是容量减去已经使用的流量。(可以理解为一秒钟使用的流量) 做法是 (1)不断去求增广路,增广路就是一条...

2019-05-29 23:23:10

阅读数 24

评论数 0

最短路进阶一:floyd传递闭包问题[POJ-3660]

会有这样的题目,数据量较小,给出两点间之间的关系,求最后是否矛盾(并查集:不过那道题还没有弄懂),或者求出一共有几层关系(火车排队:拓扑排序最长路),以及求出所有能够满足的关系 简单来说:这里我们要求求出所有的关系,通过已给出的关系。 题目:POJ-3660 要求判断给出的点是否能确立和其他的点的...

2019-05-29 00:10:05

阅读数 5

评论数 0

最短路的简单变式(dj贪心可扩展性、spfa的妙用)

不小心用了傻逼edge,导致粘贴代码的是全部卡死。 结果是什么呢,写的解析全部没有了,现在也没有啥心情重写了。就写概括点把。 简单来说就是:对于Dijsktra算法是局部贪心可扩展到全局最优。但是如果存在负权或者求最长路是不满足的,所以非法。接下来的一道题就是一道变式Dij,这道题是满足性质的,所...

2019-05-28 17:20:13

阅读数 8

评论数 0

简单的两圆关系

题目地址\color{red}题目地址题目地址 有一定总结性的题目,所以我记下来了。 题意就是对于三维中的n个球找到一条最小生成树,相碰或者想包含的小球视为可以直接到达。所以这样的情况直接让边长为000即可。那么怎么判断这样的情况呢。 ddd为圆心距,RRR为大圆半径,rrr为小圆半径 d=R−r...

2019-05-27 23:27:52

阅读数 5

评论数 0

Prim原始算法的可用性

Truck History\color{red}Truck\ HistoryTruck History 题意就是对于n个点,每个点到其他的有一定距离,找出最小生成树。 正常的Prim算法翻车惹,因为正常的复杂度为2mlogm2mlogm2mlogm(优先队列实现...

2019-05-27 23:18:18

阅读数 7

评论数 0

Codeforces1600分训练日记

2019/5/22 1700\color{red}17001700 模拟\color{purple}模拟模拟 题意主要是要求两种二维坐标的转换;简单的题目,就是暴力转换就可以了 我们需要考虑的就是判断是哪一种形式,通过在字母后出现了字符,在字符后又一次出现了字母的方式。需要注意的是转换BBC这样...

2019-05-24 22:33:31

阅读数 30

评论数 0

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