首页 > 其他分享 >Spark _Exam_ 20240712

Spark _Exam_ 20240712

时间:2024-07-12 22:19:37浏览次数:18  
标签:20240712 le gcd 长度 Spark Exam

Spark Exam 20240712

Conclusion

没有挂分,很好。

220/rnk3(out of 8)|期望220|理想310

其实很多时候过了不代表你就是最优的。

A. 于是我栽种玫瑰 (rose)

Statement

若对于无向图 \(G(V,E)\) ,其中 \(\forall x\in[1,n],ax+b\le n\) ,那么 \((x,ax+b)\in E\) 。求该图最大独立集大小。

\(1\le a,b,n\le 10^9\)

Solution

首先能够注意到该图是若干链构成的。一条链将贡献其长度除二上取整。

但是很难计算一条链的长度。注意到链长一共 \(\log n\) 个取值且单调不增。那么我们只需要:

二分找出一段一段的边界,这样就可以使用 \(\mathcal O(\log^3 n)\) 的复杂度解决了!(显然,这是很小的)

还能不能更给力一点?换一个视角,不从链的角度,考虑这个贡献等于从这个点开始的链长度为奇数的点的个数。这样我们就可以统计每种长度有几个点,那么怎么办呢,遇到不好直接求的情况,考虑先把它换成 弱一点的条件 ,比如求 有多少点长度大于等于 k ,递推算是好算的,就是一层一层展开,然后只要减一下就行了。

B. 只因为后面的一切已早早被确定下来 (destiny)

首先 枚举所有子集求和 ,这种事情可以参考一下 GF 的思路,是可以化成式子的即 \(\prod_{i=1}^{n-3}(\gcd(a_i,a_{i+1},a_{i+2},a_{i+3})+1)\)

求所有这种式子的和,可以考虑一个一个填数,用 dp 解决。

但是,我们关注的是 gcd 的情况,这个数是多少不重要,如何减少等价的状态数量?就要从因子上面下手,所以我们选择最小的能够转移的: \(a_i,\gcd(a_i,a_{i+1}),\gcd(a_i,a_{i+1},a_{i+2})\) ,这时,我们发现,几个状态变量之间互相限制,所以状态数只有 \(1500\)

C. Deliver me (deliverme)

这个题主要是告诉我们,调用查询或修改哪个调用数据结构次数多,那么选用的数据结构就应该倾向那个明显调用的多的操作。不要一味选用渐进最优的数据结构。

D. 分道扬镳 (farewell)

还没改 qwq

标签:20240712,le,gcd,长度,Spark,Exam
From: https://www.cnblogs.com/haozexu/p/18299486

相关文章

  • 20240712NOIP模拟赛复盘
    20240712NOIP模拟赛复盘总结T1:其实不难,但是认为自己推出来依旧很难。但是暴力分\(15\)pts应该是好拿的。T2:推了一个正解,但是因为一些细节问题写挂了。以后应该先把暴力分全部拿完再写正解,写代码时也需要注意细节。T3:赛时口胡出了正解,但是边界没有考虑完全,导致样例没过,最后......
  • 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算法的精髓,实际上是考察了所有可能扩大......
  • spark-submit提交任务时执行流程(简单版)
    yarncluster模式提交spark任务(1)执行脚本提交任务,实际是启动一个SparkSubmit的JVM进程。(2)SparkSubmit类中的main方法反射调用YarnClusterApplication的main方法。(3)YarnClusterApplication创建Yarn客户端,然后向yarn服务器发送执行指令:bin/javaApplicationMaster。(4)Yarn(Resour......
  • Day1:20240712做题目
     1.Verilog语言是直接连接,不叫赋值。assign变量a=2'b00;//前面是位数,后面是二进制。 2.Verilog中,wire或者其他信号是直接传递(值)的。assigna=b //实时传递,b的值发生变化,a也会立即变化aninputportisadriverorsource,whileanoutputportisasink.//输入......
  • 01_spark入门
    SparkSpark作为分布式计算框架,基于MapReduce框架开发,但是也有以下区别:Spark基于Scala语言开发,MR基于Java语言开发;Scala是函数式编程语言,对于函数间相互调用效率更高;而Java是面向对象语言,函数间调用必须依赖于对象,效率低。MapReduce核心是一次性计算,不适合迭代计......
  • spark中的floor函数
    在Spark中,floor函数是一种数学函数,用于返回不大于给定数值的最大整数。具体作用如下:1.数值操作:floor函数会将每个元素向下取整到最接近的整数。例如,对于浮点数或双精度数值,它会返回不大于该数值的最大整数。    importorg.apache.spark.sql.functions._  val......
  • Spark SQL中的正则表达式应用
    正则表达式是一种强大的文本处理工具,在SparkSQL中也得到了广泛支持。本文将介绍SparkSQL中使用正则表达式的主要方法和常见场景。目录1.正则表达式函数1.1regexp_extract1.2regexp_replace1.3regexp_like2.在WHERE子句中使用正则表达式3.在GROUPBY中使用正......
  • Exam20240629 赛后结
    Exam20240629赛后结T1想法几乎是对的,结果两个不能直接乘起来就是如果你不太冷静的话就容易做出错误的判断,我考虑了这个问题,居然认为直接乘起来是可以的emmT2不太熟悉容斥,想到前缀和之后扔了结果它这个时候就已经变成slime和npc了这个时候就只需要钦定一段是大于k的其......