03 2021 档案
摘要:藏宝图中标注了N个宝库的位置。这N个宝库连成了一条直线,每个宝库都有若干枚金币。X星人决定乘坐热气球去收集金币,热气球每次最多只能飞行M千米,此外,热气球最多只能启动K次。X星人带着热气球来到了第1个宝库(达到第1个宝库时热气球尚未启动),收集完第1个宝库的金币后将启动热气球前往下一个宝库。如果他决
阅读全文
摘要:交换一次或不交换一个字符串的两个字母,得到一个字典序最小的字符串(n<1e5) 思路:O(26×n)的做法,顺序遍历s,如果存在一个字符j在s[i]后面,且比s[i]要小的话,此时交换,得到的串的字典序最小 #include<bits/stdc++.h> using namespace std; i
阅读全文
摘要:有一个n*m的地图,每个格子的大小表示地板的高度,有一天下雨了,问这个地图有多少个水坑(n,m<100) 思路:从高到低向外流,能流出界的就不会被淹没 #include<bits/stdc++.h> using namespace std; const int N=105; int n, m; in
阅读全文
摘要:满减活动是指用户单次购买的商品价格总数达到一定数额门槛T 后,会在下单结算时直接给用户减免一定的金额y,如常见的满1000减100活动。(为简化问题,每次结算最多只能减一次,如 满1000减100活动,当满2000时,也只能减一次100) 。而用户为了优惠的最大化,一般都会尽量控制购买的商品金额累计
阅读全文
摘要:import java.util.*; import java.math.*; import java.io.*; class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(final int x) { val = x; }
阅读全文
摘要:给一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。 给你一个整数 extraStudents ,表示额外有 extraStudents 个学生一定 能通过任何班
阅读全文
摘要:给你一个图,每个点有自己的权值,现在就是说你可以选择任意一个点开始,然后你走的话,只能走到点权比当前小的点。问最多能走多少个点。 输入 5 4 3 2 3 4 6 1 2 2 3 3 4 4 5 输出 4 思路:选即可 #include<bits/stdc++.h> using namespace
阅读全文
摘要:给一棵树,每个点有权值,让选择点,要求选择不相邻的点,求使得权值最大,在使得权值最大的情况下,求选择的点中最小的权值最大是多少 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; vector<int> g[N]; int
阅读全文
摘要:疫情逐步缓和后,体育馆终于迎来了第一场篮球比赛,为了保持距离,篮球迷小杰选定某圈座位后,想尽量选择一个远离人群的位置。 已知由0和1组成的环形数组表示当前排的座位情况其中1表示已被选座,0表示空座请问小杰所选座位和最近人的座位距离数最大是多少?有如下假设:至少有一个人已选座,至少有一个空座位,定义:
阅读全文
摘要:已知圆环上均匀分布着n个开关,开关按下后,按下的开关和其相邻的开关状态会同时发生切换(1->0/0->1),给定各开关的初始状态,输出将开关全部置为1所需的最少操作数 输入 第一行输入为时,N表示圆环上的开关数量,第二行有N个数字,表示每个开关的状态x (顺时针),1< N ← 16, x为0或1
阅读全文
摘要:求出数组a中的n-k+1个大小为k的窗口中的众数,多个众数输出最小那个 思路:千万别用堆,太麻烦了。 n,k=map(int,input().split()) A=list(map(int,input().split())) l,r=0,0 cnt={} A=sorted(A) print(A) w
阅读全文
摘要:有26名骑手,分别以大写字母A-Z命名,有一组包裹流 s,请在不打乱流水线产出顺序的情况下,把这组包裹划分为尽可能多的片段,同一个骑手只会出现在其中的一个片段,返回一个表示每个包裹片段的长度的列表。 输入 MPMPCPMCMDEFEGDEHINHKLIN 输出 9 7 8(划分结果为MPMPCPMC
阅读全文
摘要:某个时刻A和B两地都向该公司提交了租车的订单,分别需要a和b辆汽车。通过北斗定位,可以得到所有车辆的位置,小团分别计算了每辆车前往A地和B地完成订单的利润。想让公司的利润最大化了。请你选择a辆车完成A地的任务,选择b辆车完成B地的任务。使得公司获利最大,每辆车最多只能完成一地的任务。 输入 第一行包
阅读全文
摘要:某视频网站有N个视频,每个视频时长为秒。产品经理找到你,希望你帮忙在其中插入M个广告。 一个视频里的两个广告必须间隔一段时间,当然间隔时间可以为0。 为了用户体验,他希望这个间隔时间尽可能长。为了方便实现,间隔时间是一个整数。 请你帮忙计算一下,这个间隔时间最大可以设置为多少秒呢?如果不能插入广告,
阅读全文
摘要:从左到右有m个空位需要放上装饰物。商店中每个整数价格的装饰物恰好有一种,且每种装饰物的数量无限多。 小团去商店的时候,想到了一个购买方案,他要让右边的装饰物价格是左边的倍数。用数学语言来说,假设小团的m个装饰物价格为a_1,a_2,...,a_m,那么对于任意的1≤i≤j≤m,a_j是a_i的倍数。
阅读全文
摘要:牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高$h_i$。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小。 思路:对于 1 2 3 4 5 6,然后我们应该排成类似 6 4 2 1 3 5 这样可满足最大值最小,核心思想是田忌赛马,先放 6 5,然后 6
阅读全文
摘要:求区间中的最小数*区间所有数的和的最大值 思路:单调递增栈,每次遇到一个比栈顶更小的元素,就需要让栈顶作为区间的最小值和ans比较(防止丢失),此时的区间还不能取到第i个位置 #include<bits/stdc++.h> using namespace std; const int mod=1e9
阅读全文
摘要:字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差。 比方说,"abaacc" 的美丽值为 3 - 1 = 2 。 给你一个字符串 s ,请你返回它所有子字符串的 美丽值 之和。 思路:无 const int N=505; class Solution { public: i
阅读全文
摘要:小强暑假在烧饼铺打工,作为一名打工仔,他干活非常卖力。这不,店里举办了一个烧饼大赛,冠军是烧饼吃的最多的人! 老板将烧饼摆在一排的n个盘子上,其中第i个盘子中有Si个烧饼,但是对于一次吃烧饼操作, 参赛者每次选择1到n的某个整数x,将1,2......,x-1,x盘子中里的烧饼都吃掉一个, 当然,如
阅读全文
摘要:A和B两个数组中的所有值都在[1,6]。每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6)。请返回使 A中所有数的和与 B 中所有数的和相等的最少操作次数。无解返回 -1 。 思路:约定sum(A)<sum(B),sA∈[n,6n],sA∈
阅读全文

浙公网安备 33010602011771号