小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过 250250 立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样
原创
2021-07-15 11:18:30
139阅读
在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nnn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币。但是这个游戏比较坑,里面竟然有负数,表示你要支付多少蒜币。因为这些数字都是可见的,所以大家都是不会出现的赔的情况。
游戏规则:每人只能抓一次,只能抓取一段连续的纸团,所有纸团上的数字和就是你可以获得的蒜币。
蒜头君作为蒜厂的一员在想,我怎么可以获得最多的蒜币呢?最多能获取多少蒜币呢?
因为...
原创
2022-02-03 14:07:48
89阅读
在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nnn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币。但是这个游戏比较坑,里面竟然有负数,表示你要支付多少蒜币。因为这些数字都是可见的,所以大家都是不会出现的赔的情况。游戏规则:每人只能抓一次,只能抓取一段连续的纸团,所有纸团上的数字和就是你可以获得的蒜币。蒜头君作为蒜厂的一员在想,我怎么可以获得最多的蒜币呢?最多能获取多少蒜币呢?因为...
原创
2021-08-27 14:27:18
153阅读
https://nanti.jisuanke.com/t/31459逆向考虑 对于每个矩形的右上顶点(xi,yi) 查一下y=yi这条直线上最大的x值 若小于xi 则答案加上这个差值 x=xi亦然主要是因为逆向考虑有一个等效替代的过程 画图模拟一下即可#include <bits/stdc++.h>using namespace std;#define ll long long
原创
2022-06-16 00:45:39
137阅读
题目地址:https://nanti.jisuanke.com/t/20AC代码:import java.util.Arrays;import java.util.Scanner;public classtem.in)
原创
2022-08-04 13:06:00
121阅读
https://nanti.jisuanke.com/t/16497题目描述一条长为L路,上有N个公共座椅(忽略长度),现在在路上要修路灯,每个路灯覆盖的长度为l,为了让所有座椅都被路灯覆盖到最少需要多少路灯?输入描述第一行为三个正整数L(#includeusing ...
转载
2018-11-16 12:34:00
167阅读
2评论
题目链接 本来想把题目粘贴过来,但是格式不好,就不弄过来了。 典型的贪心,注意的贪心
原创
2022-09-07 16:36:37
177阅读
问题描述蒜厂有一个 h×w 的矩形公告板,其中 h 是高度,w 是宽度。 现在有若干张 1×Wi 的公告, Wi 是宽度,公告只能横着放,即高度为 1 的边垂直于水平面,且不能互相有重叠,每张公告都要求尽可能的放在最上面的合法的位置上。 若可以放置,输出每块可放置的位置的行号;若不存在,输出 −1。行号由上至下分别为 1,2,…,h。 输入格式 第一行三个整数 h,w,n (1≤h,w≤10^9;
转载
2023-07-07 23:59:26
212阅读
一、内容二、思路由于数字太大,每次不好直接乘以或除以某个数。所以考虑用线段树保存每个点的值,初始每个点都是1,然后若输入 1 5,边把这个点变成5,若输入的是2 1,便把1这个点变成1。最后查询就是所有点的乘积就是,每次个区间保存的都是区间内所有数的乘积。三、代码import java.io.PrintWriter;import java.util.Scanner;publi...
原创
2022-02-03 11:08:27
78阅读
一、内容二、思路由于数字太大,每次不好直接乘以或除以某个数。所以考虑用线段树保存每个点的值,初始每个点都是1,然后若输入 1 5,边把这个点变成5,若输入的是2 1,便把1这个点变成1。最后查询就是所有点的乘积就是,每次个区间保存的都是区间内所有数的乘积。三、代码import java.io.PrintWriter;import java.util.Scanner;publi...
原创
2021-08-27 14:25:49
249阅读
一、内容二、思路由于输入的坐标(x,y)是按照先按Y排序,再按X排序,所以Y大的一定是后面输入,在Y(相同高度的情况下),x小的一定先输入。所以我们维护1-n区间的棋子数,判断某个棋子(X,Y)它左下方棋子的数量就等于1-x这个区间所保存的值,然后进行树状数组的更新。将当前的棋子更新进去,更新的点就是X点。由于x,y可能等于0,那么更新的时候就会陷入死循环,因为0的lowbit ==...
原创
2021-08-27 14:29:15
184阅读
https://nanti.jisuanke.com/t/18给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。请确认你是否能够跳跃到数组的最后一个下标。例如:A=[2,3,1,1,4]A = [2,3,1,1...
转载
2018-11-15 17:19:00
89阅读
2评论
https://nanti.jisuanke.com/t/77晓萌这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:晓萌填数时有一个要求:不能存在位于不同层的两个相邻的1(这里的相邻指...
转载
2018-11-19 12:55:00
120阅读
2评论
一、内容二、思路线段树的水题,但需要注意的是我们的区间有多大。题目给了一个h和n块板子,所以我们只需要在h 和 n中取一个最小值就是区间的大小了,因为每块板子高度是1,若h > n,那么区间取【1,n】就够了,因为每块板只放一行都只能放n行。我们用c[] 数组来保存某个区间的最大剩余值的下标,这样我们查询那行能够放下这块板子,如果左边的区间能够放下这块板子,那么就往左边递归,反之则...
原创
2022-02-03 11:27:24
69阅读
题目传送门 线段树区间合并 一个区间存该区间最长的连续正面朝上的硬币情况和最长的连续反面朝上的硬币情况,如果这个区间全部翻转,交换该区间的这两种情况即可,其他的细节处理就是线段树的区间合并了,延迟标记不要丢掉了 具体看代码吧,感觉写的有点乱,也不想改了#include<bits/stdc++.h>using namespace std;#define lson rt<&
原创
2022-11-09 18:40:09
104阅读
点击打开链接看下右边的代码,就知道这是一道交换数值的题目了。确实,开始看起来,这道题目出得比较2。但是我相信你在学习c和c++的时候对指针、引用的了解总会有一些误区的。右边的代码写了5个小函数,目的是交换两个数。麻烦你去主函数里面,把不能交换的代码注释掉。比如说,你觉得swap3这个函数不能交换,那么请你注释掉这一行和他下面的那一行代码。直到你觉得剩下的代码都可以实
原创
2022-09-07 16:35:59
154阅读
Function!fa(x)=ax(a>0, a≠1)f_a(x) = a ^ x(a > 0, \ a \neq 1)fa(x)=ax(a>0, a=1),我们要求∑a=2n(a∑b=an⌊fa−1(b)⌋⌈fb−1(a)⌉)\sum\limits_{a = 2} ^{n} \left(a \sum\limits_{b = a} ^{n} \lfloor f_a ^{-1}(b) \rfloor \lceil f_b ^{-1}(a) \rceil \ri
原创
2021-08-26 16:36:53
105阅读
给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。请确认你是否能够
原创
2023-12-18 10:01:10
79阅读
https://nanti.jisuanke.com/t/38228单调栈找出每个数的单调区间[ lef[i], rgt[i] ]如果ary[i]>0 在[ lef[i]-1, i-1 ]内找一最小前缀和 在[ i,rgt[i] ]内找一最大前缀和如果ary[i]<0(这个情况一开始居然忽略掉了 太傻吊) 在[ lef[i]-1, i-1 ]内找一最大前缀和
原创
2022-06-16 00:01:37
121阅读
https://nanti.jisuanke.com/t/31462题目说两点之间路径唯一 那就是一棵树 又因为树的补图权值之和要最小 那其实就是求一个最大生成树然后每次查询求个lca即可#include <bits/stdc++.h>using namespace std;#define ll long longstruct node1{ int u; int v
原创
2022-06-16 00:46:20
65阅读