首页 > 其他分享 >10.5总结(完成)

10.5总结(完成)

时间:2022-10-05 17:36:12浏览次数:60  
标签:总结 frac 暴力 线段 bitset 完成 10.5 100 复杂度

写在前面的话:暴力yyds!

T1

期盼:100 实际:100

题如其名,属实是签到题了。直接暴力,因为题目说拿走两个相同的数x后会放入数x+1,所以我一下子想到了二进制,把\(a_i\)个i当成在第i位上有\(a_i\)个1。把问题转化一下,我们需要求的实际上是可以进位多少次。直接对每个\(a_i\)进行累加,把进位的值加入后一位。需要注意的是n次操作后不一定进位完,还要继续算。时间复杂度\(O(n)\)

考场上这种题属于必拿分,做完之后要检查,一定不能失分。

T2

期盼:100 实际:100

考场上我一开始是打的暴力,打完之后大样例只跑了0.3s,就估算了一下时间复杂度发现应该能过,总之真的过了还是比较意外的。

看到这道题的第一眼,我就想到了昨天我幸幸苦苦打的线段树二分。而昨天为了正确的打出线段树二分看了很多资料,因此发现线段树二分太有用了,甚至可以用无序数组查找+单点修改。于是我在打线段树时加入了一点二分的思想来优化,就成功的过了。

本题方法有很多分块/线段树都可以过,但思想都是一样的,个人认为线段树更优,因为分块要用stl,而stl众所周知跑的很慢。对于操作1,直接线段树单点修改;而对于操作2就有些难度了,我们维护线段树子区间的最大值,对于最大值小于要取余的数k的子树直接跳过,所以我们只对单点值大于k的数取余;对于操作3,我们直接区间维护最大值就好了。

方法:线段树单点修改+区间查询

image

关于复杂度:对于一个数\(a\)我们最多取余\(loga\)次,这个数就会变为1或0。所以时间复杂度为\(O(nlognloga)\)

T3

期盼:10 实际:10

一道数学题,\(O(n)\)预处理+\(O(1)\)的输出.

谢邀,希望以后出题人少点数学,多点良心。遇上数学题我基本就只能拿暴力分,而像今天这种卡的比较严的,推出公式100分是没问题的,但我基本上推不出公式,只有暴力的10分,分差还是比较大。不过说实话就算我考场上记得错排公式,我也无法分类讨论后得到正确的公式。

题目明确的告诉我们这道题和错排有关,而错排的公式为\(D(n)=(n-1)(D(n-1)+D(n-2))\),特别的\(D_{1}=0,D_{2}=1\)。

我们分三种情况来讨论:

  1. i,j,\(a_i,a_j\)互不相同,因为交换一定可以产生贡献。总共:\(\frac{d_{n-2}}{2}*\frac{n*(n-1)}{2}\)
  2. \(a_i=i,a_j=j\)显然交换后可以产生贡献。总共:\(\frac{d_{n}}{2}*\frac{n*(n-1)}{2}\)
  3. \(a_i=j,a_j!=i\)这种情况要么直接是逆序对;要么如视频里讲的那样,一通交换形成逆序对(\(a_i=a_j,a_j=i\)),因为涉及三个数,总贡献为:\(\frac{n*(n-1)*(n-2)}{3}*\frac{d_{n-1}}{2}*\frac{1}{n-2}\)

把以上三种情况加起来的总贡献,即为答案。(注意:当n为2时需要特判)

T4

期盼:35 实际:45

说吧,出题人你还有没有良心。

一道诈骗题,要不是不会写我就用字符串黑科技,成功被出题人给骗了。考场上直接打的暴力程序,总结下来几个优点:多、快、好写,时间复杂度\(O(n^2)\)~\(O(n^3)\),直接爆掉,目标就是拿部分分。

万万没想到要用bitset。先预处理把所有的点存入bitset,如果这个点出现了,就把bitset[s[i]]的第i位赋值为1。
对于修改操作直接\(O(1)\)暴力修改;对于查询操作,我们把字符串t的第i位的bitset>>i与存答案的res进行and操作,最终res中区间[l,r]中1的个数,即为答案。

标签:总结,frac,暴力,线段,bitset,完成,10.5,100,复杂度
From: https://www.cnblogs.com/mkik/p/16755940.html

相关文章

  • 2022.10.5 总结
    A初始时只有\(a_k=1\),有\(m\)次操作,每次交换\(a_u,a_v\)的值,问忽略多少次操作可以使最终\(a_i=1\).简单DP即可。code#include<algorithm>#include<cstdio>#in......
  • 2022.10.05考试总结
    2022.10.05考试总结得分:\(280/400\)总结:今天考试题目比较简单,第一,二题都是结论题,第三题在考场上因为没有考虑到有五十位导致挂了\(50\)分,第四题想到了正解,但是考试的时候......
  • 10.5 模拟赛
    \(\rmNOIP\)模拟赛\(\rmDate:10.5\)上次真是太变态了,这次就平和许多另外,不要在意accoders那丧心病狂的评测机速度了今天4道都是CF原题\(T1\)CF1252G一看上去居......
  • 2022.10.5 若干代数题
    链接对\(\foralla,b,c\ge0\)且满足\((a^2+b^2)(b^2+c^2)(c^2+a^2)=2\),求\(a+b+c\)的最值思考三元换二元链接对\(a,b,c\ge0\)且\(ab+bc+ca=1\),求\[P=\frac{a......
  • 大数据总结
    一开始以为只要装zookeeper和hadoop还有hbase,没想到还有很多要装的。于是这周又装了sqoop,hive,kafka,spark(有带hadoop依赖版和不带的)也可以都用brew装,挺方便的,就是说去官网......
  • 2022.10.5 模拟赛
    T1签到题题面Description给定\(n\)个数,求出这\(n\)个数的一个非空子集,使得这个子集中的数的和能被\(n\)整除,无解输出\(-1\).Input第一行为数据组数\(T\)接下来\(T\)......
  • 关于PCS7服务器-客户机项目的画面树的一点总结
    服务器与客户端的画面树是独立的!客户机的画面树并不是从服务器上分配过去的。OSClient的画面树需在OS1中组态,其他参考站OSClientreference的仅参考OS1的画面树;服务器的......
  • 小猪学Java篇十九(Java基础语法------------Java基础语法总结)
    Java基础语法总结一,大纲:所学内容 (一),注释,标识符,关键字(二)、数据类型(三),类型转换(四),变量,常量(五),运算符(六),包机制,JavaDoc  二,逐个回顾(一),注释,标识符,关键......
  • 2022.10.5java特性和优势
    Java构建工具:Ant,Maven,Jekins应用服务器:Tomcat,Jettty,Jboss,Websphere,weblogicWeb开发:Struts,Spring,Hibernate,myBatis开发工具:Eclipse,Netbean,intellij......
  • 目标检测多模型集成方法总结
    作者:VikasSShetty编译:ronghuaiyang(AI公园)导读模型集成是一种提升模型能力的常用方法,但通常也会带来推理时间的增加,在物体检测上效果如何,可以看看。介绍集成机器学习模型是......