HYSBZ 1012 最大数maxnumber

2024-08-28 06:32
文章标签 最大数 1012 maxnumber hysbz

本文主要是介绍HYSBZ 1012 最大数maxnumber,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思路:在单调队列不更新列首,因为查询区间大小不确定,所以不能保证下次是否还用到它

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 222222
#define ll long longint que[N];
ll m,d;
ll a[N];
int cnt;
char op[2];
int num;int main(){scanf("%d%lld",&m,&d);cnt = 0;ll t = 0;int l = 0;int r = -1;while(m--){scanf("%s%d",op,&num);if(op[0]=='Q'){int h = l;while(h<=r&&que[h]<=cnt-num) h++;t = a[que[h]];printf("%lld\n",t);}else{a[++cnt] = (num%d+t%d)%d;while(l<=r&&a[que[r]]<a[cnt]) --r;que[++r] = cnt;}}
}


这篇关于HYSBZ 1012 最大数maxnumber的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113995

相关文章

PAT (Advanced Level) Practice——1011,1012

1011:  链接: 1011 World Cup Betting - PAT (Advanced Level) Practice (pintia.cn) 题意及解题思路: 简单来说就是给你3行数字,每一行都是按照W,T,L的顺序给出相应的赔率。我们需要找到每一行的W,T,L当中最大的一个数,累乘的结果再乘以0.65,按照例子写出表达式即可。 同时还需要记录每一次选择的是W,T还是L

【LeetCode】321. 拼接最大数(贪心+单调栈类型题)

在做帆软笔试的时候,最后一道题一直没想出来。 题目:在两个数组中选取 k 个元素,拼接一个最小数,并且要保证来自同一数组的元素顺序不发生改变。 搜索后发现是 LeetCode 321 拼接最大数的变形题,借此题学习一下。 402. 移掉 K 位数字(中等) 402. 移掉 K 位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: n

1012. The Best Rank (25)暴力枚举 排序

1012. The Best Rank (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue To evaluate the performance of our first year CS majored students, we consider

C++类实现最大数的输出

Description 判断整数的大小,输入n个数,找出最大的数并输出。 Input 有多组测试实例,输入n,并输入n个数。 Output 输出的最大的数,每个输出结果占一行。 Sample Input 101 2 3 4 5 6 7 8 9 10 Sample Output 10 #include<iostream>#inc

NYOJ 191 POJ 1012 Joseph(约瑟夫环问题)

链接:click here~~ 题意:假设有2k个人围着一个圆桌坐着,前k个是好人,后k个是坏人 。现在开始,每m个人踢掉一个,比如有6个人,m=5,那么,被踢掉的人依次是5,4,6,2,3,1。现在要求,在踢掉第一个好人前,必需把所有的坏人踢掉,问,给定一个k,求满足这个要求的最小的m,现在希望你写一个程序,快速的帮助小珂,计算出来这个m。 思路:我们来回想一下最基本的约瑟夫环问题, n个人

1012 A + B的输入输出练习(三)

题目描述 你的任务是计算A + B。 输入 输入包含多个测试案例。每个测试用例包含一个对整数a和b,每行一对整数。一个测试用例含有0 0结束输入,且该试验的情况是不被处理。 输出 对于每对输入的整数a和b你应该输出的总和a和b中的一行,并与1行中输入输出的每一行的。

C语言 | Leetcode C语言题解之第179题最大数

题目: 题解: long cmp(int *x, int *y) {unsigned long sx = 10, sy = 10;while (sx <= *x) {sx *= 10;}while (sy <= *y) {sy *= 10;}return sx * (*y) + (*x) - sy * (*x) - (*y);}char *largestNumber(int *nums,

Python | Leetcode Python题解之第179题最大数

题目: 题解: class Solution:def largestNumber(self, nums: List[int]) -> str:def quick_sort(l , r):if l >= r: returni, j = l, rwhile i < j:while strs[j] + strs[l] >= strs[l] + strs[j] and i < j: j -= 1w

C++ | Leetcode C++题解之第179题最大数

题目: 题解: class Solution {public:string largestNumber(vector<int> &nums) {sort(nums.begin(), nums.end(), [](const int &x, const int &y) {return to_string(x) + to_string(y) > to_string(y) + to_strin

Golang | Leetcode Golang题解之第179题最大数

题目: 题解: func largestNumber(nums []int) string {sort.Slice(nums, func(i, j int) bool {x, y := nums[i], nums[j]sx, sy := 10, 10for sx <= x {sx *= 10}for sy <= y {sy *= 10}return sy*x+y > sx*y+x})if