城市的税金


城市的税金


广东工业大学2019年新生赛
题目描述

影从者,并非真正的从者,而是一种’量产’从者,或是一种劣化从者。

而虚假的圣杯,准确说是残缺的圣杯,理所当然的只能召唤出影从者这种非正常使魔。但这也能称之为奇迹了,并不是凭依任何实体,而是自己创造出实体的魔术仪式。那家伙,也能称之为天才了吧。

虽然他想要完全掌控这虚假的圣杯,但是总有缺憾。

面对眼前这个从者(servant),我不知道该怎么办。他浑身上下都被不祥的黑雾包围着,连面貌都无法看清,很难说他到底还是不是保持清醒的状态。

「虽然能明显感觉到,你不是御主(master),但曾是吧」

「居然还保持着理智吗」我有些惊讶

「是啊,我才刚刚被圣杯召唤而来,但显然这圣杯很不对劲是吧」虽然无法看清他的表情,但我感觉到他是在苦笑「所以我也需要一个御主进行魔力供给」

「你是想让我和你签订契约么」

「不错,我相信你也是需要我的力量的吧」他似乎笑了「但是我也不能就这样简单的签订,如果你能回答我的问题,那么我就认可你吧」

「洗耳恭听」

「我曾是一名国王,也是一名十字军骑士。我征战过无数沙场,也攻克过无数的堡垒。这N座被我所征服的城市,要定期向我上贡一定的金额,但是计算税金的公式异常复杂和繁琐。

而且随时都会有概率进行税金的修改。我会告诉你他们一开始所需要缴纳的税金,而且也会告诉你什么时候会对编号从L 到R
的城市进行税金修改,但当我向你提问的时候,你要回答我编号从L 到R 的城市当中,相同税金金额出现次数最多的出现次数」

「轻而易举,狮心王,理查一世」

输入

M (1<=N, M<=100),其中N 表示理查一世所征服的城市个数,
M 表示理查一世对城市税金的修改次数和对税金的询问次数之和。

第二行输入N 个整数pi (0<=pi<=109),表示N 个城市最初所需缴纳的税金金额。

接下来M 行,每行输入为以下两种中的其中一种:

1 L R, (1 <= L<=R <= N)表示对编号从L 到R 的城市进行税金修改, 其中修改公式

为:p1=p0251%996404*123,(p0 和p1 分别代表修改前的税金和修改后的税金)。

2 L R, (1 <= L<=R <= N)表示此时理查一世需要知道编号从L 到R 的城市中,
相同税金金额出现次数最多的金额的出现次数。


输出

对于输入格式为’2 L R’的询问单独输出一行进行回答

样例输入


6 5
1 2 3 4 5 3
1 1 6
2 1 6
1 3 5
1 2 4
2 2 4

样例输出

2
1

提示

注意运算过程中所有数不超过long long 的范围。

第一次操作后, 
6 个数分别为12472692 24945384 37418076 397536 12870228 37418076。

第二次操作后,
输出2(出现次数最多的是37418076)。

第三次操作后, 
6 个数分别为12472692 24945384 34585632 13118688 41144976 37418076。

第四次操作后,
 6 个数分别为12472692 6559344 2981520 36970848 41144976 37418076。

第五次操作后,
输出1

思路:
这道题就是如果 q 等于1 就遍历相应区间计算结果,如果 q 等于2
就遍历相应区间,寻找相同数最多的那个数出现的次数。细节方面要处理好。

知道思路后,源代码:

#include<bits/stdc++.h>
using namespace std;
#define MAXD 11110
long long p[MAXD],a[MAXD],n,m,mod=404*123;
int main() {
 cin>>n>>m;
 memset(p,0,sizeof(p));
 for(int i=1; i<=n; i++) cin>>p[i];
 while(m--) {
  int q,l,r;
  cin>>q>>l>>r;
  if(q==1) for(int i=l; i<=r; i++) p[i]=p[i]*251%996*mod;
  if(q==2) {
   long long k=1,sum=1,ans=0;
   memset(a,0,sizeof(a));
   for(int i=l; i<=r; i++) a[k++]=p[i];
   k--;
   sort(a+1,a+1+k);
   for(int i=2; i<=k; i++) {
    if(a[i]==a[i-1]) sum++;
    else {
     if(sum>ans) ans=sum;
     sum=1;
    }
   }
   if(sum>ans) ans=sum;
   cout<<ans<<endl;
  }
 }
 return 0;
}

AC


祝各位备考期末者必胜!!!
在这里插入图片描述

发布了50 篇原创文章 · 获赞 51 · 访问量 1390

猜你喜欢

转载自blog.csdn.net/m0_45682806/article/details/103603380