首页 > 其他分享 >csp-s 模拟 10

csp-s 模拟 10

时间:2024-10-10 09:12:24浏览次数:7  
标签:10 结点 复杂度 合法 位数 序列 csp 模拟 总和

csp-s模拟10

T1 欧几里得的噩梦

签到题?

如果会线性基的话 ...

由于位数较多直接上线性基肯定是不行的,但是由于题目给出的数在二进制下位数很少,手动模拟一下一个二进制下只有一位的数插入,发现那些二位的数变为了一条边,最后边指向的位数就是它所插入的位置,考虑二位的数其实本质上是相同的,两位相对独立,两位分别到达最后的位数,若不相等则自己作为一条边加入集合,若相等则不合法,对于只有一位的数可以都将其视为两位,可以看做在 0 位上为 1 (等于是一个虚点了)。用并查集加快这个过程即可。

时间复杂度 \(O(n\alpha(n))\)。

T 清扫

结论题

先想想 sub1 即为一个菊花时该怎么做。

对于非叶子结点(根)是什么都不确定,但是叶子结点却是确定的,因为它的度数为 1,只能向上,那么问题转移到在根怎么合并儿子的需求。

这个问题等同于给定一个序列,每次选择两个不同的数同时减少 1,最后是否能恰好都减为 0 。
结论:当且仅当序列的总和为偶数且最大值不超过总和的一半。
这两个限制显然具有必要性,现在证明其充分性。
考虑数学归纳法,现在已有一个序列总和为偶数且最大值不超过总和的一半,那么必然存在一个操作能使下一个局面依旧合法,即每次选择最大和次大,而最终状态显然是一个合法状态,而每次操作总和必然减少,所以一定能到达全为 0 的状态,证毕。

考虑扩展到不是菊花的模型上,因为叶子结点向上的需求依旧是固定的,所以考虑从下往上将信息一步一步的确定,手模一下发现当一个结点儿子的需求已经确定后自己的需求也是确定的,那么就可一套用上面的结论直接做了。

时间复杂度 \(O(n)\)。

T 购物

结论题

考虑单个 k 合法的充要条件,显然如果原序列中存在属于 \([k,2k]\) 的数 k 是合法的,而大于 \(2k\) 的数显然是不能选择的,现在考虑小于 \(k\) 的数。结论:当序列中小于 \(k\) 的数之和大于等于 \(k\) 是 \(k\) 是合法的,证明考虑每次随便减少一个数,则最后一定能将和控制到 \([k,2k]\)。那么序列中每种数对应两个区间,总共有 \(O(2n)\) 个区间,计算这些区间的并即可。

时间复杂度瓶颈在排序为 \(O(nlogn)\)。

T ants

签到题

直接上序列回滚莫队+值域链表即可。

时间复杂度 \(O(n\sqrt n)\)。

p

标签:10,结点,复杂度,合法,位数,序列,csp,模拟,总和
From: https://www.cnblogs.com/07Qyun/p/18455539

相关文章

  • 多校A层冲刺NOIP2024模拟赛04
    A.02表示法对要求的数二进制拆分,每一位递归求解,大于2就继续拆,是1返回\(2(0)\),是2返回\(2\),由于外层的数比较大,所以要写一个高精除低精点击查看代码#include<bits/stdc++.h>#defineintlonglongconstintmaxn=1e5+10;usingnamespacestd;intn,ans[maxn],top;str......
  • UpdatePack7R2 24.10.10 参数详细说明及示例
    UpdatePack7R224.10.10使用示例以下是一些使用UpdatePack7R2的示例命令:自动安装所有更新,包括InternetExplorer11,并重启计算机:CopyCodeUpdatePack7R2.exe/ie11/silent/reboot隐藏所有现有产品的更新,不更改InternetExplorer的版本,并且不重启计算机:CopyCode......
  • 「模拟赛」A 层多校联训 4(卖品:CTH)
    双倒一啦!感觉这次最大的错误就是没看T2。(本质原因还是时间浪费的太多了)赛时记录在闲话啦accoder多校比赛链接02表示法唐诗题!考高精的人都\(**\),输出深度优先搜索解决。高精乘2、高精减。子串的子串官方题解写的不好,放一下Ratio的好吃题解:意思就是:\(ans_{l,r-1}\)......
  • 2024.10.9
    完善由合同来直接生成制令的代码publicvoidinsertOrdersByContract(Contractscontract){//查询刚刚插入的合同contract=contractsMapper.selectContractsList(contract).get(0);//1.根据合同生成唯一的总制令Ordersorders=newO......
  • 《花100块做个摸鱼小网站! 》第七篇—谁访问了我们的网站?
    ⭐️基础链接导航⭐️服务器→☁️阿里云活动地址看样例→......
  • 2024-10-9
    form表单实操点击查看代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Docume......
  • 10 - platform 设备驱动
    ----整理自王利涛老师课程文章目录1.第一个platform驱动2.platform驱动注册过程分析2.1platform总线的注册过程2.2platform设备的注册过程2.3platform驱动的注册过程3.platformbusmatch方法4.注册一个字符设备驱动5.自动创建设备节点6.platform......
  • 10.9日牛客CSP-S考试总结
    10.9日牛客CSP-S考试总结T1考场上大概看了一个多小时,想了一个部分分的做法,结果变界判断错误,导致puts("-1");的分也没拿到。T2大部分时间在做这题,想了一个搜索的做法,每次枚举从哪个时刻出发,取了一个较为合适的范围,又加了一个类似于spfa容错的优化。但是因为范围开小就会导致正......
  • js学习 -2024/10/9
    今天学习了js中的一些知识DOM通过document.get...函数获取元素对象可以查阅h3school资料找对象的函数,操作对象,//根据id获取元素对象//letid=document.getElementById('back');//id.src="../img/02.png";//根据标签获取元素对象vardivss=document.getElement......
  • 10-12 ~ 10-26 停课记录
    模拟赛10-12(周六)AtCoderBeginnerContest37510-13(周日)08:30~12:00【LGR-201-Div.3】SCP2024第二轮(复赛J组)模拟14:30~18:30【LGR-202-Div.2】SCP2024第二轮(复赛S组)模拟&「KDOI」Round10noip模拟赛#7AtCoderRegularContest18510-14(周一)Oct/14/2......