这题也很好。涉及多条最短路径问题。使用Dijkstra找到多条最短路径,再使用DFS对路径进行回溯选取最佳的最短路径。 1.只用Dijkstra不能拿满分。 2.最短路径的优先级是(由高到低):路径最短的;从PBMC取走的自行车数目最少的;从车站取回的自行车数目最少的。 3.存储多条最短路径的策略是 ...
分类:
其他好文 时间:
2020-03-18 15:53:47
阅读次数:
73
写在前面:在看这篇题解前,首先需要学会基本的树型dp是什么,推荐一道题,是本题的简单版。 传送门 本题:题目链接 这是我第一次接触最大连通子树的题。 常规的树型DP,是先dfs求取子树的最优解,再回溯更新父节点的最优解。比如构造一棵最值线段树的过程就是这样: 每一个节点的最优解只受到子节点的影响,而 ...
分类:
其他好文 时间:
2020-03-18 11:22:33
阅读次数:
53
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1732/ 题目就是推箱子游戏,有三个箱子和三个洞,最终目标状态就是三个箱子到三个洞中,所以我们搜索的状态就是人的位置和箱子的位置,因为总共8个状态值,而且横纵坐标的范围也不大,所以我们可以考虑一个8维的数组来存储状 ...
分类:
其他好文 时间:
2020-03-18 09:15:37
阅读次数:
53
我们先来了解一下request.setAttribute和request.getAttribute()这两种方法的作用。 request.getAttribute("nameOfObj"); 可得到jsp页面表单中输入框内的value。(其实表单控件中的Object的name与value是存放在一个 ...
分类:
其他好文 时间:
2020-03-17 14:15:02
阅读次数:
91
tarjan算法:离线处理询问,核心思想是并查集。 如该图,现有4个询问:6-7,6-9,7-10,2-11 实现:1.先把询问数翻倍,除了本身的询问,还要增加两个点反过来的询问,即7-6,9-6,10-7,11-2。为什么要这样?因为在询问时,不知道两个点的先后顺序。 2.从根结点出发,做dfs遍 ...
分类:
其他好文 时间:
2020-03-17 12:41:50
阅读次数:
69
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1072/ 题意:逃离迷宫,路中可能有炸弹,总时间是6个单位,在有炸弹的位置,如果到达的时刻时间大于0,则恢复到6时间,炸弹的位置可以重复到达,求出最终至少需要多少步才能走出迷宫,到达终点。这样的最优化问题和地图相关 ...
分类:
其他好文 时间:
2020-03-17 08:22:43
阅读次数:
63
省选模拟41 1.要换换名字 bfs自动机(误)+最大流 用霍尔定理或者感性理解可以发现,一个人最多只需要n个名字就一定会有合法解. 所以不需要$2^{100}$记录所有的子序列,找到最小的n个就可以了. 具体找法:维护$nxt[i][j][k]$为第i个串j位置后第一个k字符的出现位置,可以倒推. ...
分类:
其他好文 时间:
2020-03-16 21:59:36
阅读次数:
81
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1728/ 关于广度优先搜索的第一篇题解。广度优先搜索,就是状态树的层次遍历,一层一层的搜索,直到搜索到目标状态为止。在扩展的过程中设定一种由上一层扩展到下一层的转化机制,将出现的新的状态放入队列之中,每次取出队首元 ...
分类:
其他好文 时间:
2020-03-16 21:48:42
阅读次数:
75
题目链接 注意到每种冰激凌在树上的结点是连通的。如果整棵树是一条链的话,那么问题就转化成了经典的一维区间染色问题。 所以我们要考虑如何把链上的情况推广到树上的情况。 一开始我想把欧拉序转换成区间来做,然而发现并不可行,因为一颗连续的子树可能会形成许多个连续的区间,需要另辟蹊径。 任选一个结点作为树根 ...
分类:
其他好文 时间:
2020-03-16 15:09:56
阅读次数:
62
给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 出发。 说明: 如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如 ...
分类:
其他好文 时间:
2020-03-16 15:08:46
阅读次数:
75