双指针,BFS和图论(三)】的更多相关文章

(一)图论 1.大臣的旅费 很久以前,T王国空前繁荣. 为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达. 同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的. J是T国重要大臣,他巡查于各大城市之间,体察民情. 所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情. 他有一个钱袋,用于存放往来城市间的路费. 聪明的J发现,如果不在…
(一)双指针 1.日志统计 小明维护着一个程序员论坛.现在他收集了一份”点赞”日志,日志共有 N 行. 其中每一行的格式是: ts id 表示在 ts 时刻编号 id 的帖子收到一个”赞”. 现在小明想统计有哪些帖子曾经是”热帖”. 如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热帖”. 具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K个赞,该帖就曾是”热帖”. 给定日志,请你帮助小明统计出所…
(一)BFS 1.地牢大师 你现在被困在一个三维地牢中,需要找到最快脱离的出路! 地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过. 向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟. 你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围. 请问,你有可能逃脱吗? 如果可以,需要多长时间? 输入格式 输入包含多组测试数据. 每组数据第一行包含三个整数 L,R,C 分别表示地牢层数,以及每一层地牢的行数和列数. 接下来是 L 个 R 行…
非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16071    Accepted Submission(s): 6488 Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要…
#include <bits/stdc++.h> using namespace std; int gra[1002][1005]; int vis[1002]; int n,m; void dfs(int x) { vis[x] = 1; for(int i = 1; i <= n ; i ++) { if(gra[x][i] == 1 && !vis[i]) { dfs(i); } } } int main() { while(~scanf("%d%d&qu…
图的存储 假设是n点m边的图: 邻接矩阵:很简单,但是遍历图的时间复杂度和空间复杂度都为n^2,不适合数据量大的情况 邻接表:略微复杂一丢丢,空间复杂度n+m,遍历图的时间复杂度为m,适用情况更广 前向星:静态链表,即用数组实现邻接表的功能.对于每个顶点,前向星存储的是该顶点的邻接边而非邻接点,head[maxn]存储的是顶点信息,edge[maxm]存储的是顶点对应的边的信息 struct Edge { int to;///某个顶点u的邻接点 int next;///顶点u的下一条邻接边的编号…
题目如下: A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you are supposed to find the root that results in a highest tree. Such a root is called the deepest root. Input Specificat…
Problem Description Last night, little erriyue had a horrible nightmare. He dreamed that he and his girl friend were trapped in a big maze separately. More terribly, there are two ghosts in the maze. They will kill the people. Now little erriyue want…
一.深度优先搜索(DFS) 1.Wikioi 1066引水入城 题目描写叙述 Description 在一个遥远的国度,一側是风景秀美的湖泊,还有一側则是漫无边际的沙漠.该国的行政 区划十分特殊,刚好构成一个N行M列的矩形,如上图所看到的,当中每一个格子都代表一座城 市,每座城市都有一个海拔高度. 为了使居民们都尽可能饮用到清澈的湖水,如今要在某些城市建造水利设施.水利设施 有两种,分别为蓄水厂和输水站.蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的 蓄水池中.因此,仅仅有与湖泊毗邻的第1行…
leetcode刷题之后,很多问题老是记忆不深刻,因此特意开此帖: 一.对做过题目的总结: 二.对一些方法精妙未能领会透彻的代码汇总,进行时常学习: 三.总结面试笔试常见题目,并讨论最优解法及各种解法的优劣: leetcode探索中级算法 1)排序相关   快排,归并,堆排,插入,选择   1.1)基础算法原理与实现:   十大排序算法:C++   1.2) 直接使用排序算法的题目: leetcode 628. 三个数的最大乘积 1.3)通过归并排序求逆序数: 微软面试题:求一个序列的逆序对数(…