SRM514~523总结

SRM514

250:考虑这样构造一个答案:先跳一个(1,pace),之后来回跳(-pace,1)和(pace,1),这样,我们发现只要pace集合中有偶数那么我们必然能跳出(1,0),这样就能到达任意点,否则我们只能跳(1,1)这样的,即需要x+y为偶数才能到达;
600:我们发现只要前n行m列所有数的奇偶性确定了,棋盘的所有格子的奇偶性就确定了,由于n,m只有10,因此可以直接状压dp

SRM515

250:暴力枚举所有时刻,判定是否合法即可;坑点在于他挑选的基准点必须位于某个30度的倍数
550:考虑普通的概率dp[cur][sword][mask]代表从第cur小时开始,当前人的出现情况是mask,还剩下sword把剑时所能获利的最大期望值,转移的时候分cur小时的时候人出不出现,和出现时卖不卖即可

SRM516

250: n2 枚举一遍所有可能的key然后判一下是否合法即可
500:贪心,考虑每一列对答案的贡献,其实就是只考虑这一列时的答案乘以2的某个幂次,因此只需要按照只考虑这一列时的答案排序后算一下即可

SRM517

250:dp[x]代表x是否能必然产生target,转移是枚举约数,因此复杂度是 O(nn) ,可以通过
600:我们发现一旦 a[i] a[i+1] 进行了交换,那么 a[i] 左边和 a[i+1] 右边就互相独立,因为一边的数不可能再被换到另一边了,因此我们可以考虑这样的区间dp,dp[l][r][k]代表代表把 [l,r] 内的数排完序,且最后一步交换是 a[k],a[k+1] ,那么必须保证 a[l],a[l+1]..a[k1],a[k+1] 恰好构成了 l,l+1,...k1,k 的某个排列,然后在转移一下即可,通过预处理可以做到 O(n3)

SRM518

250:预处理后每次选一个最大的字母贪心即可
500:一道乱搞题,我的做法是先令 b[i]=a[i+1]a[i] ,则题目转化为每次给 b[i]1,b[i+1]+1 ,问最少多少次操作之后可以使 b 序列单调不降,于是可以每一轮贪心的选择b[i]-b[i+1]最大的进行操作,可以证明这样操作在大约nlog(value)后次就会停止

SRM519

250:最后的答案某一位是0而低位全是1,之后+1后产生进位形成,因此只要枚举这个0的位置然后更新答案即可
600:比较简单的题,只要把输入串建成ac自动机,然后在自动机上状压dp即可

SRM520

250:由于数据范围比较小,直接 n3 暴力枚举luck的使用情况,再 23 枚举选择情况即可
500:看题目的数据范围,可以先预处理出 dp1[mask][score] ,代表是否得分的情况为mask并且最终得到score分的方案数,只要一层一层dp,并用打标记的方法就可以在 O(maskscore) 的时间内得到,接着一个一个dp即可,dp的过程使用一个后缀更新答案

SRM521

250:贪心即可,只要在’)’没人匹配的时候添加’(‘即可
500:关键点在于包着点的正方形必然卡着某个出现过的x和y,因此我们可以 O(n2) 枚举这个正方形的一个角,之后,由于剩下的点只有n个,只要check一下与这n个点形成的正方形和lowbound与highbound,把符合条件的点插到set中去,最后只要看set中的点数即可,用数据结构维护可以做到 O(n3)logn ,不过直接暴力 O(n4) 也是可以通过的

SRM522

250:其实是一个比较有趣的题,只是这里数据范围太小,可以直接状压dp;不过仔细分析可以发现,alice能赢当且仅当两端有’A’;
450:首先C有一个上界,只要把A改成1,B改成C就可以得到一组解,那么C=A*B,显然有A,B中较小的那个 <=105 <script type="math/tex" id="MathJax-Element-23"><=10^5</script>,因此只需要枚举一下就可以得到答案;另一种解法在于,我发现C的变动不会特别大,因此从 [C500,C+500] 暴力枚举C,之后再枚举约数,更新一下答案即可

SRM523

250:只要等比数列公比不是1,那么项数是很少的,暴力枚举即可,否则只要检查一下c在不在等差数列当中即可
500:tc上比较典型的dp题, dp1[i][j] 代表长为i,高<=j.且最右侧一定被填充的方案数, dp2[i][j] 代表长为i,高<=j的方案数,转移只需要枚举最右测放几个,之后又间隔多少个空格,通过预处理可以得到一个 O(n4) 的解答
identity 身份认证 购VIP最低享 7 折! triangle vip 30元优惠券将在 04:24:36 后过期 去使用 triangle 数据可视化是将复杂的数据集通过图表、图像等视觉元素进行呈现,以便于人们更容易地理解和解读数据。在“数据可视化期末课设~学生成绩可视化分析.zip”这个压缩包中,我们可以看到一系列与数据可视化相关的资源,包括Jupyter代码、HTML图片、答辩PPT以及Word文档,这些内容涵盖了数据可视化的基础到高级应用,适合于完成一个全面的期末课程设计项目。 Jupyter代码是使用Python编程语言进行数据处理和可视化的主要工具。在这个项目中,学生可能使用了pandas库来加载和清洗数据,可能涉及到的数据处理步骤包括去除重复值、处理缺失值以及数据类型转换等。接着,他们可能使用matplotlib或seaborn库来创建各种图表,如直方图、散点图、箱线图等,以展示学生成绩的分布、对比和趋势。此外,更高级的可视化库如plotly或bokeh可能也被用来实现交互式图表,增加用户对数据的理解深度。 保存的HTML图片是Jupyter Notebook的输出结果,它展示了代码运行后的可视化效果。这些图片可以直观地揭示学生成绩的统计特征,例如平均分、标准差、最高分和最低分等。通过颜色编码或者图例,我们可以识别出不同科目或者不同班级的表现,帮助分析教学质量和学生学习情况。 答辩PPT则可能包含项目的概述、目的、方法、结果和结论。在PPT中,学生可能会详细阐述他们选择特定可视化方法的理由,如何解读图表,以及从数据中得出的洞察。此外,PPT的制作也是展示其表达和沟通能力的重要部分,要求清晰、有逻辑地组织信息。 Word文档可能是项目报告,详细记录了整个过程,包括数据来源、预处理步骤、使用的可视化技术、分析结果以及可能遇到的问题和解决方案。报告中的数据分析部分会详细解释图表背后的含义,例如通过对比不同学科的分数分布,找出哪些科目可能存在困难,或者分析成绩与特定因素(如性别、年级等)的关系。 这个压缩包提供了完整的数据可视化项目实例,涉及了数据获取、处理、可视化和解释的一系列步骤,对于学习和掌握数据可视化技能非常有价值。通过这样的练习,学生不仅能够提高编程技巧,还能培养数据驱动思维和问题解决能力,为未来从事数据分析或相关领域的工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值