当前位置: 首页 > news >正文

Codeforces Round 960 (Div. 2)-补题

A. Submission Bait

当某个数字出现次数为奇数时,Alice就可通过选取该数取得胜利

void solve(){cin>>n;map<int,int> mp;for(int i=0;i<n;i++) cin>>a[i],mp[a[i]]++;for(int i=0;i<n;i++){if(mp[a[i]]%2){cout<<"YES"<<endl;return;}}cout<<"NO"<<endl;
}

B. Array Craft

构造题,前缀和最大即在x位置后不能出现连续的一段1,且x+1位置必须为-1,后缀和最大即y位置前不能出现连续的一段1,且y-1位置为-1,x+1位置后和y-1位置前交替1和-1,绝对值和均为0或1,x和y间均为1,这样构造就可在x处取最大前缀和,而且索引是最小的,y处取最大后缀和,而且索引是最大的

void solve(){cin>>n>>x>>y;for(int i=1;i<y;i++){if((y-1)%2){if(i%2) cout<<-1<<" ";else cout<<1<<" "; }else{if(i%2) cout<<1<<" ";else cout<<-1<<" ";}}for(int i=y;i<=x;i++) cout<<1<<" ";for(int i=x+1;i<=n;i++){if((x+1)%2){if(i%2) cout<<-1<<" ";else cout<<1<<" ";}else{if(i%2) cout<<1<<" ";else cout<<-1<<" ";}}cout<<endl;
}

C. Mad MAD Sum

看了大佬发现的性质,第一轮整理后,数列会变成单调不减的数列,第二轮整理后,除了最大数可能为1,数列中剩下的元素的数量必然大于2,从第三轮开始,就是每次数列右移一位,所以就可以根据 ai*(n-i) 来算对答案的贡献了,

void solve(){cin>>n;ll sum=0,maxs=0;map<int,int> mp; for(int i=0;i<n;i++) cin>>a[i],sum+=a[i];for(int i=0;i<n;i++){mp[a[i]]++;if(mp[a[i]]>=2&&maxs<a[i]) maxs=a[i];a[i]=maxs;sum+=a[i];}mp.clear();maxs=0;//for(int i=0;i<n;i++) cout<<a[i]<<" ";cout<<endl;for(int i=0;i<n;i++){mp[a[i]]++;if(mp[a[i]]>=2&&maxs<a[i]) maxs=a[i];a[i]=maxs;}mp.clear();//for(int i=0;i<n;i++) cout<<a[i]<<" ";cout<<endl;for(int i=0;i<n;i++){sum+=a[i]*(n-i);//cout<<i<<" "<<a[i]<<" "<<sum<<endl;}cout<<sum<<endl;
}

D. Grid Puzzle

又是看大佬的,用tag1数组表示第一二个块,tag2数组表示第三四块,小于等于2的行均用操作,这样是最优的,因为可以涉及到下一行的两个,小于等于4的行,如果有块被上一行的操作消除,就考虑消剩下的块,如果大于4的行,直接用操作

void solve(){int ans=0;cin>>n;for(int i=1;i<=n;i++) cin>>a[i],tag1[i]=tag2[i]=0;for(int i=1;i<=n;i++){if(!a[i]) continue;if(tag1[i]&&a[i]<=2) continue;if(tag1[i]&&tag2[i]&&a[i]<=4) continue;if(a[i]<=2) tag1[i]=tag1[i+1]=1;else if(a[i]<=4){if(tag1[i]) tag2[i]=tag2[i+1]=1;else if(tag2[i]) tag1[i]=tag1[i+1]=1;} ans++;}cout<<ans<<endl;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Web 搜索引擎优化
  • AI论文速读 | 2024MM【开源】时间序列预测中频率动态融合
  • 【Python机器学习】支持向量机——手写数字识别问题
  • 深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
  • 反激式电源为什么上电最容易烧MOS管?
  • python dash框架
  • 【linux深入剖析】初识线程---线程概念
  • JavaEE-多线程编程阻塞队列
  • 探索之路——初识 Vue Router:构建单页面应用的完整指南
  • 网络空间安全专业怎么样,可通过哪些途径自学?
  • 【Redis】 Redis 列表指令指南
  • python open cv(图像处理的基本操作)
  • Spring Bean生命周期
  • 什么是单例模式?
  • 【两整数之和】python刷题记录
  • 分享一款快速APP功能测试工具
  • “大数据应用场景”之隔壁老王(连载四)
  • Linux快速复制或删除大量小文件
  • PermissionScope Swift4 兼容问题
  • Python学习笔记 字符串拼接
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 飞驰在Mesos的涡轮引擎上
  • 好的网址,关于.net 4.0 ,vs 2010
  • 数组大概知多少
  • 学习笔记TF060:图像语音结合,看图说话
  • Spring Batch JSON 支持
  • 移动端高清、多屏适配方案
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (1)常见O(n^2)排序算法解析
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (一)、python程序--模拟电脑鼠走迷宫
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)winform之ListView
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net Application的目录
  • .net core Swagger 过滤部分Api
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET关于 跳过SSL中遇到的问题
  • ;号自动换行
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [\u4e00-\u9fa5] //匹配中文字符