补题链接:Here 算法涉及:DP + 离散化 \(l\) 的范围太大,无法作为数组下标,所以先离散化,再DP。两点间的距离d大于t时,一定可以由 \(d\ \%\ t\) 跳过来,所以最多只需要t+d%t种距离的状态就可以表示这两个石子之间的任意距离关系。这样就把题目中的 \(10^9\) 压缩成 ...
分类:
其他好文 时间:
2021-05-24 12:38:52
阅读次数:
0
https://leetcode-cn.com/problems/frog-jump/ 思路: 待补充 class Solution { private Boolean[][] rec; public boolean canCross(int[] stones) { int n = stones.l ...
分类:
其他好文 时间:
2021-04-30 12:33:41
阅读次数:
0
【JavaScript】Leetcode每日一题-青蛙过河 【题目描述】 一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。 给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能 ...
分类:
编程语言 时间:
2021-04-30 12:26:12
阅读次数:
0
因为数据太大,但数据量少,因此可以用map先建立映射关系 再用二维set,其中set[i]表示第i个石块所能跳的距离数组 二维vector会超时,set去重就可以了 然后遍历每个石块,并求出其所能到达石块 所能跳的距离 最后判断第n - 1个石块是否有能跳的步数即可 class Solution { ...
分类:
其他好文 时间:
2021-04-30 12:10:08
阅读次数:
0
昨天第一次做腾讯的笔试,第一题题目意思我实在理解不了,第二题挺简单的,第三题是经典的“渡河问题” 学习一下渡河问题 一队人(N个人)期望跨河,有一条船,一次只能载2个人,过河之后需要有一个人划回来,所有人才能够跨河,每个人划船速度都不同,两个人一组整体速度是由划船速度较慢的决定的。问题:确定一种策略 ...
分类:
其他好文 时间:
2021-04-07 11:00:05
阅读次数:
0
题目链接 题目大意 t组数据(t<=20) 给你n个人(n<=1000)过河,每个人都有权值,一条船,每次船最多运2个人,每次的花费为两个人的较大花费 求所有人都过河需要的最小花费 题目思路 经典的过河问题,记录一下 先将权值从小到大排序一下 每次运两个人显然有两种最优的方法 1:先运(a[1],a ...
分类:
其他好文 时间:
2020-11-26 14:14:53
阅读次数:
5
所谓年轻,就是意识不到自己的年轻 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; unsigned long long n,m; unsigned long ...
分类:
其他好文 时间:
2020-10-18 10:06:40
阅读次数:
20
401. 二进制手表 描述: 二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。 每个 LED 代表一个 0 或 1,最低位在右侧。 思路:递归回溯法。 402. 移掉K位数字 描述: 思路:维护一个栈。来一个数入栈,当栈顶元素大于准备进栈的, ...
分类:
其他好文 时间:
2020-07-11 22:37:37
阅读次数:
80
此题用滚动数组即可 #include <cstdio> #include <cstring> using namespace std; typedef unsigned long long ull; ull f[50][50]; int a[12] = {0, -1, -2, -2, -1, 1, ...
分类:
其他好文 时间:
2020-07-05 17:09:18
阅读次数:
61
贪心,我们设时间序列为 \(\{a_i\}\),长度为 \(n\)(先排序 \(\{a_i\}\))。 分类讨论(其中的「$1$」「$2$」等均指「速度第 $1$ 人」「速度第 $2$ 人」): 如果 \(n=2\),那么答案显然是 \(a_2\)。 如果 \(n=3\),那么答案模拟一下知道是 \ ...
分类:
其他好文 时间:
2020-07-05 00:44:09
阅读次数:
66