首页 > 其他分享 >2024.7 做题记录 2 / 顾影自怜了几回 直到看见妄自蕤

2024.7 做题记录 2 / 顾影自怜了几回 直到看见妄自蕤

时间:2024-07-19 20:29:32浏览次数:9  
标签:node 妄自 2024.7 好孩子 可以 然后 顾影自怜 直接 发牌

CF653E

不难发现其实就是在假想中建立出可以存在的边的图,要求跟 \(1\) 相连的连通块个数 \(\leq k\) 且与 \(1\) 的连边个数 \(\geq k\) 且 全图联通,这个我们只需要知道其去掉 \(1\) 的连通性就很好讨论了。

我们其实不能直接建出这个极度稠密的图,但是我们可以用数据结构优化建图,直接线段树优化建图即可,具体而言我们维护线段树区间 \([l,r]\) 对应一个点 \(node_{l,r}\),比如说 \(x\) 第一次需要这个区间的就往 \([l,r]\) 上面依次连边,然后记录好 \(node_{l,r}\gets x\),之后如果要这个区间直接跟 \(x\) 连上就行了,但是这样子还是会 mle 喵,我们可以加一个小剪枝,就是说如果我们理论上要去拿一个 \(x\) 去连接已经有 \(node_{l,r}\) 的 \([l,r]\) 的子区间,可以直接连到 \(node_{l,r}\) 上面,反正连通性一样,然后这样就过掉了喵喵喵 >w<


CF965E

比较滴唐,直接建立出字典树,然后结点可能是有/无字符的,然后一个无字符点可以换一个子树中的有字符点上去,这个东西还是比较随便的,直接树上从下往上合并就可以了,可以 dfn 一个序列每次找区间 rmq + 带修改是一个可爱的线段树。听课的时候说,字典树的 \(\sum dep_i=\sum |S_i|\),其实暴力合并复杂度也很对。


CF1260E

你的朋友具有贿赂他人的能力,其实你的朋友才是最强的,对于原题中在 \(-1\) 左边的 \(a_i\gets 0\) 之后变成了,打败一个人 \(i\) 的代价是 \(a_i\) 询问最小代价。

然后有两个比较显然的观察,除去你的朋友能力值最强的人肯定会贡献 & 将除了你的朋友的人分成 \(1,2,\dots,\frac{n}{2}\) 这样一块一块然后每一块最强的人 win 肯定会贡献。

那我们照着这两个比较显然的东西往下想,但是我们好像没办法直接钦定除了你的朋友的意义下的最强者的一个很具体的连通块,那我们应该考虑一个合法的 winner 集合,这个 winner 集合的第一位一定是第一好孩子,假设这个第一好孩子喵了一个大小为 \(x_1\) 的连通块,那么去掉之后前 \(x_1+1\) 的超级好孩子都可以成为第二好孩子,假设这个第二好孩子喵了一个大小为 \(x_2\) 的连通块,那么去掉第一第二好孩子后前 \(x_1+x_2+1\) 的超级好孩子都可以成为第三好孩子,以此类推,贪心的想,\(x_i\) 肯定直接倒序给嘛,然后具体的获得 winner 就直接在堆里面贪心就好啦。


CF623B

首先注意到 \(m<n\),然后质数不劣,那 \(a_1,a_n\) 的质因数可能成为一个公约数且一定存在一个最优的公约数,现在考虑这个 \(p\) 的答案是什么,直接 dp 求出就可以了,具体的必须删除的位置要多仔细考虑一下。


CF1088E

首先观察到答案为 \(Ans\),那么选和 \(<Ans\) 都很没有必要,那么 \(k=1\) 肯定可以卷出一个 \(Ans\),卷出 \(Ans\) 之后最大化 \(k\) 就直接 dp 的时候碰到最好的置 \(0\) 答案 \(+1\),相当于一个尽量往下选的贪心。


CF794D

首先先考虑这个图长成什么样子,然后不难发现假设自己能到达自己,那么同一种 \(x\) 的能到达集合是相同的,我们对能到达的集合的点进行哈希,然后 \(x\) 相同的颜色块就可以拿出来了,然后连接不同颜色块的边的约束其实是一个差为 \(1\),使用 dfs 染色就可以了,为了方便可以从链的端点出发去染色。染完色之后暴力判定就行了,我觉得方便的判定方式是先判定边数是否正确,再判定原题中的边现在是否合法。


gosh 计划 7.18 A. 发牌姬(card)

image

第一位 \(1\) 对准,起点和下一个起点的 \(\mod M\) 已经被钦定了,建立边表示这个字符串然后就变成了欧拉回路。


gosh 计划 7.18 A. 发牌姬(card)


gosh 计划 7.18 A. 发牌姬(card)

标签:node,妄自,2024.7,好孩子,可以,然后,顾影自怜,直接,发牌
From: https://www.cnblogs.com/chelsyqwq/p/18312318

相关文章

  • 2024.7.19 近期练习
    CF623B考虑枚举\(\gcd=d\),我们先假设没有\(a\)操作,所有数都需要\(b\)操作来实现。那么,形如\(kd\pm1\)的数需要代价为\(b\),\(kd\)的数无需代价,然而可能存在没法通过\(b\)操作被\(d\)整除的数。若没有上述数呢,我们现在加入\(a\)操作,这是一个最大子段和问题,求出一......
  • 2024.7.18模拟赛
    模拟赛困T1琪露诺的算数游戏小·大模拟,注意:负数向下取整可用右移或floor。优先级,注意有标记和无标记是不同的,可以用map初始化。解牌除标记后直接跳下一个人。区分\(D\)和\(DOUBLE\)。大模拟打的太少了这里这里这里!!!code#include<bits/stdc++.h>usingnamespac......
  • 【闲话】2024.7.18
    按照惯例,应当择良辰吉日写闲话。从上一篇5.19到今天两个月的时间大概是期末、分班、联考这样几个时间节点。首先是期末考试喜提化学60多分,不会原理和结构也顺带把有机带跑了,最后一道结构答题喜提2/14。最后名次是248,似乎也还可以接受,不过偏科非常严重。由于众所周知的原因......
  • 2024.7.17
    springboothivejdk17更换成了jdk1.8pom.xml测试配置和hive连接的依赖<dependency><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId><version>5.7.2</......
  • 2024.7.17
    2024.7.17【我们必须知道,我们必将知道】Wednesday六月十二P5999[CEOI2016]kangaroo//2024.7.17//bywhite_ice//P5999[CEOI2016]kangaroo#include<bits/stdc++.h>usingnamespacestd;#defineitnlonglong#defineintlonglongconstexprintoo=4003;co......
  • 2024.7.17 鲜花
    極私的極彩色アンサー-TOGENASHITOGEARI——fromK*(K8)我怎么每天早上补昨天没写完的鲜花。算了,放到今天吧。书接上回发现2开了,和幂次没关系了。发现有\(b-a+1\)个数,猜到是区间。考虑\(p\)和分布位置,可知是质数。线性筛即可。910.值域偏大,可以用Miller_......
  • 2024.7.15 近期练习
    P3488[POI2009]LYZ-IceSkates我们对于鞋码为\(x\)的人,贪心地,显然先把鞋小的给他穿。所以就有了一个暴力的检验方法:从左往右扫,并对应修改。但是这样太慢。这是一个二分图匹配问题,考虑Hall定理。对于任意\(1\lel\ler\len\),当\(sum(a_l\sima_r)\le(r-l+1+d)k\)时合......
  • 2024.7.16
    ###2024.7.16【Ineverlose.Ieitherwinorlearn.】###Tuesday六月十一---##0/1Trie学习笔记使用trie维护异或极值可以使用0/1Trie,这是一种以{0,1}为字符集的Trie树,他支持修改和全局加一使用异或操作时,我们其实并不需要知道每一位上的具体值,只需要知道每一位......
  • [考试记录] 2024.7.15 csp-s模拟赛4
    2024.7.15csp-s模拟赛4T1传送带题面翻译有一个长度为\(n\)的一维网格。网格的第\(i\)个单元格包含字符\(s_i\),是“<”或“>”。当弹球放在其中一个格子上时,它会按照以下规则移动:如果弹球位于第\(i\)个格子上且\(s_i\)为'<',则弹球在下一秒会向左移动一个单元格;如......
  • JavaAPI练习(1) (2024.7.15)
        Math类packageMathExercise20240715;//Math类所在的是java.lang包,属于核心包,无需导包publicclassMathExercise{publicstaticvoidmain(String[]args){//Math方法为静态的,不需要创建对象,直接类名调用即可//abs返回参数的绝对......