1.cf D. Maximum Sum of Products

https://codeforces.com/contest/1519/problem/D

大意:给定一个数字n代表序列的长度,接下来n个数(n<=5000),代表序列,接下来n行,代表b序列,你最多可以将a序列某段连续的区间翻转,求 连加a[i]*b[i] (i<=1<=n)的最大值。

思路:其实这题不算难,主要考察的还是对代码的理解能力、思维转换能力、对代码的优化。很容易想到,先预处理前缀,枚举起点,枚举区间,然后翻转,计算。但是时间复杂度为O( n 3 {n ^ 3} n3), 会超时。接下来就是想优化,只要能优化到O( n 2 {n^2} n2)就足够了,能不能把某两重合并为一重呢?仔细想想是可以的,因为翻转的时候有大量的重复操作,我们可以想办法边枚举区间边O(1)的时间计算翻转后的值,这样就可以将时间复杂度降到O( n 2 {n^2} n2)。翻转的本质:对于以某一中点的翻转,区间每次扩大实质为在上次的基础上边界的扩大。所以我们可以在上次翻转计算出的结果的基础上计算扩大边界的结果,计算边界的复杂度是O(1)。这就达到了边枚举区间边计算的效果,时间复杂度降到了O(n^2),需要注意的是奇数个元素翻转器和偶数个元素翻转是不一样的,分开考虑。

总结:理解翻转的本质,降低时间复杂度。主要还是对代码的优化的方式,一般代码之所以能优化无非是因为某种性质,或者减少重复计算。

2.cf D. Phoenix and Socks

https://codeforces.com/contest/1515/problem/D

大意:n只袜子,n为偶数,2<=n<=2e5, L 代表左袜子的数量,R 代表右袜子的数量。袜子有不同的颜色,颜色相同的左右袜子可以匹配,你可以进行以下操作,确定最小操作次数,使左右袜子完全匹配。

操作1:将袜子变为任意颜色,但不改变袜子的“阵营”

操作2:改变袜子的阵营,但不改变颜色

可以对同一只袜子进行多次操作。

第一行输入n,l,r,接下来一行输入n个数,前 L 个数代表左袜子后面的R个代表右袜子。

输出一个数,代表将袜子完全匹配的最小操作次数。

思路:正解大致思路和自己想的差不多,但没想出怎么将代码实现。具体思路如下:

首先想到把可以匹配的左右袜子先去掉,因为最优情况下肯定不会动已经完成匹配的袜子,记左袜子的数量为cnta,右袜子的数量是cntb,假定cnta>=cntb,如果不是,可以交换嘛。接下来,在保证cnta>=cntb的情况下,将左袜子所有颜色相同的袜子的一半变成右袜子。如果还没有完成匹配,在把多余的袜子匹配。这时候袜子变换就是既变阵营又变颜色了,整体思路就是基于贪心的思想先看不用操作就能匹配的,再看操作一次完成匹配的,再看操作两次才能匹配的。

总结:基于贪心的思想,大致思路很容易想到,关键是以一种简洁的形式去实现。

2021.5.10(cf)相关推荐

  1. 2021.5.11(cf)

    1.cf D.Strange Definition https://codeforces.com/contest/1471/problem/D 大意:定义"相邻",如果两个数x,y ...

  2. 《惢客创业日记》2021.01.10(周日)高龄创业的无奈

    今天是星期天,虽然昨天熬夜,但早晨却起的很早.再闭上眼睡觉的时候,怎么也睡不着了.索性就在床上刷了一会儿抖音,本来觉得刷一会儿,累了就能睡着了.结果,看到一个苏克的短视频给了我很大的启发. 这个节目是 ...

  3. 2021年电工(初级)考试题库及电工(初级)最新解析

    题库来源:安全生产模拟考试一点通公众号小程序 电工(初级)考试题库是安全生产模拟考试一点通总题库中生成的一套电工(初级)最新解析,安全生产模拟考试一点通上电工(初级)作业手机同步练习.2021年电工( ...

  4. 2021年焊工(初级)考试及焊工(初级)考试内容

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:2021年焊工(初级)考试为正在备考焊工(初级)操作证的学员准备的理论考试专题,每个月更新的焊工(初级)考试内容祝您顺利通过焊工( ...

  5. 2021年焊工(初级)考试资料及焊工(初级)新版试题

    题库来源:安全生产模拟考试一点通公众号小程序 2021年焊工(初级)考试资料为正在备考焊工(初级)操作证的学员准备的理论考试专题,每个月更新的焊工(初级)新版试题祝您顺利通过焊工(初级)考试. 1.[ ...

  6. 2021年美容师(初级)考试总结及美容师(初级)模拟试题

    题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:美容师(初级)考试总结是安全生产模拟考试一点通总题库中生成的一套美容师(初级)模拟试题,安全生产模拟考试一点通上美容师(初级)作业 ...

  7. 2021年美容师(中级)新版试题及美容师(中级)免费试题

    题库来源:安全生产模拟考试一点通公众号小程序 美容师(中级)新版试题是安全生产模拟考试一点通总题库中生成的一套美容师(中级)免费试题,安全生产模拟考试一点通上美容师(中级)作业手机同步练习.2021年 ...

  8. 2021年美容师(初级)新版试题及美容师(初级)证考试

    题库来源:安全生产模拟考试一点通公众号小程序 美容师(初级)新版试题参考答案及美容师(初级)考试试题解析由安全生产模拟考试一点通题库老师及美容师(初级)操作证已考过的学员汇总,相对有效帮助美容师(初级 ...

  9. 2021年美容师(初级)考试资料及美容师(初级)

    题库来源:安全生产模拟考试一点通公众号小程序 美容师(初级)考试资料考前必练!安全生产模拟考试一点通每个月更新美容师(初级)题目及答案!多做几遍,其实通过美容师(初级)模拟考试系统很简单. 1.[判断 ...

最新文章

  1. Spring Session——@EnableSpringHttpSession注解
  2. web 网页按比例显示图片 js
  3. zemax设计35mm镜头_ZEMAX怎样优化MTF?
  4. centos安装mysql8及一些问题解决
  5. Norsar 3D v5.44 Linux 1CD(功能强大的正演软件)
  6. Android中一个app启动另一个app的指定activity
  7. 鲸鱼吞塑料袋解决之道:人类合作和可持续发展报告
  8. 关于微信授权登录的用户取消-2的问题
  9. java游戏开局选宠物可以转职,创世之光人物资料及转职大全
  10. 如何在Windows环境下快速搭建Web服务器并发布网页
  11. PSO算法文献阅读笔记
  12. 好家伙,公司服务器直接热崩掉了!
  13. 常用格式校验正则表达式
  14. 使用计算机翻译功能吗,微信上怎么使用翻译功能 翻译功能设置教程
  15. 轻松掌握辗转相除法(原理+俩道简单编程题详解)
  16. 权威服务器怎么修改ttl值,Windows服务器修改默认TTL值的方法
  17. python-学习笔记-07
  18. 编译原理学习笔记04——(孙悟空学72变之菩提老祖的阴谋—可怕的左递归)——2014_1_18
  19. typedef 相关
  20. 社区热议淘宝开源的优化定制JVM版本:Tabao JVM

热门文章

  1. springboot中使用注解获取前台header信息
  2. Kafka3.x核心速查手册三、服务端原理篇-2、Broker选举机制
  3. CS5266Typec转HDMI+PD+U2+U3多口拓展坞设计原理图
  4. PVM58N-YY1AGR0BN-1213光电采样编码器
  5. DM达梦执行计划和ET的查看使用
  6. Xilinx与Altera的FPGA区别
  7. jsp预加载转圈_30种CSS3炫酷页面预加载loading动画特效(推荐)
  8. 电脑上所有文件都打不开的解决方法和过程
  9. mcinabox运行库下载_MCinaBox运行库下载-MCinaBox启动器官网版下载v0.1.3- 游侠下载站...
  10. 机器学习复习6-优化器等 面试看这一篇就妥妥够了