链接:https://ac.nowcoder.com/acm/contest/3036/D
来源:牛客网

题目描述

影从者,并非真正的从者,而是一种’量产’从者,或是一种劣化从者。
而虚假的圣杯,准确说是残缺的圣杯,理所当然的只能召唤出影从者这种非正常使魔。但这也能称之为奇迹了,并不是凭依任何实体,而是自己创造出实体的魔术仪式。那家伙,也能称之为天才了吧。
虽然他想要完全掌控这虚假的圣杯,但是总有缺憾。
面对眼前这个从者(servant),我不知道该怎么办。他浑身上下都被不祥的黑雾包围着,连面貌都无法看清,很难说他到底还是不是保持清醒的状态。
「虽然能明显感觉到,你不是御主(master),但曾是吧」
「居然还保持着理智吗」我有些惊讶
「是啊,我才刚刚被圣杯召唤而来,但显然这圣杯很不对劲是吧」虽然无法看清他的表情,但我感觉到他是在苦笑「所以我也需要一个御主进行魔力供给」
「你是想让我和你签订契约么」
「不错,我相信你也是需要我的力量的吧」他似乎笑了「但是我也不能就这样简单的签订,如果你能回答我的问题,那么我就认可你吧」
「洗耳恭听」
「我曾是一名国王,也是一名十字军骑士。我征战过无数沙场,也攻克过无数的堡垒。这N座被我所征服的城市,要定期向我上贡一定的金额,但是计算税金的公式异常复杂和繁琐。而且随时都会有概率进行税金的修改。我会告诉你他们一开始所需要缴纳的税金,而且也会告诉你什么时候会对编号从L到R的城市进行税金修改,但当我向你提问的时候,你要回答我编号从L到R的城市当中,相同税金金额出现次数最多的出现次数」
「轻而易举,狮心王,理查一世」

输入描述:

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

第二行输入N个整数pi (0<=pi<=109),表示N个城市最初所需缴纳的税金金额。
接下来M行,每行输入为以下两种中的其中一种:
1 L R, (1 <= L<=R <= N)表示对编号从L到R的城市进行税金修改, 其中修改公式为:p1=p0*251%996*404*123,(p0和p1分别代表修改前的税金和修改后的税金)。
2 L R, (1 <= L<=R <= N)表示此时理查一世需要知道编号从L到R的城市中,相同税金金额出现次数最多的金额的出现次数。

输出描述:

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

示例1

输入

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

错误

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {int N, M;scanf("%d %d", &N, &M);long long* p = (long long*)malloc(sizeof(long long) * N);for (int i = 0;i < N;i++)scanf("%lld", &p[i]);int S, L, R;for (int i = 0; i < M;i++) {scanf("%d %d %d", &S, &L, &R);if (S == 1)for (int n = L - 1;n < R;n++)p[n] = p[n] * 251 % 996 * 404 * 123;if (S == 2) {int* Map_B;long long* Map_A;Map_A = (long long*)malloc(sizeof(long long) * (R - L + 1));Map_B = (int*)malloc(sizeof(int) * (R - L + 1));memset(Map_A, 0, sizeof(long long) * (R - L + 1));memset(Map_B, 0, sizeof(int) * (R - L + 1));for (int n = L - 1;n < R;n++)for (int j = 0;j < R - L + 1;j++)if (Map_A[j] == 0) {Map_A[j] = p[n];Map_B[j]++;break;}elseif (Map_A[j] == p[n]) {Map_B[j]++;break;}int max = 0;for (int n = 0; n < (R - L + 1) && Map_B[n] != 0;n++) {if (max <= Map_B[n])max = Map_B[n];}printf("%d\n", max);}}return 0;
}

自己按照逻辑推导并没有发现错误,但是在测试过程中总是不是全对,总有几个是错误的

实在搞不清楚

改进

借鉴和了解了其他几篇文章:

https://blog.csdn.net/weixin_44668898/article/details/103444051

https://blog.csdn.net/xyb890826/article/details/39118197

https://blog.csdn.net/weixin_44668898/article/details/103444051

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#define ll long long
ll p[105], Map_A[105];
int cmp(const void* a, const void* b){return *(int*)b - *(int*)a;
}
int main() {int N, M;scanf("%d %d", &N, &M);for (int i = 1;i <= N;i++)scanf("%lld", &p[i]);int S, L, R;for (int i = 0; i < M;i++) {scanf("%d %d %d", &S, &L, &R);if (S == 1)for (int n = L;n <= R;n++)p[n] = p[n] * 251 % 996 * 404 * 123;if (S == 2) {memset(Map_A, 0, sizeof(Map_A));int k = 1;for (int i = L;i <= R;i++)Map_A[k++] = p[i];k--;qsort(Map_A + 1, k, sizeof(ll), cmp);ll sum = 1, ans = 0;for (int i = 2;i <= k;i++) {if (Map_A[i] == Map_A[i - 1])   sum++;else {if (sum > ans) ans = sum;sum = 1;}}if (sum > ans) ans = sum;printf("%d\n", ans);}}return 0;
}

在这个化简的地方浪费了很多时间

p[n] *= 251 % 996 * 404 * 123;
≠
p[n] = p[n] * 251 % 996 * 404 * 123;

2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)D-城市的税金相关推荐

  1. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)I-迷途的怪物

    链接:https://ac.nowcoder.com/acm/contest/3036/I 来源:牛客网 题目描述 圣杯能召唤过去,现在甚至未来的各种英灵.想必也有不同世界的英灵会被召唤,所以才会有对 ...

  2. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)E-缺席的神官

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: % ...

  3. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)

    同步赛链接 A-原初的信纸(最值,STL) 题意: 找 n 个数的最大值. 参考代码: void solve() {int n;std::cin >> n;std::vector<i ...

  4. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)G-虚数的纸牌

    链接:https://ac.nowcoder.com/acm/contest/3036/G 来源:牛客网 题目描述 这次是一个成年男性,他正在玩弄着手上的扑克牌,纸牌在他手中翻飞着,如同空中飞舞的蝴蝶 ...

  5. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)A-原初的信纸

    链接:https://ac.nowcoder.com/acm/contest/3036/A 来源:牛客网 题目描述 「师父,那种东西还有用吗」格蕾停下手上的工作问道 「还有的」我反转着手上的信纸,虽然 ...

  6. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)F-失踪的玫瑰

    题目描述 「嘻嘻」 我能确认,面前这位影从者的确是一个小女孩.而在我面前排列着一行许多从表面上看起来并没有什么区别的木盒子.到底是怎样的英灵才会在以幼儿时的形态为全盛时期呢,还是说她在幼年之时就英年早 ...

  7. 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)错题笔记

    目录: 题目链接 A 比比谁更大 B 过生日 D 机器人 G 拼牛牛 I 史莱姆 J 水题 K 烧烤丝瓜 L 歪脖子树下的灯 题目链接 A 比比谁更大 题目描述 在一个夜黑风高的晚上,牛哥哥吃完心爱的 ...

  8. 牛客练习-哈尔滨理工大学21级新生程序设计竞赛(同步赛)

    比赛链接:哈尔滨理工大学21级新生程序设计竞赛(同步赛) 文章目录 前言 正文 A.考试周破防 B.咖啡店 C.kiki和bob玩取石子 D.猴王kiki分桃 E.很二的拆分 F.构造字符串 G.信号 ...

  9. 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)A 比比谁更大

    链接:https://ac.nowcoder.com/acm/contest/24803/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52 ...

最新文章

  1. 首批 iPhone 13 用户直呼太“坑”:​拍照有马赛克、不能用高刷、还与 Apple Watch “失联”?...
  2. Lambda演算学习笔记
  3. 04_ReplaceBlank
  4. 优化案例(part2)--Fragmentary label distribution learning via graph regularized maximum entropy criteria
  5. css 一行显示_CSS笔记1
  6. 与0xf2值相等的是python_腾讯笔试题涵盖的基础知识
  7. 背包问题 codevs2210 数字组合
  8. 什么是哲学为基础的设计模式?
  9. maven工程启动时报“Cannot resolve XXX:XXX:xx.xx.xx”错误的问题
  10. PAT (Basic Level) Practice1014 福尔摩斯的约会
  11. [原]linux 修改 hostname 立即生效
  12. mongodb导出csv文件到vcf
  13. CSF文件播放器处理总结
  14. 如何写出一篇好的软文?软文撰写的一些注意事项!
  15. mysql统计没有参加考试的学生名单_sQL SERVER,帮我编写一个存储过程,查询没有参加考试的学生名单,要求显示姓名、学号,具体请补充:...
  16. 2019年6月9日更正
  17. Jmeter入参POST data乱码传入‘--VRES...SER--’的问题
  18. JavaFX开发的地图编辑器WiTKMapEditor(更新GitHub地址)
  19. 分布式事务解决方案——TCC
  20. 【面试】嵌入式C语言题目整理

热门文章

  1. 红包大战一触即发,有哪些新玩法?
  2. Future解析与使用
  3. 个人对Linux下的QQ聊天工具的总结
  4. Future 与 FutureBuilder
  5. mysql revoke 无效_MySQL的grant,revoke使用
  6. matlab电动汽车路径优化——考虑中途充电
  7. xftp连接提示无法打开,无法显示远程文件夹
  8. jsp ssh礼品在线销售系统
  9. 【前端 H5】模仿网易云音乐 CSS 加js 实现留声机效果 H5
  10. 软件分享:AI智能人像美化软件,AI识别人像自动为图片“补妆”还原照片中美丽的你。。。