数据结构
数据结构
DMDMCAR
这个作者很懒,什么都没留下…
展开
-
电话聊天狂人Java
编程语言:Java题目:题解:不超时需要用技巧。结果:ACimport java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new OutputSt原创 2022-05-10 22:03:10 · 351 阅读 · 0 评论 -
关键活动Java
编程语言:Java题目:题解:见注释结果:ACimport java.io.*;import java.util.*;import java.util.concurrent.LinkedBlockingQueue;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static Pr原创 2022-05-10 21:17:23 · 338 阅读 · 0 评论 -
How Long Does It Take
编程语言:Java题目:题解:拓扑排序结果:ACimport java.io.*;import java.util.*;import java.util.concurrent.LinkedBlockingQueue;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static P原创 2022-05-05 15:41:49 · 225 阅读 · 0 评论 -
公路村村通
编程语言:Java题目:题解:最后输出的代码段感觉可以优化,写的有点繁琐。结果:ACimport java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWrite原创 2022-05-05 15:08:14 · 111 阅读 · 0 评论 -
旅游规划 Java
编程语言:Java题目:题解:水题结果:ACimport java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new OutputStreamWr原创 2022-04-25 15:45:48 · 263 阅读 · 0 评论 -
Saving James Bond - Hard Version
编程语言:Java题目:题解:路径还原罢了,每次跳到下一个点的时候记录一下就可以了,还以为能一次过,结果竟然可以一次跳到岸上(咱们强大的詹姆斯·邦德~~),也不想去优化程序了,直接一个外部条件判断解决;一个参数的distance是第一次跳的距离,后面的是判断两点之间的距离;此外,题目还有一个要求,在有很多最短路径的时候选择第一条最短的,解决方法就是按到岸的距离的远近来排序,这样还可以提前结束循环(到岸的距离太长了,一次跳不上去,那后面的也跳不上去了呀);最后这道题用Scanner也不会超时的。结果:原创 2022-04-25 15:03:13 · 537 阅读 · 0 评论 -
哈利·波特的考试
编程语言:Java题目:题解:背模板(虽然我是照着打的),AC的背后藏着StreamTokenizer读取数据,不然等着TL吧!结果:ACFloyd 算法:import java.io.*;import java.util.Arrays;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputSt原创 2022-04-25 14:09:15 · 91 阅读 · 0 评论 -
六度空间 Java
编程语言:Java题目:题解:这这这不是为难人嘛,测试点5是最大N&最大M,那这样邻接矩阵就是最好的选择,然而呢还是超内存,不知道咋写能不超,希望有人能补充。结果:PAC(测试点5 ML)邻接链表写法:import java.io.*;import java.util.Arrays;import java.util.LinkedList;import java.util.Scanner;import java.util.concurrent.LinkedBlockingQueue原创 2022-04-24 16:03:20 · 761 阅读 · 0 评论 -
Saving James Bond - Easy Version
编程语言:Java题目:题解:写着写着一遍过了。结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new O原创 2022-04-24 15:22:29 · 384 阅读 · 0 评论 -
列出连通集
编程语言:Java题目:题解:水题结果:ACimport java.io.*;import java.util.*;import java.util.concurrent.LinkedBlockingQueue;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static Pri原创 2022-04-18 14:31:23 · 263 阅读 · 0 评论 -
Huffman Codes
编程语言:Java题目:题解:超时了一个极端的测试点,完全可以为其写一个特殊的处理过程,但是我看了一下其他c++写的程序,好像没有处理也过了,于是不想写了。(不是我的错~)结果:PAC(测试点3 TL)import java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReade原创 2022-04-18 14:13:48 · 321 阅读 · 0 评论 -
File Transfer
编程语言:Java题目:题解:并查集,要使用StreamTokenizer,不然会超时,另外要注意,find函数返回的值即可理解为下标也可理解为该下标指向的值(废话),但是不弄清楚的话,会很容易出问题的结果:ACimport java.io.*;import java.util.LinkedHashSet;import java.util.Scanner;import java.util.Set;public class Main { static StreamTokenizer原创 2022-04-17 20:06:44 · 154 阅读 · 0 评论 -
堆中的路径
编程语言:Java题目:题解:为了计算方便,将下标为1定义为根结点,要不然调整小根堆的时候要麻烦一点结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter o原创 2022-04-17 19:23:01 · 142 阅读 · 0 评论 -
Complete Binary Search Tree
编程语言:Java题目:题解:题目一共就两个条件:完全二叉树和二叉排序树。二叉排序树可以通过数组排序一步解决;完全二叉树就求根结点相对于两边的偏移即可,本人写的代码中是相对于左边界限进行偏移,其实也可以相对于右边界限进行偏移(当最后一层大于该层的一半时,就将大于的结点都加到右子树里去,反之就加0即可。)结果:ACimport java.io.*;import java.util.Arrays;import java.util.Scanner;public class Main { s原创 2022-04-16 19:51:12 · 573 阅读 · 0 评论 -
Maximum Subsequence Sum
编程语言:Java题目:题解:这里选择了先存储再处理,结果值更新的同时也要更新下标结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new原创 2022-04-14 16:41:09 · 51 阅读 · 0 评论 -
最大子列和问题
编程语言:Java题目:题解:边处理便输入结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new Outp原创 2022-04-14 16:37:04 · 62 阅读 · 0 评论 -
排序算法:下(Java)
计数排序代码:public class 计数排序 { public static void main(String[] args) { int[] a = {32, 567, 42, 321, 1, 2, 3, 5, 42, 62, 4, 2, 312, 4, 1, 5, 213, 5, 3, 5, 42, 321, 423, 21}; countSort(a); for (int i : a) { System.out.p原创 2022-03-05 11:20:30 · 324 阅读 · 0 评论 -
排序算法:上(Java)
插入排序public class 插入排序 { public static void main(String[] args) { int[] a={32,567,42,321,1,2,3,5,42,62,4,2,312,4,1,5,213,5,3,5,42,321,423,21}; insertionSort(a); for (int i : a) { System.out.print(i+" "); }原创 2022-03-04 21:04:24 · 410 阅读 · 0 评论 -
Reversing Linked List
编程语言:Java题目:题解:纯模拟,没有利用链表来做题,所以速度会有点慢,太菜了 /(ㄒoㄒ)/~~。(这道题数据还是挺水的,最开始我以为只翻转前k个结点,结果19分,后来看到测试点2是K!=N但是能够全反转才反应过来。)结果:PAC(测试点5 TL)import java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new Buf原创 2022-04-12 21:58:01 · 217 阅读 · 0 评论 -
树的同构 Java
编程语言:Java题目:题解:终于写出来了,成就感满满,解释见注解。结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWr原创 2022-04-13 14:55:39 · 103 阅读 · 0 评论 -
Tree Traversals Again
编程语言:Java题目:题解:大部分解释都在注释中,要提一下,null用两个值来表示,-1表示该结点还未处理过,0表示该结点已经处理过了。结果:ACimport java.io.*;import java.util.Deque;import java.util.LinkedList;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new Buf原创 2022-04-13 18:11:15 · 75 阅读 · 0 评论 -
是否同一棵二叉搜索树
编程语言:Java题目:题解:把所有插入序列都还原成二叉树,再一个一个对比。结果:ACimport java.io.*;import java.util.Arrays;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static原创 2022-04-14 11:41:21 · 426 阅读 · 0 评论 -
List Leaves
编程语言:Java题目:题解:简单,一次AC。结果:ACimport java.io.*;import java.util.Scanner;import java.util.concurrent.LinkedBlockingQueue;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));原创 2022-04-13 15:18:48 · 89 阅读 · 0 评论 -
Pop Sequence
编程语言:Java题目:题解:自己最开始的做法是进一个数,就必须要根据这个数做出一定的调整,结果写了70.80行代码还是没办法得满分,就开始作csdn工程师,看到了一个很赞的解法。解法思路大概就是如果当前的数没办法处理,那就是该数还在后面,还需要继续往栈里面压数,当碰到能处理的数时,又需要一股脑地把所有能出栈的数出了,代码中的 l 变量表示需要出栈的数的下标。结果:AC参考:参考链接import java.io.*;import java.util.Deque;import java.uti原创 2022-04-13 11:40:11 · 483 阅读 · 0 评论 -
一元多项式的乘法与加法运算
编程语言:Java题目:题解:见注解,思路简单,实现较难。结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(n原创 2022-04-12 20:48:31 · 102 阅读 · 0 评论 -
Root of AVL Tree
编程语言:Java题目:题解:较为简单。结果:ACimport java.io.*;import java.util.Scanner;public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new Output原创 2022-04-14 13:38:00 · 98 阅读 · 0 评论