首页 > TAG信息列表 > piles

数学-石子游戏系列

877. 石子游戏 问题描述 Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子,排成一行;每堆都有 正 整数颗石子,数目为 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的 总数 是 奇数 ,所以没有平局。 Alice 和 Bob 轮流进行,Alice 先开始 。 每回合,玩家从行的 开始 或 结束

875. 爱吃香蕉的珂珂 (二分应用)

  labuladong 题解思路 难度中等418收藏分享切换为英文接收动态反馈 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。

agc002 E - Candy Piles

题意: n 堆石子,两个人轮流操作,每次操作可以拿完最多的一堆或者每堆拿一个。拿走最后一个石子的人输 \(n\le 1e5,a_i\le 1e9\) 思路: 把 \(a[]\) 从大到小排序。转化一下题中的操作:拿完最多的一堆就是删除最左的那列,就是往右走一步;每堆拿一个就是删除最下的那行,就是往上走一步。画图

LeetCode No875. 爱吃香蕉的珂珂

题目 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉

LeetCode-875. 爱吃香蕉的珂珂

875. 爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不

【875. 爱吃香蕉的珂珂】二分查找

class Solution { public int minEatingSpeed(int[] piles, int h) { int ans = 0; int low = 1; int high = 1000000001; while(low<high){ int mid = ( low +high)/2; if(check(piles,mid,h)){

875. 爱吃香蕉的珂珂

/** @author: 施龙青 @description 875. 爱吃香蕉的珂珂 @date: 2022/6/7 1:24 */ public class Main001 { //测试 public static void main(String[] args) { Main001 main001 = new Main001(); int[] a = new int[]{30, 11, 23, 4, 20}; System.out.println(main001.minEa

2022-4-20 二分查找

354. 俄罗斯套娃信封问题 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算 最多能有多少个 信封能组成一组

[AGC002E] Candy Piles 题解

Tag 博弈。 Description 给定 \(n\) 堆分别为 \(a_i\) 的物品,每一次可以取所有堆的物品一个或者取掉最大的一个物品。如果一个人把所有的物品都取完他就输了。 求出先手必胜还是后手必胜。 \(\texttt{data range:} n\leq 10^5, a_i\leq 10^9\). Solution 将物品从大到小排序之后不

【leetcode】875. Koko Eating Bananas

Koko loves to eat bananas. There are n piles of bananas, the ith pile has piles[i] bananas. The guards have gone and will come back in h hours. Koko can decide her bananas-per-hour eating speed of k. Each hour, she chooses some pile of bananas and ea

2021-12-27数组链表day4

二分搜索运用 题1: 1011. 在 D 天内送达包裹的能力labuladong 题解思路 传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船

【中等】爱吃香蕉的珂珂(抽象二分问题)

明确题目,要求在h小时内吃的最多,用时最长 根据题意可以知道:珂珂吃香蕉的速度越小,耗时越多。反之,速度越大,耗时越少,这就抽象成一个函数,x轴是吃香蕉的速度,y轴是吃香蕉的时间,可以知道这是一条随着x增加,y减小的递减函数图像;我们要找的是速度。因为题目限制了珂珂一个小时之内只能

剑指offer73:狒狒吃香蕉

题目: 狒狒喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 狒狒可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更 多的

AGC-002E Candy Piles 画图博弈转化

AGC-002E Candy Piles 画图博弈转化 题意 给定数组\(a\),每个人轮流操作,每次可以进行两种操作 对数组所有非零元素-1 将最大元素变为0 直到无法操作游戏结束,最后一次操作的人输 分析 考虑到操作与数的位置无关,考虑把数组排序 每次操作不会改变排序后的大小关系,画成图就是不会改

leetcode第875题爱吃香蕉的珂珂

leetcode第875题爱吃香蕉的珂珂 看了一早晨的帖子,简单的总结一下吧!别真就给忘了 二分的框架主要就是有三种,第一种找目标值,第二种找左值,第三种,找右值,每个都有自己的代码框架,但是也都是大同小异 二分right = nums.lengthright = nums.length - 1找左值左闭右开 收紧右

leetcode 1962. 移除石子使总数最小

题目描述: 给你一个整数数组 piles ,数组 下标从 0 开始 ,其中 piles[i] 表示第 i 堆石子中的石子数量。另给你一个整数 k ,请你执行下述操作 恰好 k 次: 选出任一石子堆 piles[i] ,并从中 移除 floor(piles[i] / 2) 颗石子。 注意:你可以对 同一堆 石子多次执行此操作。 返回执行 k

二分法找适当最小值问题

   有一点对数组的用法与Math方法取整用法记录一下吧 class Solution { public int minEatingSpeed(int[] piles, int h) { int left =0; int right = Arrays.stream(piles).max().getAsInt(); while(left < right){ int mid = (left

[LeetCode] 1140. Stone Game II 石子游戏之二

Alice and Bob continue their games with piles of stones.  There are a number of piles arranged in a row, and each pile has a positive integer number of stones piles[i].  The objective of the game is to end with the most stones. Alice and Bob take tur

877. 石子游戏

题目来源:877. 石子游戏 亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这

[ AGC002 E ] Candy Piles

题目 Atcoder 思路 代码 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 100010; int n, m, a[N]; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1, a +

动态规划系列(四)——俩海盗博弈问题

本⽂就借⽯头游戏来讲讲「假设两 个⼈都⾜够聪明,最后谁会获胜」这⼀类问题该如何⽤动态规划算法解决。 博弈类问题的套路都差不多,下⽂举例讲解,其核⼼思路是在⼆维 dp 的基 础上使⽤元组分别存储两个⼈的博弈结果。掌握了这个技巧以后,别⼈再问 你什么俩海盗分宝⽯,俩⼈拿硬币的问题,

Candy Piles

显然将 \(a\) 降序排序后,然后依次放到坐标系中,每次操作相当于把 \(x,y\) 轴之一往上或右平移一个单位 考虑构造一种后手必胜的方案 后手可以把路线控制在 \(y = x\) 上,然后走到一个端点,此时轮到先手 设还可以向上走 \(b\),向右走 \(c\) 若 \(b,c\) 均为偶数则后手必胜 考虑证明剩

875. 爱吃香蕉的珂珂

875. 爱吃香蕉的珂珂 题目链接:875. 爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆

1753. Maximum Score From Removing Stones

package LeetCode_1753 /** * 1753. Maximum Score From Removing Stones * https://leetcode.com/problems/maximum-score-from-removing-stones/ * You are playing a solitaire game with three piles of stones of sizes a​​​​​​, b,​​​​​​ and c​​​​​

LeetCode 877 - Stone Game (Medium)

Alex and Lee play a game with piles of stones.  There are an even number of piles arranged in a row, and each pile has a positive integer number of stones piles[i]. The objective of the game is to end with the most stones.  The total number of stones is