题意:给N个点,还有另外m个点(当中仅仅能选K个).求最短路. 思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其它点了),若该点是m个点中的,则count[i]=原来的+1:若不是.则继承原来的.出队时候限制一下.若大于K了,就停止拓展. 原题:眼下在一个非常大的平面房间里有 n 个无线路由器,每一个无线路由器都 固定在某个点上.不论什么两个无线路由器仅仅要距离不超过 r 就能互相建立网 络连接. 除此以外.另有 m 个能够摆放无线路由器的位置.你能够在这些位置 中选择至多 k…
题意:给N个点,还有另外m个点(其中只能选K个),求最短路. 思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其他点了),若该点是m个点中的,则count[i]=原来的+1:若不是,则继承原来的.出队时候限制一下,若大于K了,就停止拓展. 原题:目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都 固定在某个点上.任何两个无线路由器只要距离不超过 r 就能互相建立网 络连接. 除此以外,另有 m 个可以摆放无线路由器的位置.你可以在这些位置 中选择至多 k 个增设新的…
题意 给定一个 $n$ 个整数的数列,从中至多选取 $k$ 个上升子序列(一个元素最多被选一次),使得选取的元素和最大. 分析 考虑这个问题和经典网络流问题“最长不下降子序列”相似,我们考虑对这个建图并用网络流解决.因为求得费用和,则使用费用流做法. 具体建图见代码,主要考虑拆点和建立超级源点和超级汇点. (然后SPFA版的会超时,换成Dijkstra版的 #include<bits/stdc++.h> using namespace std; #define il inline typede…
原题链接:[382. 链表随机节点]:https://leetcode-cn.com/problems/linked-list-random-node/ 题目描述: 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值.保证每个节点被选的概率一样. 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 示例: // 初始化一个单链表 [1,2,3]. ListNode head = new ListNode(1); head.next = new ListN…
暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,例如以下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道随意两个城市之前的最短路程. 上图中有4个城市8条公路,公路上的数字表示这条公路的长短.请注意这些公路是单向的. 我们如今须要求随意两个城市之间的最短路程,也就是求随意两个点之间的最短路径.这个问题这也被称为"多源最短路径"问题. 如今须要一个数据结构来存储图的信息,我们仍然能够用一个4*4的矩阵(二维数组e)来存储.比方1号城市到2号城市的路程为2,则…
以杭电2544题目为例 最短路 Problem Description 在每年的校赛里,全部进入决赛的同学都会获得一件非常美丽的t-shirt. 可是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的.所以如今他们想要寻找最短的从商店到赛场的路线.你能够帮助他们吗?   Input 输入包含多组数据. 每组数据第一行是两个整数N.M(N<=100.M<=10000).N表示成都的大街上有几个路口,标号为1的路口是商店所在地.标号为N的路口是赛场所在地,M则表示在成都有几条路.…
图论中一个经典问题就是求最短路.最为基础和最为经典的算法莫过于 Dijkstra 和 Floyd 算法,一个是贪心算法,一个是动态规划.这也是算法中的两大经典代表.用一个简单图在纸上一步一步演算,也是非常好理解的.理解透自己多默写几次就可以记住,机试时基本的工作往往就是高速构造邻接矩阵了. 对于平时的练习,一个非常厉害的 ACMer  @BenLin_BLY 说:"刷水题能够加快我们编程的速度,做经典则能够让我们触类旁通,初期假设遇见非常多编不出.最好还是就写伪代码,理思路.在纸上进行总体分析和…
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19349    Accepted Submission(s): 6763 Problem Description 尽管草儿是个路痴(就是在杭电待了一年多,竟然还会在校园里迷路的人,汗~),但是草儿仍然非常喜欢旅行,由于在旅途中 会遇见非常多人(白马王子,^0^),非常多事,…
Problem Description YL是shadow国的国王,shadow国有N个城市.为了节省开支,shadow国仅仅有N-1条道路,这N-1条道路使得N个城市连通. 某一年,shadow国发生了叛乱,叛军占据了多个城市,王都岌岌可危.王都为编号为1的城市,除了王都外有K个城市有YL的军队. 如今这K支军队要向王都进军,而且消灭沿途经过的城市中的叛军.现给出N个城市的道路情况以及城市的叛军数量,问总共须要消灭多少叛军?  Input 第一行输入两个整数N.K,接下来输入N(1<=N<=…
链接:http://poj.org/problem?id=2449 题意:告诉你有n个顶点,m条边.并把这些边的信息告诉你:起点.终点.权值.再告诉你s.t.k.需求出s到t的第k短路,没有则输出-1. 第K短路裸题,A*算法没接触过.參考了这篇博客:http://www.cnblogs.com/n-u-l-l/archive/2012/07/29/2614194.html 下面大体字摘自这篇博文,讲的非常清楚: 对于第k短路,能够想到的一个比較朴素的算法就是广度优先搜索,使用优先队列从源点s进…