自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 第四章高级数据结构(七)

AC自动机例题:搜索关键词输入样例:15shehesayshrheryasherhs输出样例:3——————————————————————————————————————————————————————【RE】了import java.util.Arrays;import java.util.Scanner;public class Main { static int N = 10010; static int S = 55; static i

2020-05-31 16:30:14 205

原创 第四章高级数据结构(六)

平衡树253. 普通平衡树输入样例:81 101 201 303 204 22 105 256 -1输出样例:2202020——————————————————————————————————————————————————————【未完】import java.io.*;public class Main { static int N = 100010; static int INF = (int)1e8; static int n;

2020-05-31 15:30:03 260

原创 第四章高级数据结构(五)

可持久化数据结构256. 最大异或和给定的简单样例都要2800ms…Java过不了了import java.io.*;public class Main { static int N = 600010; static int M = N * 25; static int n; static int m; static int[] s = new int[N]; static int[][] tr = new int[M][2]; stati

2020-05-31 15:04:41 187

原创 第四章高级数据结构(四)

线段树懒标记和扫描线法243. 一个简单的整数问题2import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { static int N = 100010; static int n, m; static int[] w = new int[N]; static Node[] tr = new Node

2020-05-31 13:10:23 209

原创 第四章高级数据结构(三)

线段树例题:最大数【输入样例】10 100A 97Q 1Q 1A 17Q 2A 63Q 1Q 1Q 3A 99【输出样例】979797606097【提示】样例说明最后的序列是 97,14,60,96。数据范围与提示:对于全部数据,1≤m≤2×105,1≤p≤2×109,0≤t<p。————————————————————————————————————————————————————...

2020-05-31 11:18:31 189

原创 第四章高级数据结构(二)

树状数组例题:241. 楼兰图腾import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Main { static int N = 200010; static int n; static int[] a = new int[N];//原数组 static int[

2020-05-30 16:51:08 177

原创 第四章高级数据结构(一)

并查集例题:格子游戏【输入样例】3 51 1 D1 1 R1 2 D2 1 R2 2 D【输出样例】4————————————————————————————————————————————————————import java.util.Scanner;public class Main { static int N = 40010; static int n; static int m; static int[] p = new int[N]

2020-05-30 14:27:14 124

原创 第三章图论(十四)

拓扑排序例题:家谱树【题目描述】有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的后辈都比那个人后列出。【输入】第1行一个整数N(1≤N≤100),表示家族的人数;接下来N行,第I行描述第I个人的儿子;每行最后是0表示描述完毕。【输出】输出一个序列,使得每个人的后辈都比那个人后列出;如果有多解输出任意一解。【输入样例】504 5 1 01 05 3 03 0【输出样例】2 4 5 3 1——————————

2020-05-30 13:15:55 192

原创 第三章图论(十三)

欧拉回路和欧拉路径例题:铲雪车【题目描述】随着白天越来越短夜晚越来越长,我们不得不考虑铲雪问题了。整个城市所有的道路都是双车道,因为城市预算的削减,整个城市只有1辆铲雪车。铲雪车只能把它开过的地方(车道)的雪铲干净,无论哪儿有雪,铲雪车都得从停放的地方出发,游历整个城市的街道。现在的问题是:最少要花多少时间去铲掉所有道路上的雪呢?【输入】输入数据的第1行表示铲雪车的停放坐标(x,y),x,y为整数,单位为米。下面最多有100行,每行给出了一条街道的起点坐标和终点坐标,所有街道都是笔直的,且都是双向

2020-05-29 14:05:39 301

原创 第三章图论(十二)

二分图例题:257. 关押罪犯怨气值数据范围是1~109,暗示着我们用二分,为了让监狱内部的怨气值越小,则需要尽量把怨气值大的罪犯分开check(x):表示将任意怨气值大于 x 的两名罪犯放在两个监狱,且两个监狱内部的最大怨气值均不超过 x ,符合返回 true,符合返回 falsecheck(x) 函数的实现,验证该图中是否为一个二分图,即监狱内部怨气值小于 x 的边均去掉,用染色法验证注意:两个罪犯的怨气值最小的情况下是 1,若监狱内部发生冲突事件怨气值的最大值一定大于等于 1,而本年内

2020-05-29 12:30:14 302

原创 第三章图论(十一)

无向图的双连通分量例题:395. 冗余路径import java.util.Arrays;import java.util.Scanner;public class Main { static int N = 5010; static int M = 20010; static int n; static int m; static int[] h = new int[N]; static int[] e = new int[M]; sta

2020-05-29 11:54:05 222

原创 第三章图论(十)

有向图的强联通分量例题:受欢迎的牛【题目描述】原题来自:USACO 2003 Fall每一头牛的愿望就是变成一头最受欢迎的牛。现在有 N 头牛,给你 M 对整数 (A,B),表示牛 A 认为牛 B 受欢迎。这种关系是具有传递性的,如果 A 认为 B 受欢迎,B 认为 C 受欢迎,那么牛 A 也认为牛 C 受欢迎。你的任务是求出有多少头牛被除自己之外的所有牛认为是受欢迎的。【输入】第一行两个数 N,M;接下来 M 行,每行两个数 A,B,意思是 A 认为 B 是受欢迎的(给出的信息有可能重复,即

2020-05-29 10:19:19 229

原创 第三章图论(九)

最近共同祖先例题:祖孙询问【题目描述】已知一棵 n个节点的有根树。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y的祖孙关系。【输入】输入第一行包括一个整数 n表示节点个数;接下来 n行每行一对整数对 a 和 b 表示 a 和 b 之间有连边。如果 b 是 −1,那么 a就是树的根;第 n+2行是一个整数 m表示询问个数;接下来 m行,每行两个正整数 x 和 y,表示一个询问。【输出】对于每一个询问,若 x是 y 的祖先则输出 1,若 y 是 x 的祖先则输出

2020-05-28 19:50:21 363

原创 第三章图论(八)

差分约束例题:【SCOI2011】糖果【题目描述】幼儿园里有 N 个小朋友, lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候, lxhgww 需要满足小朋友们的 K 个要求。幼儿园的糖果总是有限的, lxhgww 想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。【输入】输入的第一行是两个整数 N , K 。接下来

2020-05-28 13:46:10 240

原创 第三章图论(七)

SPFA找负环例题:虫洞 Wormholes【输入样例】23 3 11 2 21 3 42 3 13 1 33 2 11 2 32 3 43 1 8【输出样例】NOYES【提示】数据范围:对于全部数据,1≤F≤5,1≤N≤500,1≤M≤2500,1≤W≤200,1≤S,E≤N,∣T∣≤104​ 。——————————————————————————————————————————————————————import java.util.Arrays;import

2020-05-28 12:09:50 277

原创 第三章图论(六)

最小生成树的扩展应用例题:新的开始【输入样例】454430 2 2 22 0 3 32 3 0 42 3 4 0【输出样例】9————————————————————————————————————————————————————...

2020-05-27 17:50:15 170

原创 第三章图论(五)

最小生成树例题:最短网络对称矩阵—无向边import java.util.Arrays;import java.util.Scanner;public class Main { static int INF = Integer.MAX_VALUE >> 1; static int N = 110; static int n; static int[][] w = new int[N][N]; static int[] dist= new in

2020-05-27 17:44:38 265

原创 第三章图论(四)

Floyd算法及其变形例题:牛的旅行【题目描述】农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径 ( 注意,恰好一条 )。对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区的距离 ( 本题中所提到的所有距离指的都是最短的距离 )。考虑如下的两个牧场,图1是有5个牧区的牧场,牧区用“*”表示,路径用直线表示。每一个牧区都有自己的坐标:图1所示的牧场的直径大约是12

2020-05-27 15:20:55 287

原创 第三章图论(三)

单源最短路的扩展应用例题:选择最佳路线(HDOJ2680)原题链接问题描述有一天,琪琪想拜访她的一位朋友。 由于她容易晕车,她想尽快到达朋友家。 现在给您一张城市交通路线图,以及琪琪家附近的车站,以便她乘坐。 Kiki可以在任何车站换公共汽车。 请找出琪琪需要花费的最少时间。 为方便起见,如果城市有n个公交车站,则车站将被表示为整数1,2,3…n。输入有多组测试用例。每组样例均以三个整数n,m和s开头,(n <1000,m <20000,1 = <s <= n)n代表该

2020-05-27 13:34:39 350

原创 第三章图论(二)

单源最短路的综合应用例题:新年好【题目描述】原题来自:CQOI 2005重庆城里有 n 个车站,m 条双向公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上花费的时间等于路径上所有公路需要的时间之和。佳佳的家在车站 1,他有五个亲戚,分别住在车站 a,b,c,d,e。过年了,他需要从自己的家出发,拜访每个亲戚(顺序任意),给他们送去节日的祝福。怎样走,才需要最少的时间?【输入】第一行:

2020-05-27 09:54:21 490

原创 第三章图论(一)

单元最短路的建图方式例题:热浪(heatwv)【题目描述】德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过T (1 ≤ T ≤ 2,500)个城镇,方便地标号為1到T。除了起点和

2020-05-26 16:55:03 285

原创 第二章搜索(六)

本节目录1.迭代加深2.双向DFS3.IDA*1.迭代加深例题:170. 加成序列摘自–“小呆呆”问题:在爆搜过程中,存在很多搜索深度很深的情况,而答案却在深度很浅的部分,如何避开搜索高深度,找到在浅深度的答案?这里引用的是迭代加深的搜索方法,通过限制搜索深度的方法,提高搜索效率具体限制方式:在搜索某一个高深度的过程中,当当前深度u 大于 限制深度depth时,则需要立即停止该方向的搜索在加成序列中,给定一个数n,通过1、2、4、8、16、32、64、128的方式可知只需要 logn 层

2020-05-26 13:22:47 233

原创 第二章搜索(五)

DFS之剪枝与优化例题:165. 小猫爬山dfs优化主要分成5类1、优化搜索顺序(大部分情况下,我们应该优先搜索分支较少的结点)2、排除等效冗余3、可行性剪枝4、最优性剪枝5、记忆化搜索依次遍历所有的猫,通过第u只猫往现有的k辆车中放,遍历所有情况第u只猫往第1辆车放第u只猫往第2辆车放…第u只猫往第k辆车放新开一辆车,第u只猫往第k + 1辆车放优化1、优先放重的猫(优化搜索顺序)2、当前猫u放进某辆车时,重量超出m,剪枝(可信行剪枝)3、新开车的数量k >= a

2020-05-26 11:31:45 166

原创 第二章搜索(四)

DFSDFS之连通性模型例题:迷宫输入:23.##..##..0 0 2 25.....###.#..#..###.....#.0 0 4 0—————————————————————————————————————————————————————import java.util.Arrays;import java.util.Scanner;public class Main { static int N = 110; static int n

2020-05-26 10:48:12 181

原创 第二章搜索(三)

双向广搜例题:190. 字串变换有错…import java.util.HashMap;import java.util.LinkedList;import java.util.Map;import java.util.Scanner;public class Main { static int N = 6; static int n; static String[] a = new String[N]; static String[] b = new St

2020-05-25 18:50:35 127

原创 第二章搜索(二)

多源BFS例题:173. 矩阵距离多源bfs问题将所有源点加入到队列,求出所有多源起点到所有点的最短距离import java.io.BufferedWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;

2020-05-25 15:25:17 171

原创 第二章搜索(一)

BFS—Flood Fill(洪水覆盖算法)BFS:求最小,最短,不会爆栈例题:池塘计数(POJ2386)【描述】由于最近的降雨,水在农民约翰的田里的不同地方汇集起来,这是一个N x M (1 <= N <= 100;1 <= M <= 100)的长方形。每个方块包含水(“W”)或陆地(“.”)。农夫约翰想要算出他的田地里已经形成了多少池塘。池塘是一组有水的方格,其中一个方格被认为与所有八个相邻的方格相邻。给出一个农民约翰的田地的图,确定他有多少池塘。【输入】*第1行:

2020-05-25 13:44:40 396

原创 第一章动态规划(十四)

斜率优化的DP例题:300. 任务安排1import java.util.Arrays;import java.util.Scanner;public class Main { static int N = 5010; static int INF = Integer.MAX_VALUE >> 1; static int n; static int s; static int[] sumt = new int[N]; static i

2020-05-24 18:06:00 190

原创 IDEA常用快捷键

常用快捷键:快捷键介绍输入 soutSystem.out.println();输入psvmmain方法Alt + /代码补全(这是自己设置的)CTRL+Y删除光标所在行 或 删除选中的行CTRL+Z撤销shift + enter将光标移到下一行Alt + EnterIntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同Alt + Insert代码自动生成,如生成对象的 set / ge

2020-05-24 17:07:20 66

原创 第一章动态规划(十三)

单调队列优化的DP例题:135. 最大子序和单调队列1、需要求某一个区间的连续子段和,因此需要用到前缀和s[ ]2、对于任意的 s[k] ,求以 k 结尾的区间长度不超过 m 的最大连续和,等价于求 s[k] - s[k-j],其中 1<= j <= m,因为 a[k] 是固定的,所以即要求 s[k-j]的最小值即可。(单调队列存的是下标)import java.util.Scanner;public class Main { static int N = 300010;

2020-05-24 12:44:13 498

原创 第一章动态规划(十二)

数位DP例题:1081.度的数量把

2020-05-23 12:05:04 2721

原创 第一章动态规划(十一)

树形DP例题:树的最长路径也叫做树的直径步骤:任取一点,找到距离该点最远的一个点 u。—BFS再找到距离 u 最远的一个点 v。—BFSu 和 v 之间的路径就是一条直径。我们将每个节点作为一个类,记录两条信息,一是以该节点为端点向下走的最长路径,也就是图中的 1,二是经过该端点的最长路径,也就是 1 + 2(1是最长距离,2是次长距离)。import java.util.Arrays;import java.util.Scanner;class Main{ static i

2020-05-22 10:52:54 393

原创 第一章动态规划(十)

区间DP例题:1068.环形石子合并类比 282.合并石子import java.util.Scanner;public class Main { static int INF = Integer.MAX_VALUE >> 1; static int N = 410;//开两倍 static int n; static int[] s = new int[N]; static int[] w = new int[N]; static int[][]

2020-05-20 12:29:48 195

原创 第一章动态规划(九)

状态压缩DP例题:1064.骑士————————————————————————————————————————————————————import java.util.ArrayList;import java.util.Scanner;public class Main { static int N = 55; static int M = 1 << 10; static int K = 110; static int n; static int m; stati

2020-05-19 20:08:06 156

原创 第一章动态规划(八)

状态机模型状态机:一系列有顺序的事件。比如买入、卖出作为有序的两个动作,构成了一个事件。例题:大盗阿福原题链接【题目描述】阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?【输入】输入的第一行是一个整数

2020-05-19 12:08:21 215

原创 第一章动态规划(七)

例题:货币系统原题链接【题目描述】给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案。【输入】第一行为n和m。【输出】一行,方案数。【输入样例】3 10 //3种面值组成面值为10的方案1 //面值12 //面值25 //面值5【输出样例】10 //有10种方案————————————————————————————————————————————————完全背包求方案数n

2020-05-18 12:35:55 253 1

原创 第一章动态规划(六)

例题:12. 背包问题求具体方案————————————————————————————————————————————————————摘自题解区–"T-SHLoRk "import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { static int N = 1010; static int[] v = new i

2020-05-17 19:50:48 235

原创 蓝桥杯--算法训练 猴子吃包子(java)

资源限制时间限制:1.0s 内存限制:256.0MB问题描述  从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。输入格式  输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。输出格式  输出一行,包含1个实数,表示吃完所有包子的时间。样例输入4 3 2 20 30

2020-05-16 21:42:05 272

原创 第一章动态规划(五)

背包模型8. 二维费用的背包问题——————————————————————————————————————————————————————import java.util.Scanner;public class Main { static int N = 110; static int n; static int V; static int M; static int[][] f = new int[N][N]; public st

2020-05-16 11:37:50 271

原创 第一章动态规划(四)

本节目录背包模型背包模型集合划分:若最后一步不同,则根据最后一步,否则根据倒数第二步例题:6. 多重背包问题 IIIimport java.util.Scanner;public class Main { static int N = 20010; static int n; static int m; static int[] f = new int[N]; static int[] g = new int[N]; static int[] q

2020-05-15 11:07:56 252

狂神springboot素材

狂神springboot素材

2022-06-11

狂神贪吃蛇小游戏图片素材

狂神贪吃蛇小游戏图片素材

2022-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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