2022icpc 济南站 持续补题

news2024/11/17 11:26:06

链接:Dashboard - 2022 International Collegiate Programming Contest, Jinan Site - Codeforces

 签到题:k

K. Stack Sort

You are given a permutation with nn numbers, a1,a2,…,an(1≤ai≤n,ai≠aj when i≠j).

You want to sort these numbers using m stacks. Specifically, you should complete the following task:

Initially, all stacks are empty. You need to push each number aiai to the top of one of the mm stacks one by one, in the order of a1,a2,…,an. After pushing all numbers in the stacks, you pop all the elements from the stacks in a clever order so that the first number you pop is 1, the second number you pop is 2, and so on. If you pop an element from a stack S, you cannot pop any element from the other stacks until S becomes empty.

What is the minimum possible mm to complete the task?

Input

The first line contains one integer T (1≤T≤10^5), the number of test cases.

For each test case, the first line contains one positive integer n (1≤n≤5×10^5). The next line contains nn integers a1,…,an (1≤ai≤n) denoting the permutation. It is guaranteed that a1,…,an form a permutation, i.e. ai≠ajj for i≠j.

It is guaranteed that the sum of nn over all test cases is no more than 5×10^5.

Output

For each test case, output the minimum possible mm in one line.

Example

input

3

3

1 2 3

3

3 2 1

5

1 4 2 5 3

output

3
1
4 

 只需考虑每次输入一个数时比他大1的数是否已经进栈,若否则栈加一

#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
#include <unordered_map>
using namespace std ;
const int N = 5e5+10 ;
int n , m ;
int k ;
int cnt[N];

int main()
{
    cin >> k ;
    while(k--){
        int res = 0; 
        unordered_map<int , int > ump ;
        scanf("%d",&n);
        for(int i = 0 ; i < n ; i ++){
            int t ;
            scanf("%d",&t);
            if(!ump[t+1]) res ++ ;
            ump[t] = 1 ;
        }
        cout << res <<endl;
    }
    return 0;
}

 签到题:M (当时用的高精度加法一直超时,脑子抽抽了)

M.Best Carry Player

Prof. Pang is given n numbers a1, . . . , an. It is easy to add the numbers up using a computer. But Prof. Pang treasures his computer so much and wants to reduce its workload. He decides to simulate the following program by hand.

 Algorithm 1 Sum of elements

1: s ← 0

2: for i from 1 to n do

3: s ← s + a[i]

4: end for

Unlike a computer, the time needed for Prof. Pang to simulate the program is proportional to the total number of carries(1) when calculating s+a[i] for each i from 1 to n. Prof. Pang adds numbers by column addition in base-ten, just like what we normally do in primary school. For example, there are two carries in the following addition.

Please permute the array a1, . . . , an so that the total number of carries when Prof. Pang simulates the program is as small as possible. (By “permute an array”, we mean that you can change the order of the elements arbitrarily.)

Input

The first line contains one integer T (1 ≤ T ≤ 10^5 ), the number of test cases. For each test case, the first line contains one positive integer n (1 ≤ n ≤ 10^5 ). The next line contains n integers a1, . . . , an (1 ≤ ai ≤ 10^9 ) denoting the numbers Prof. Pang is given. It is guaranteed that the sum of n over all test cases is no more than 10^5 .

Output

For each test case, output one line containing the minimum amount of carries.

Example

input 

2

3

9 99 999

1

12345

output

5

0

(1)which means “进位” in Chinese

其实不管计算进位次数都是一样的,所以直接计算总的进位次数就行了

#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
using namespace std ;
typedef long long  ll;
int n , m ;
int k , t;
int res ;
ll add(ll a , ll b){
    ll p = a + b ;
    int a1 = 0 ;
    int b1 = 0 ;
    while(a || b){
        a1 += a % 10 ;
        a /= 10;
        b1 = b % 10 ;
        b /= 10;
        a1 = a1 + b1 >= 10 ? 1 : 0 ;
        res += a1 ;
    }
    return p;
}
int main()
{
    ios::sync_with_stdio(false );
    cin.tie(0);cout.tie(0);
    cin >> t;
    while(t--){
        res = 0 ;
        cin >> n ;
        ll a , b ;
        cin >> a ;
        for(int i = 0 ; i < n - 1 ; i++){
            cin >> b;
            a = add(a , b );
        }
        cout << res << endl;
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WY易盾cb、fp逆向分析

内容仅供参考学习 欢迎朋友们V一起交流&#xff1a; zcxl7_7 目标 网址&#xff1a;案例地址 这个好像还没改版&#xff0c;我看官网体验那边已经进行了混淆 分析 这个进行的请求很乱&#xff0c;我就不说怎么找的了&#xff0c;到时候越听越乱。一共有2个请求很重要 …

笔试题之编写SQL按要求查询用户阅读行为数据

紧张源于恐惧&#xff0c;恐惧源于未知。 文章目录前言一、SQL题目二、当时作答结果三、复盘&#xff08;一&#xff09;建表并自定义插入数据&#xff08;二&#xff09;正确解答&#xff08;三&#xff09;答错原因分析总结前言 分享本人一次失败的笔试经历&#xff0c;供各…

plink中的BGEN格式的数据如何用

这里&#xff0c;介绍一下BGEN格式的数据&#xff0c;他的文件格式是这样的&#xff1a;a.bgen&#xff0c;这是一个新的数据格式&#xff0c;目前应用不如plink的二进制文件&#xff1a;.bim,.bed,.fam。这里介绍一下如何相互转换。 1. bgen格式介绍 现代遗传关联研究通常使…

[附源码]计算机毕业设计JAVA中小企业人事管理系统

[附源码]计算机毕业设计JAVA中小企业人事管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

HMS Core 6.8.0版本发布公告

分析服务 ◆ 游戏行业新增“区服分析”埋点模板及分析报告&#xff0c;支持开发者分服务器查看用户付费、留存等指标&#xff0c;可进一步评估不同服务器的玩家质量&#xff1b; ◆ 新增营销活动报告&#xff0c;可查看广告任务带来的曝光、点击相关信息&#xff0c;让营销推…

阿里P7晒工资条,看完真的扎心了……

前几天&#xff0c;有位老粉私信我&#xff0c;说看到某95后学弟晒出阿里P7的工资单&#xff0c;他是真酸了…想狠补下技术&#xff0c;努力冲一把大厂。 为了帮到他&#xff0c;也为了大家能在最短的时间内做面试复习&#xff0c;我把软件测试面试系列都汇总在这一篇文章了。…

关于信息系统监理师考试怎么备考?

信息系统监理师是属于软考的中级科目&#xff0c;是水平考试&#xff0c;取得证书后就具备了任职中级职称的资格&#xff0c;并可以注册为信息系统监理师&#xff0c;进行信息系统监理工程师的执业工作。 注册监理工程师&#xff0c;是指经考试取得中华人民共和国监理工程师资…

041-推箱子游戏1

上一讲:040-JAVA集合及GUI综合应用(实现简单的订单管理系统)_CSDN专家-赖老师(软件之家)的博客-CSDN博客 下一讲:推箱子游戏源代码 摘要: 1、使用JAVA基础知识 2、GUI界面编程实现推箱子界面,常用控件的综合应用; 3、使用JAVA绘图技术实现推箱子过程的绘图功能;…

追觅身陷「多事之秋」!一场无法投机的「卡位战」

清洁电器市场正释放着新的商业活力。 GfK数据显示&#xff0c;今年上半年在整体家电市场低迷的同时&#xff0c;清洁机器人市场零售额保持了同比15%的增速&#xff0c;仍然是家电行业的主要增长点。其中&#xff0c;线上市场扫地机器人销售仍然居首位&#xff0c;但洗地机反超…

项目笔记:Arduino读取SD卡

1 硬件连接&#xff08;使用Arduino Uno&#xff09;&#xff1a; CS -> 10 SCK -> 13 MOSI -> 11 MISO -> 12 VCC ->5V GND -> GND 2 让Arduino检测到SD卡 官方测试程序&#xff1a;检测SD卡连接并输出卡型号 /*SD card testThis example shows how use…

Linux 磁盘结构,文件系统与inode

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、关于磁盘①磁盘②CHS寻址⑤磁盘结构的抽象二、文件系统①inode与文件的关系②创建文件&#xff0c;系统做的事③删除文件&#xff0c;系…

如何升级展锐RM500U模组的5GCPE固件

本文镜像&#xff1a;https://blog.csdn.net/weixin_45326556/article/details/128236605 如何升级展锐RM500U模组的5GCPE固件1. 准备工作2. 安装5GCPE串口驱动3. 升级固件3.1 选择固件3.2 选择串口号3.3 下载固件3.4 下载固件意外情况4. 重新启动5.参考文献1. 准备工作 从网盘…

智慧旅游景区Web3D可视化GIS综合运营平台

建设背景 2014年8月&#xff0c;《国务院关于促进旅游业改革发展的若干意见》。 2015年年初&#xff0c;原国家旅游局发布《关于促进智慧旅游发展的指导意见》。 2021年12月&#xff0c;国务院印发《“十四五”旅游业发展规划》。 在国家和有关部门的引导和支持下&#xff…

卡塔尔世界杯-诸神黄昏

世界杯 世界杯概述:国际足联世界杯&#xff08;FIFA World Cup&#xff09;简称“世界杯”&#xff0c;是世界上最高荣誉、最高规格、最高竞技水平、最高知名度的足球比赛&#xff0c;与奥运会并称为全球体育两大最顶级赛事&#xff0c;影响力和转播覆盖率超过奥运会的全球最大…

openGauss数据库安装(2.0.0企业版安装)

目录1. 准备环境2. 预安装3. 正式安装4. 启动并登录数据前言此次数据库的系统安装环境仍然是openEuler20.03LTS,openGauss安装版本是2.0.0版本&#xff0c;相对于极简版安装&#xff0c;确实多了一些工具&#xff0c;例如gs_om工具&#xff0c;极简版安装是没有的&#xff0c;企…

前后端传参

1、路径传参 前端传一个参数&#xff1a;123 后端接收一个参数&#xff1a;123 // /{}是必须写的&#xff0c;id是自定义的// PathVariable 这个注解也是必须写的&#xff0c;否则接不到参数GetMapping("/{id}")//使用什么类型去接收id的值&#xff0c;要看你后端需要…

损失函数是如何设计出来的

损失函数是如何设计出来的&#xff1f; 可以直接观看b站优质博主的视频&#xff0c;该博主讲的也是非常通透。劝大家直接去看视频&#xff0c;我这只是做一个学习笔记。 https://www.bilibili.com/video/BV1Y64y1Q7hi/?spm_id_from333.788&vd_sourcee13ed5ec556f20f3f3c2…

Medical Image Segmentation Review:The Success of U-Net

目录 医学图像分割综述&#xff1a;UNet的成功 1.摘要与介绍 2.分类 2.1.2D Unet 2.2 3D UNet 3.UNet扩展 3.1对于跳跃连接的增强与改进 3.1.1--增加跳跃连接数量 3.1.2--对跳跃连接过程中的特征进行处理 3.1.3--编码器和解码器特征图的组合 3.2--主干网络的改进与增…

【Lilishop商城】No3-2.模块详细设计,系统设置(系统配置、行政区划、物流公司、滑块验证码图片、敏感词过滤)的详细设计

仅涉及后端&#xff0c;全部目录看顶部专栏&#xff0c;代码、文档、接口路径在&#xff1a; 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇会结合业务介绍重点设计逻辑&#xff0c;其中重点包括接口类、业务类&#xff0c;具体的结合源代码…

【JavaWeb开发-Servlet】day04-学生成绩管理系统-环境搭建与展示页面

1、项目名称&#xff1a;学生成绩管理系统 2、技术要求&#xff1a;Java、Servlet、JSP、HTML5、JavaScript、Css 3、编译环境&#xff1a;JDK1.8、eclipse2022、TomCat9.0 4、基本功能&#xff1a;增、删、改、查、分页、登录、注册 目录 一、创建项目 &#xff08;1&#x…