首页 > 编程知识 正文

六上简便计算题,小明在360米长的环形跑道上

时间:2023-05-06 03:28:58 阅读:52446 作者:1672

360推后棉花糖看花题构想代码

主题

链接: https://www.now coder.com/question terminal/1 D6 F8 E0 e 16 de 49 d 094 d 16057 c 92 d 49 de? f=discussion

来源:牛客网

落后的棉花糖有花园,花园里有m朵花,每朵花都不一样。 落后的棉花糖每朵花用1~m的整数表示。

他很喜欢看这些花,有一天他看了n次,按时间顺序记录了n次看的花的种类是什么。

记录用a[i]表示,表示第I次他看到了一朵叫a[i]的花。

rzdy很好奇,她问了q个问题,[l,r]时间内,落后的棉花糖一共看到了多少朵不同的花? 迟到的棉花糖很享受他的花,所以希望你能回答这些问题。

输入说明:

输入2个个数n、m; (1=n=2000,1=m=100 ); 分别表示看n次花,m表示共有m朵花。

然后输入n个a[1]~a[n]。 a[i]表示第I次在落后的棉花糖上看到的花的种类。

输入一个数q(1=q=1000000 ); 表示rzdy的问题数。

在q行的每一行中输入两个个数l,r(1=l=r=n ); rzdy表示,从第l次到第r次,他想知道落后的棉花糖总共看到了多少不同的花。

输出说明:

一共q行

每行输出一个数表示落后的棉花糖在[l,r]的时间内看到了多少花。

例1

输入

5 3

1 2 3 2 2

3

1 4

2 4

1 5

输出功率

3

2

3

这个主题看起来很华丽,但其实核心很简单,从输入输出来看吧。

第一行: n,m。 看n次,有m的花;

第2行: n个,表示每次看到哪个圈;

第三行:常见的表现形式有几个数据的q;

后面的q行:起点和终点,l,r。

也就是说,所谓主题,其实就是在列表中,从第l个个数到第r个个数之间有多少个不重复。 这里考虑的是,首先选择列表中的数,用集合set ) )进行python上的强制型变换,求出得到的set的长度就可以了。

但是,还是老问题时间复杂度太大,不知道为什么最终结果没有通过。

代码n,m=tuple(list(map(int,input ).split ) ) flower=list (int, input ).split ) ) ) q=int input(.split ) () ) ) RES=flower [ l-1: r ] print (len ) set ) ) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。