随笔分类 - 算法
摘要:1 dp 2 二分 3 index tree 题目描述给出一个列表如[[6,7,],[5,4],[3,2]],表示木块的长和宽,当木块的长和宽不大于另个木块的长和宽时,就可以放在上面,此外数组还可以左右翻转。求最多能搭多少层。 输入描述一个二维数组,里面是每个积木的长和宽,可以左右翻转。 输出描述最
阅读全文
摘要:6 9 2 4 11 3 5 13 4 6 3 5 6 4 2 3 6 4 5 7 1 2 1 3 4 9 1 3 2 // 输出 19 package com.company; import java.io.FileInputStream; import java.text.CollationKe
阅读全文
摘要:package com.company.algorithm.A20211126; public class Structure { // 先进先出 队列 private static class Q { int head; int tail; int[] data = new int[101]; }
阅读全文
摘要:桶排序 冒泡排序 快速排序 package com.company.algorithm.A20211126; import java.io.FileInputStream; import java.util.Arrays; import java.util.Scanner; public class
阅读全文
摘要:题目描述 两个人数一样的监狱,有一些囚犯不能在一起,两个监狱要等数量( < m/2)交换一些囚犯,问最多可以交换多少个囚犯; 题目思路 1. 将不能在一起的囚犯看作是两个有关系的点,求这个图中有多少个块(连通分量), 每个块中 在1号监狱的人数,在2号监狱的人数 记录下来 2. 想要监狱人数相等 从
阅读全文
摘要:没有上司的舞会 1. 树形结构2. 层级之间有关联 5 3 4 1 2 6 7 5去 = 3和4不去的最大值5不去 = 3和4 不去的最大值, 3和4去的最大值 3去 = 1和2不去的值3不去 = 1和2去,1和2不去的最大值 。。。 import java.io.BufferedReader; i
阅读全文
摘要:public class Zifutiuan { public static void main(String[] args) throws Exception { //System.setIn(new FileInputStream("D:\\data.txt")); Scanner sc = n
阅读全文
摘要:LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 ———来自百度百科 暴力算法 以 1717 和 1818 为例,既然要求LCA,那么我们就让他们一个一个向上爬~~(我要一步一步往上爬 —— 《蜗牛》)~~,直到相遇为止。第
阅读全文
摘要:https://leetcode-cn.com/problems/edit-distance/ dp[i][j] j i h o r s er 1 2 2 3 4o 2 1 2 3 4s 3 2 2 2 3 if(char(i) == char2(j))dp[i][j] = dp[i-1][j-1]
阅读全文
摘要:分类dp 乘积最大子数组https://leetcode-cn.com/problems/maximum-product-subarray 思路:暴力原始 三层循环 1层循环开始 2层循环结束 3层循环区间和 二层循环 1层循环开始,2层循环以一层循环+1开始循环到结束 一层循环 num = [2,
阅读全文
摘要:https://leetcode-cn.com/problems/dungeon-game/comments/ 求从左上角到右下角至少需要的体力值,网格中加号减号,就是健康值。中通不允许为0 或者更小 -2 -3 3 -5 -10 1 10 30 -5 到终点至少要有1个体力值,我们可以反向dp推导
阅读全文
摘要:import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class VjudgeTPOJ1080 { public static void ma
阅读全文
摘要:传统思路如下 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; import java.util.StringTokenizer; public class Main
阅读全文
摘要:package pro.算法定向练习.数据结构; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Stack_1750 {
阅读全文
摘要:package pro.算法定向练习.数据结构; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Stack_P1044 {
阅读全文
摘要:来一道简单的递归 题目如下: 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙
阅读全文
摘要:原理 松弛 每次松弛操作实际上是对相邻节点的访问,第 次松弛操作保证了所有深度为n的路径最短。由于图的最短路径最长不会经过超过 条边,所以可知贝尔曼-福特算法所得为最短路径。 负边权操作 与迪科斯彻算法不同的是,迪科斯彻算法的基本操作“拓展”是在深度上寻路,而“松弛”操作则是在广度上寻路,这就确定了
阅读全文
摘要:求职 时限: 5000MS 内存限制: 65536K 提交总数: 15100 接受的: 3387 描述 狗被他的公司解雇了。为了养家糊口,他必须尽快找到新工作。如今,很难找到工作,因为失业人数在不断增加。因此,一些公司经常对他们的招聘使用严格的测试。 测试是这样的:从源城市开始,您可能会通过一些有向
阅读全文