我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html

我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html

我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html

这道题目很长但只要·二个数组就能解决数组一:a(a数组只是用来存数是无序的) p(p数组是用来记录数的位置的,p[i]表示第i个数的排序)

题目有两种操作,查询和顶替。

在查询时进行数组操作会爆因为Q * n达到了 1.6*10^10,亿秒肯定会爆,所以要在顶替操作时改变p数组,操作次数为4*10^7,运算量大幅度减少。

二种操作

1.顶替:

(一)先将要替换的点删除,要替换点的p数组内的数初始化为1并将比删除点的p数组内的数大(或等于,但一定i要大于替换点的下标)的p数组内的数-1;

(二)再将要替换的点换上新值新制(在替换操作后),并将比替换点的p数组内的数大(或等于,但一定i要大于替换点的下标)的p数组内的数+1;

(三)如果a[i]==v&&i<x或a[i]<v    p[x]就++;

2.查找

(一)输入n1;

(二)输出p[n1];

剩下只有开头p数组要初始化为一之后就是小细节了

程序:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<map>
6 #include<vector>
7 #include<queue>
8 #include<set>
9 #define LL long long
10 using namespace std;
11 int main()
12 {
13 // freopen("1.in","r",stdin);
14 // freopen("1.out","w",stdout);
15 int n,q,a[9000]={0},p[9000]={0};
16 scanf("%d%d",&n,&q);
17 for(int i=1;i<=n;i++)
18 {
19 scanf("%d",&a[i]);
20 p[i]=1;
21 }
22 for(int i=1;i<=n;i++)
23 {
24 for(int j=1;j<=n;j++)
25 {
26 if(i==j) continue;
27 else
28 {
29 if(a[j]<a[i]) p[i]++;
30 else if(a[j]==a[i]&&i>j) p[i]++;
31 }
32 }
33 }
34 while(q--)
35 {
36 int l;
37 scanf("%d",&l);
38 if(l==1)
39 {
40 int x,v;
41 scanf("%d%d",&x,&v);
42 p[x]=1;
43 for(int i=1;i<=n;i++)
44 {
45 if(i==x) continue;
46 if(a[i]>a[x])
47 {
48 p[i]--;
49 }
50 if(a[i]==a[x]&&x<i)
51 {
52 p[i]--;
53 }
54 if(a[i]>v)
55 {
56 p[i]++;
57 }
58 if(a[i]==v&&i>x)
59 {
60 p[i]++;
61 }
62 if(a[i]<v)
63 {
64 p[x]++;
65 }
66 if(a[i]==v&&i<x)
67 {
68 p[x]++;
69 }
70 }
71 a[x]=v;
72 }
73 else
74 {
75 int n1;
76 scanf("%d",&n1);
77 printf("%d\n",p[n1]);
78 }
79 }
80 return 0;
81 }

插入排序(CSP-J 2021 T2)我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html的更多相关文章

  1. CSP J/S 初赛总结

    CSP J/S 初赛总结 2021/9/19 19:29 用官方答案估计 J 涂卡的时候唯一的一支 2B 铅笔坏了,只能用笔芯一个个涂 选择 \(-6\ pts\) 判断 \(-3\ pts\) 回答 ...

  2. 【游记】CSP J/S 2019 游记

    J 组 \(2:30\)开始, \(2:13\)还在酒店的我看了看手表...飞奔考场. T1 数字游戏 秒切. 下午某中学某大佬说可用线性基(%) T2 公交换乘 用单调队列思想,秒切. T3 纪念品 ...

  3. CSP J/S 2019受虐记

    一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...

  4. 【做题】ECFinal2018 J - Philosophical … Balance——dp

    原文链接 https://www.cnblogs.com/cly-none/p/ECFINAL2018J.html 题意:给出一个长度为\(n\)的字符串\(s\),要求给\(s\)的每个后缀\(s[ ...

  5. xss小结-从xss平台搭建到csp规则

    0x00前言 xss是跨站脚本攻击,利用嵌入js代码达到‘控制’对方浏览器的作用,测试的时候我们是用alert(1)弹窗,而做CTF也好,实际中的漏洞利用也好一般是用xss获取管理员的cookie 0 ...

  6. java.util.UnknownFormatConversionException: Conversion = 'j' || Conversion = 'D' || Conversion = 'Y'

    执行内容: String a = "select * from j_question j where j.status = %s and j.title like '%java%'" ...

  7. 借书证信息管理系统,C语言实现

    自己实现的如有缺漏欢迎提出 /* 原创文章 转载请附上原链接: https://www.cnblogs.com/jiujue/p/10325628.html   */ 设计内容: 设计一个排序和查找系 ...

  8. 必须知道的Java八大排序算法

    冒泡排序.简单选择.直接插入.快速排序.堆排序.希尔排序.归并排序.基数排序. 将其按排序方式分类如下图所示: 1.冒泡排序: 基本思想——在要排序的一组数中,对当前还未排好序的范围内的全部数据,自上 ...

  9. huffman树即Huffma编码的实现

    自己写的Huffman树生成与Huffman编码实现 (实现了核心功能 ,打出了每个字符的huffman编码 其他的懒得实现了,有兴趣的朋友可以自己在我的基础增加功能 ) /* 原创文章 转载请附上原 ...

  10. <转载>ford-fulkerson算法2

    原文链接https://www.cnblogs.com/luweiseu/archive/2012/07/14/2591573.html 作者:wlu 7. 网络流算法--Ford-Fulkerson ...

随机推荐

  1. SQL Server 读写分离配置的一些问题

    1,新建发布服务器遇到此服务器上未安装复制组件 先执行以下sql use mastergoselect @@servername;select serverproperty('servername') ...

  2. go mod常用命令 已经 常见问题

    最近接触到go mod,网上查了查资料,这里记录一下. 1 介绍 1.1.go mod是什么 go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地 ...

  3. EasyExcel对大数据量表格操作导入导出

    前言 最近有个项目里面中有大量的Excel文档导入导出需求,数据量最多的文档有上百万条数据,之前的导入导出都是用apache的POI,于是这次也决定使用POI,结果导入一个四十多万的文档就GG了,内存 ...

  4. Training: ASCII

    题目链接:http://www.wechall.net/challenge/training/encodings/ascii/index.php 让我们使用标准的美国信息交换编码格式解下面的ASCLL ...

  5. C++快速幂

    C++快速幂 快速幂的作用: 当我们做一些高次幂的计算时,就不能直接进行暴力的计算.例如:需要计算2^n 并且n≤10^18.这时候如果我们直接进行暴力的计算,时间复杂度为O ( n ),那么肯定会超 ...

  6. Azure DevOps Server 用户组加入 Azure AD Domain Service 管理用户

    一,引言 今天我们继续讲解 Azure DevOps Server 的内容,对于管理用户组除了在 Azure DevOps Server 服务器上添加管理员方式外,还有没有其他方式,Azure Dev ...

  7. [论文阅读] 颜色迁移-N维pdf迁移

    [论文阅读] 颜色迁移-N维pdf迁移 文章: N-Dimensional Probability Density Function Transfer and its Application to C ...

  8. c++学习笔记(入门)

    1 struct和class的区别 struct成员变量(成员函数)的访问属性缺省的情况下默认为public. class成员变量(成员函数)的访问属性缺省的情况下默认为private. 2 初始化列 ...

  9. day08 final关键字&面向对象——多态&抽象类、方法&向上、向下转型

    day08 final关键字 最终的不可更改的 特点: 1)修饰类,类不能被继承 2)修饰方法,方法不能被重写 3)修饰成员变量(变为常量),值不能修改,名字大写,声明同时给常量赋值 main方法中 ...

  10. 4.2:Scrapy爬虫

    使用Scrapy框架对网站的内容进行爬取 在桌面处打开终端,并在终端中输入: scrapy startproject bitNews cd bitNews/bitNews 修改items文件的内容,输 ...