贪心
文章平均质量分 57
算法基础
chongjwl
这个作者很懒,什么都没留下…
展开
-
JJOOII 2
题目链接解题思路:分别记录每个 J, O, I 的位置然后遍历 J 的位置查找以每个 J 为起点的可以经过删除区间内元素得到所需串的最短子串,用其长度减去不需要删除的元素个数得到答案#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int, int> P;const int INF = 0x3f3f3f3f;const int MAX_N = 2e5 + 10;c原创 2021-07-14 18:57:49 · 178 阅读 · 0 评论 -
Recommendations
VK news recommendation system daily selects interesting publications of one of n disjoint categories for each user. Each publication belongs to exactly one category. For each category i batch algorithm selects ai publications.The latest A/B test suggests原创 2021-07-04 10:44:33 · 376 阅读 · 0 评论 -
零件分组
零件分组Description某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi)。现在为了加工需要,要将它们分成若干组,使每一组的零件都能排成一个长度和重量都不下降(若i<j,则Li<=Lj,Wi<=Wj)的序列。请问至少要分成几组?Input第一行为一个整数N(N<=1000),表示零件的个数。第二行有N对正整数,每对正整数表示这些零件的长度和重量,长度和重量均不超过10000。Output输出最少分成的组数。Sample Input5原创 2020-12-16 22:48:49 · 575 阅读 · 0 评论 -
美元汇率
美元汇率Description在以后的若干天里戴维将学习美元与德国马克的汇率。编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值。Input第一行是一个自然数N,1≤N≤100,表示戴维学习汇率的天数。接下来的N行中每行是一个自然数A,1≤A≤1000。第i+1行的A表示预先知道的第i+1天的平均汇率,在这一天中,戴维既能用100美元买A马克也能用A马克购买100美元。Output输出要求的钱数(单位为美元,保留两位小数)。注意:戴维必须在最后一天结束原创 2020-12-16 22:46:18 · 657 阅读 · 0 评论 -
合并果子
合并果子Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计原创 2020-12-16 18:15:50 · 118 阅读 · 0 评论 -
最大整数
最大整数Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613Input实现是一个正整数n(整数个数),然后接n个正整数。Output输出联接成的多位数。Sample Input3 13 312 343Sample Output34331213#include<b原创 2020-12-16 18:13:07 · 678 阅读 · 0 评论 -
拦截导弹问题
拦截导弹问题Description某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。Input包含多组测试数据。每组测试数据占一行。第一个正整数为导弹数量n,后面紧接n颗依次飞来原创 2020-12-15 21:51:08 · 149 阅读 · 0 评论 -
删数问题
删数问题Description一个高精度的正整数n(≤240位),去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。(s<=n的位数)Input输入n和s。Output输出剩下的最小数。Sample Input175438 4Sample Output13#include<bits/stdc++.h>using namespace std;int main(){ char n[原创 2020-12-15 16:09:41 · 97 阅读 · 0 评论