题意: n个石子堆排成一排,每次可以将连续的最少L堆,最多R堆石子合并在一起,消耗的代价为要合并的石子总数 求合并成1堆的最小代价,如果无法做到输出0、 分析: 关键在于二维数组无法通过枚举解决了,所以要多开一维,用三维数组来做。 表示的状态为从第 i 堆,到第 j 堆,合并为 x 堆,最小需要的代 ...
分类:
其他好文 时间:
2019-10-01 10:01:55
阅读次数:
93
"Pangu and Stones HihoCoder 1636" 题意 给你$n$堆石子,每次只能合成$x$堆石子$(x\in[L, R])$,问把所有石子合成一堆的最小花费。 思路 和合石子的那题很像,多加了的一个限制,所有我们可以想到要多开一维数组来计算。 $dp[i][j][x]:$表示区间 ...
分类:
其他好文 时间:
2019-09-21 23:35:09
阅读次数:
82
题意: 合并石子的升级版。一堆石子,编号为1到n,每堆石子有其权值,一次只能合并连续的石子L到R堆,每次合并的代价为各堆石子的权值,求最后一堆的最小代价,不能完成输出0。 思路: 考虑区间dp做法,因为这个题与堆数有关,dp中加入一维堆数。 dp[i[[j][p]表示石子从i到j合并成p堆的最小花费 ...
分类:
其他好文 时间:
2019-08-31 13:13:05
阅读次数:
84
#include <bits/stdc++.h> using namespace std; typedef long long ll; int v1[100001]; int v2[100001]; int s1[100001]; int s2[100001]; int main () { ios:... ...
分类:
其他好文 时间:
2019-08-31 10:34:27
阅读次数:
62
题目描述: 在二维平面上,我们将石头放置在一些整数坐标点上。每个坐标点上最多只能有一块石头。 现在,move 操作将会移除与网格上的某一块石头共享一列或一行的一块石头。 我们最多能执行多少次 move 操作? 示例 1: 输入:stones = [[0,0],[0,1],[1,0],[1,2],[2 ...
分类:
其他好文 时间:
2019-08-31 01:22:55
阅读次数:
202
原题链接在这里:https://leetcode.com/problems/stone-game-ii/ 题目: Alex and Lee continue their games with piles of stones. There are a number of piles arranged ...
分类:
其他好文 时间:
2019-08-30 14:33:11
阅读次数:
122
Divide the Stones 👉传送门 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Problem Description There are n stones numb ...
分类:
其他好文 时间:
2019-08-02 11:17:58
阅读次数:
100
题意:给你n和k (k|n) 有n个数 第i个数权值为i 要你求权值相同且分成k组 且每组的个数为n/k 思路:恶心构造题,首先对于总权值不能分为k份的 显然不能分成 然后 我们把n/k 分奇偶 我们可以发现 偶数我们可以每k个当成一组 对于奇数 我们可以先处理前3*k 然后同样处理剩下的数 ...
分类:
其他好文 时间:
2019-07-31 22:13:29
阅读次数:
151
class Solution { public int lastStoneWeight(int[] stones) { int len = stones.length; int i = len -1; int minus = 0; int remain = len; if(s... ...
分类:
其他好文 时间:
2019-07-31 19:02:23
阅读次数:
107
这是小川的第 386 次更新,第 414 篇原创 01 看题和准备 今天介绍的是 LeetCode 算法题中 Easy 级别的第 247 题(顺位题号是 1033 )。在 ,`b c`位置的数字线上有三块石头。每次,你在一个终点(即最低或最高位置的石头)上拾取一块石头,然后将它移动到这些终点之间的空 ...
分类:
移动开发 时间:
2019-07-18 09:33:55
阅读次数:
297