首页 > 其他分享 >2023夏季集训D1-贪心二分

2023夏季集训D1-贪心二分

时间:2023-07-19 22:13:08浏览次数:52  
标签:二分 例题 D1 踢掉 反悔 2023 贪心 cmp

2023 夏季集训 D1 贪心二分

0x00 前言

24OI FXJ 大佬来给我们讲课 Orz Orz.

讲课好难 TAT.

0x10 贪心

0x11 经典贪心

写了 Best Cow Line G/S田忌赛马

一位小伙从同学那里要来了一份 Best Cow 代码 Debug 但没有发现代码没有输入, 这是他思路 3 小时后发生的 hack.

田忌赛马太水了, \(O(n^2)\) 就能过.

0x12 邻项交换

邻项交换问题主要表现为 「排序一个序列, 使其想的某些特点极端化」.

例题: 国王游戏, 王后游戏.

都是大式子题.

显而易见排序只需要知道交换两个相邻项是否不劣.

排序的 cmp 函数可以推式子.

一个特殊问题: 为什么退完的式子一定是合法的 cmp ?

考虑 cmp 3大性质.

  1. cmp 会得出 \(a=a\) 的结论
  2. cmp 中 若 \(a < b, b < c\) 则 \(a < c\)
  3. cmp 中 若 \(a = b, b = c\) 则 \(a = c\)

这在 国王游戏 中体现不明显, 但在 王后游戏 中体现很明显.

具体内容可参见王后题解区, 大佬们讲的非常好

0x13 反悔贪心

理解反悔两字之前先回顾一下贪心的特点.

  1. 使用已有的 局部最优解 推导全局最优解.
  2. 其中已选择的内容不会被踢出去.

而反悔就是针对第二部分.

若新的最优解需要踢掉原有的内容就可以自由踢掉, 并且踢掉的元素不会回归, 这就是反悔的内涵.

例题: 建筑抢修, 种树.

P.S. 种树 无论如何两个坑相离直接踢掉中间所有的坑(适用于所有两种情况), 可用反证法证明

0x20 二分

「Stop learning useless algorithms, go and solve some problems, learn how to use binary search.」

由于 YXL 老师已经详细讲过, 这里直接贴例题.

秦腾与教学评估, Sereja and Prefixes(on CF380A), Telephone Lines S, Save the nature(on CF1223C), Balance Beam(on AT_agc040_d, 极难)

0x21 三分

教练说 D2 会出题, 加急讲的

求单峰函数的顶点.

直接看板子题解即可

标签:二分,例题,D1,踢掉,反悔,2023,贪心,cmp
From: https://www.cnblogs.com/W21YU/p/2023-YSC-D1.html

相关文章

  • 网课记录2023.7.19
    视频BV1q54y1q79w变量的定义方法数据类型+名称+初始值(可省略)eg:intage=1;   或   intage;变量的类型局部变量:定义在{}(准确来说是作用域)内的变量,生命周期为进入作用域开始,到出作用域结束全局变量:定义在{}外,对整个代码起作用,优先级低于局部变量(即与局部变量重名时在该{}内......
  • 2023-07-19:布尔表达式 是计算结果不是 true 就是 false 的表达式 有效的表达式需遵循
    2023-07-19:布尔表达式是计算结果不是true就是false的表达式有效的表达式需遵循以下约定:'t',运算结果为true'f',运算结果为false'!(subExpr)',运算过程为对内部表达式subExpr进行逻辑非(NOT)运算'&(subExpr1,subExpr2,...,subExprn)'运算过程为对2个或以上内部表达式subEx......
  • STM32中包含的c语言基础知识(2023/7/19)
     关键字为c语言中的应用,表示的范围根据使用的范围不同,也发生了相应的变化,比如char本来是用来表示字符的,现在也可以用来表述数字;int在c中是16位的,在32中表示32位,long和int的长度相同,longlong基本不使用。stdint关键字的库文件给我们提供的,ST文件是以前的库文件用的命名方式,现在......
  • 2023/7/19
    今天主要完成了几道关于字符串的练习题package练习;publicclass数字位数{publicstaticvoidmain(String[]args){StringBuildersc=newStringBuilder();longl=1234567890987654321l;//long型数据后面要标注l,float数据后面要标注f......
  • 2023.7.19 周三:冒泡排序
    1importjava.sql.SQLOutput;2importjava.util.Arrays;3importjava.util.Scanner;4//冒泡排序5publicclasstest{6publicstaticvoidmain(String[]args){7int[]a={5,4,6,8,9,1,7,2,3};8intarray[]=sort(a);9S......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(1)
    1001Hide-And-SeekGame题意:给出一颗树,两人在树上特定两点来回走,问最早在那个节点相遇思路:枚举所有点,看它是否同时在两条链上,如果在,那么结合周期、两人最早到达时间,返回到达时间得到4个同余方程(拓展欧几里得),然后得到最小可能解#pragmaGCCoptimize(2)#pragmaGCCoptimize(3......
  • 20230719巴蜀暑期集训测试总结
    T1赛时打了一个\(O(n^3)\)\(16pts\)暴力和一个似乎可以过一个\(20pts\)特殊性质但其余无正确性的贪心。结果出来发现特殊性质挂了一个点,另一个地方还莫名其妙对了。说明特殊性质挂掉了,如果运气不好可能就挂到\(16pts\)了。考后看题解发现\(O(n^2)\)其实也是不难想的,有点......
  • day83(2023.7.19)
    1.使用SqlSession操作数据库 2.Mapper动态代理原理3. MyBatis新增 运行结果:4.MyBatis修改没优化前: 优化后:(只需写一次就ok了) 运行结果:4.MyBatis删除、根据Id查询 运行结果: 5.根据ID查询用户和运行结......
  • 2023.7.18 linux 设备树
    CONFIG_OF 此内核配置启用设备树,使用相关api需要包含:#include<linux/of.h>#include<linux/of_device.h> 查看API:https://docs.kernel.org/devicetree/kernel-api.html Anintroductiontotheconceptofaliases,labels,phandles,andpaths Whenusin......
  • machine learning-2023-07-19
    questions【链接】││──math││──线性回归││──逻辑回归│└──梯度下降││──python││──numpy(科学计算库)││──pandas(数据分析处理库)││──matplotlib(数据可视化库)│└──scikit-learn(机器学习库)││──模式识别......