首页 > 其他分享 >Spark _Exam_ 20240715

Spark _Exam_ 20240715

时间:2024-07-15 22:40:54浏览次数:16  
标签:最优 le Exam 打碎 区间 Spark 威力 DP 20240715

Spark Exam 20240715

Conclusion

SB 出题人出 DP 场,T1靠小常数通过不给提示干死选手,T2出题人认为思维难度低代码5KB,NOIP场的T3放黑题,T4又是区间DP \(\mathcal O(n^6)=117649000000\) 竟然能够通过?你代码常数真的小!


好的喷完了。这种场的后果就是,平均分 50,最高 90,最低 0

实际上如果真的好好打暴力的话能够上 100……

T1真的可惜,复杂度算错了就没打 -50pts

T4状压加区间DP能够拿 40pts

T3暴力能够拿到20pts

ideal160吧,这个还是在能力范围内的(那就榜二了

A. 魔力屏障 (magic)

Statement

有一排玻璃每个一个坚固程度 \(a_i\) ,现可以在任何位置向右边滚出一个威力为 \(x\) 的球,若球碰到玻璃 \(i\) ,且 \(a_i\le x\) ,则玻璃碎掉并 \(x\to \lfloor x/2\rfloor\) ,否则球在此处停下,若球相遇,可合成一个大球并威力相加并继续滚,求对于每个 \(i\) ,击碎玻璃 \([1,i]\) 需要的最小威力总和。

\(1\le n\le 70,1\le a_i\le 150\)

Solution

考虑并不是从左边往右边击碎就是最优,例如 \(100,1,50\) ,击碎 \(100\) 消耗的代价会在 \(1\) 那个地方浪费很多,不如先打碎 \(1\) 。

所以这个不是一个线性的过程,而是不按顺序的,又发现一个球影响的是一个区间,考虑区间 DP。注意到需要多设一个击碎区间之后剩余威力才能转移,即 \(f_{l,r,k}\) 表示击碎 \([l,r]\) 且剩余 \(k\) 的最小代价。那么考虑怎么设计转移,我们是为了这个顺序才采用区间 DP,不妨考虑将 \([l,r]\) 分成若干区间并选择一个顺序来打碎,这样我们就拥有了一个很劣的转移,考虑这样转移一次是 \(\mathcal O(n!2^n)\) 。哦真是太恐怖了。

但是这有什么关系呢?难道这样做真的是必要的吗?区间的划分不是在这个区间的子区间就考虑过了吗,为何再考虑呢?那么,我们就可以优化:

枚举分界点 \(k\) ,设 \(k\) 就是最后打碎的玻璃,那么,左边区间的最优序列和右边的最优序列拼起来就是大区间的最优打碎顺序,他们剩余的威力加起来就是大区间剩余的魔力

这样就成功优化为 \(\mathcal O(n^3V^2)\) ,其中 \(V=\sum a_i\) ,答案是不可能超过这个的(每个单独打碎)

但是考虑到,没有必要保存太多威力,威力如果不是为了被使用到靠近的玻璃,那么肯定不是最优的,因为中间会浪费威力,不如要用的时候再在靠近的位置添加。所以 \(V=\max a_i\) 是可以的。

这样其实还是不可以过。但是要注意到,这个 DP 是带 \(\frac{1}{8}\) 小常数的,这是因为:区间DP不会枚举 \([l,r],r<l\) 这样的区间,这贡献 \(\frac{1}{2}\) ;留存的威力不可能比最后一个玻璃的坚固程度的一半还小,共两次枚举,一共贡献 \(\frac{1}{4}\) 。

好吧这样还是不可以过(964,687,500‬),你说的对,但是《O2优化》是由 ISO C++ 委员会 自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「OI」的幻想世界,在这里,被 CCF 选中的人将被授予「C++」,导引算法之力。你将扮演一位名为「OIer」的神秘角色,在自由的旅行中邂逅性格各异、能力独特的同伴们,和他们一起击败强题,找回失散的1=——同时,逐步发掘「NOI」的真相。

哈哈哈赛时想到了结果你告诉我小常数能过哈哈哈结果没写哈哈哈,(发癫)(旋转)(阴暗爬行)(变成猴子)(抢走游客的钱包)(上蹿下跳)(一巴掌拍扁tfqz)(吗的玩不了了)(变成大粉兔)(一拳把地球打爆)(鉴定为学竞赛学疯了

B. 诡秘之主 (mystery)

Statement

现有若干棵二叉搜索树和一个未确定的非负整数序列 \(a_i\) ,给定一个 01 串 \(s\) ,\(s_i\) 表示 \(a_i\) 是不是 \(0\) ,回答如下询问:若分别依次插入 \([l,r]\) 的所有子区间中的数,每个区间形成的二叉搜索树最小的可能深度之和是多少。

Solution

C.

标签:最优,le,Exam,打碎,区间,Spark,威力,DP,20240715
From: https://www.cnblogs.com/haozexu/p/18304180

相关文章

  • Spark Core的知识碎片
    spark初识什么是spark?ApacheSpark是一个开源集群计算系统,旨在快速进行数据分析。既好写运行时的也快BDASBDAS是由加利福尼亚大学伯克利分校的AMPLab开发的一套开源大数据分析工具集。其目的是为数据分析和机器学习提供高效、易用的工具。SparkSpark是BDAS的核心......
  • 一个pyspark 开发练习实例
    实例功能说明:1,使用pyspark开发了一个数据ETL,分析的练习项目。2,实例功能为,从mysql读取表数据,按照一定规则进行ETL。以csv格式保存到hadoop.并特别的使用了Spark提供的3种API进行统计分析,分别是RDD算子,Dataframe算子,SQL编程算子,进行了数量统计,3,组件版本:pyspark:3.3.1......
  • Spark算子综合案例 - Scala篇
    文章目录第1关:WordCount-词频统计代码第1关:WordCount-词频统计任务描述本关任务:使用SparkCore知识编写一个词频统计程序。编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin-End区域内进行代码补充,具体任务如下:对文本文件内的每个单词都统计出其出......
  • Spark _Exam_ 20240711
    SparkExam20240711Conclusion比较可惜,做前面AB的时候状态不错,但是后面就不行了,C题直接想错了一个点,然后又没有继续想,D题确实不知道一些技巧,但是其实已经凑齐了正解的全部拼图,可以拿到60-70pts.score240|rnk3|est260|ideal360|idealrnk2A.flandreStatement定义一个序列......
  • 2024 年,Hadoop 已经被 Apache Spark 全面取代了吗?
    Hadoop是一个开源的分布式计算平台,能够处理大规模数据集,并且具备高可靠性和可扩展性。Hadoop生态系统庞大,包含了多个组件,如HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统)、YARN(YetAnotherResourceNegotiator,另一种资源协调者)、Hive、HBase等。这些组件共同构成了......
  • Spark _Exam_ 20240713
    SparkExam20240713Conclusion还可以,没有挂分(反向挂分什么鬼)。数据简直太平洋,T1放掉log,T330变80,T410%的特殊case变成30%的特殊casedp还是很不行,其他方面的思维还可以。A.不相邻集合(a)Statement称可重集合\(S\),若满足\(\forallx\inS,x-1\notinS,x+1\notinS\)......
  • Spark _Exam_ 20240712
    SparkExam20240712Conclusion没有挂分,很好。220/rnk3(outof8)|期望220|理想310其实很多时候过了不代表你就是最优的。A.于是我栽种玫瑰(rose)Statement若对于无向图\(G(V,E)\),其中\(\forallx\in[1,n],ax+b\len\),那么\((x,ax+b)\inE\)。求该图最大独立集大小......
  • Spark Exam 20240710黄洛天
    SparkExam20240710黄洛天0.整体总结时间安排:0-1h,+200pts,1h-4h,+0pts(expected+25pts)A,B较简单。C,D较难。排名4。Acceptable,完全不失误可以拿rnk1,所以还是挺好。D是大数据结构,不太想打(事实上做二维前缀和可以简单地拿到10pts)A.花菖蒲考虑构造完全二叉树,然后多余的1度......
  • Spark
    SparkP6082图是树状的没有必要在向父亲走之后再回到其儿子如果遍历一个节点的n个子树,会消耗1+n次次数(加一次进来)令1节点进入限制是inf故对于一个节点,若它限制进入k次,那么最多遍历他的k-1个子树设遍历x的子树并且回到x的最高收益\(f_x\)那么......
  • Spark24June
    CommentonProblems2024March(Spark.md)本部分是从古老文档Spark.md里摘录的,其余的部分过于像流水账,就不贴了原属于三月的部分下午考题P2573[SCOI2012]滑雪注意到题目是求一个特殊有向图的最小生成树。考虑Prim与Kruskal算法的精髓,实际上是考察了所有可能扩大......