集训 0617

今天的题目很良心,都切中我们当前急需提高的地方,针对性强。

第一题是道有趣的贪心题目。

多组询问用长度为k的祖先儿子链覆盖一棵树的最小使用次数。

首先,贪心性质很容易看出来,每次选择一个未被覆盖深度最深的叶子节点,往上覆盖K个点,这样构造一定能构造出一种最佳方案。可以用优先队列维护。

那么我们考虑如何加速这个过程,或者说,如何均摊查询的复杂度。

使用上面的构造方法,很容易看出来,单次复杂度很容易卡成O(n),而且不同的K基本上复杂度都没有什么变化。

考虑一下上面的贪心的点个数,设叶子数为L,则入队点的个数不超过O(L+(n-L)/k)

这个可以根据以上贪心的部分证明。

那么再考虑本质不同的K,本质相同的K我们可以直接记下来答案,则相当于复杂度为

∑(1<=k<=n)O(L+(n-L)/k)。

这里的L十分讨厌,不优化到L无法实现均摊,尝试优化掉这个L,这个东西可以使用DP求d[i]表示i节点最近的叶节点的距离即可。

然后我们就发现这玩意均摊完了是nlog2n的。

考试时,一方面状态设置得不好,导致一个问题不好解决,另一方面没有想到去掉L,于是只拿了52.

第二题:

推DP状态的题目。

题解里给了4个状态:

暴力状态。

f[i][S],S表示排列状态,阶乘级别状态。

f[i][x][S],S表示2进制状态,幂级状态。

f[x][y][0/1/2/3],n^2级别状态,多项式级别的状态。

很有趣,很多考试中都会出现这种类型的题目。

恩,推出了前两个,在考虑第三个时,经验不足,挂了,然后卡常...

第三题:

考虑若x>y且x放到了y的前面那么x将一直放在y的后面。

那么可以将x,y进行考虑贡献,就成了二维数点问题。

恩,没推导出二位数点,10分辛苦分。

总的来说,考挂的原因主要是1.模型挂了2.状态设置以及性质推导。

时间: 2024-10-07 02:34:00

集训 0617的相关文章

2014年CCNU-ACM暑期集训总结

2014年CCNU-ACM暑期集训总结 那个本期待已久的暑期集训竟然就这样的,溜走了.让自己有点措手不及,更多的是对自己的疑问,自己能否在ACM这个领域有所成就.带着这个疑问,先对这个暑假做个总结吧. 第一周来的时候,状态还没有融入进去,学长们也不在,就直接布置了一套题目,考察的是贪心策略.学习的时候很有激情,毕竟是期待了那么久的场景,所以大家都很认真,希望自己能够有所进步. 第二周,搜索专题.主要学习宽度优先搜索(BFS)与深度优先搜索(DFS),刚开始学比较吃力,因为自己对这方面的领悟有点迟

【半集训记录】

DAY I 话说什么叫半集训?有的课上就不错了,还关心半不半…… 早上刷了CF666……觉得自己越来越傻了,下午默默滚去字符串(话说我曾经是会自动机的……就是……忘了……) 然后就是在各种论文里懵逼……总之后缀基本是打熟了……颓了一发主席树……数据结构还是比较辣鸡,然后就陷入概率DP+AC自动机的漩涡,无法自拔…… 今天效率不高啊……总之就是状态不好,明天得加把劲. 一天在bzoj上如果刷4~6道题,联赛就又有200+刷题量(虽然不是太多,但来日方长). 加油. loading……

[补档]暑假集训D3总结

考试 集训第一次考试,然而- - 总共四道题,两道打了DFS,一道暴力,一道~~输出样例~~乱搞,都是泪啊- - 目前只改了三道,回头改完那道题再上题解吧- - T2 [Poi2010]Monotonicity 2   https://hzoi-mafia.github.io/2017/07/27/20/ T3 [中山市选2011]杀人游戏   https://hzoi-mafia.github.io/2017/07/27/19/ T4 弱题  https://hzoi-mafia.github

#6030. 【雅礼集训 2017 Day1】矩阵

#6030. 「雅礼集训 2017 Day1」矩阵 题目描述 有一个 n×n  的矩阵,每个位置 (i,j) 如果是 . 表示为白色,如果是 # 表示为黑色. 初始时,每个位置可以是黑色或白色的,(i,j)  位置的值会作为 ai,j 给你. 现在有一种操作,选择两个整数 i,j∈[1,n],记 (i,1),(i,2),…,(i,n) (i, 1), (i, 2)的颜色为 C1,C2,…Cn ??,将 (1,j),(2,j),…,(n,j)  的颜色赋为 C1,C2,…,Cn ??. 你的任务是

大集训的第二个小总结

时间从8.2又到了8.9号,过去了一周,又考了5场试,又有学长来讲东西,但也有不少福利,先是分西瓜,后来又是分零食,昨天又分了香蕉,不错不错. 照例先说一下考试,这次数据还没下来,回头补吧. 第一次,16名. 第二次,6名. 第三次,1名. 第四次,25名. 第五次,20名. 好吧,前期发育猥琐,后期打的不好.最终刨去两个高一大佬12名,还是没进前十,算了,习惯这种心碎的感觉了. 同桌Q某犇说我贪得无厌,或许吧,但我觉得如果有一天我真的不去追求更高的能力恐怕我就会去退役了吧. 知识方面比起上次貌

[补档]2017-7-9至2017-7-15小集训总结

关于考试 说实话,没想到能考成这个样子,总共不到30个人,D1考试rk4,到D4rk二十几,真是interesting(annoying),明明有好多题都基本上是正解却还不如暴力分多啊喂= = 明明打上了矩阵,结果发现矩阵建成了一坨奇奇怪怪的东西,明明能现场推出来tarjan(不要问我为什么要现场推= =),却生生要用它打dfs,明明最暴力都能过的题(谁能告诉我为啥树剖T的题,一个一个爬就能过),明明树剖都打完了,线段树竟然不会打了... 这事情真的难办啊... 关于刷题 这几天的题也是很神奇的

yzm10的ACM集训小感

7月30号,ACM集训进行了两周,一切都已on the right way.这时的我适时地从题海中探出头,其实除了刷题,也该写点什么来总结下过去.首先,在第一周里,我学习了数据结构,知道了STL这么一个神奇的存在.不管是stack.queue亦或multiset,还有最具代表的priority_queue(习惯性地打上下划线..)有时候堆的logn真的能帮你优化不少时间.只需一个头文件,你就可以调用他们(美滋滋~).还有k学长讲的并查集也非常实用,区间合并用到cys学长share的next跳(类

2017暑假集训前总结和规划

距离大一进来已经一年了啊,感觉还是啥也不会,哎,太差了,总结一下这一年都学了写什么吧! 大一寒假开始专题,刷过的有:dp,dfs和bfs,数论(gcd拓展gcd,欧拉定理等等,但是中国剩余定理没学,等复习的时候再学吧),并查集,最短路(bellman-fprd,dijkstra,floyd-warshall,spfa),最小生成树(prim,kruskal),线段树,二分三分 大一下学期有:拓扑排序,基础计算几何(直线线段相交,快速排除实验,跨立实验),矩阵快速幂,博弈基础(nim博弈,威佐夫博

2017雅礼省选集训做题记录

嘛,最近在补雅礼省选前集训的题.都是我会做的题..那一定是最水的那些题啦 题目在loj.ac上都有.过段时间如果搬了雅礼NOI集训的题应该也会做做的吧.. Day1 T1 一道经典套路题,做法跟UOJ #228基础数据结构练习题类似. 使用线段树维护.考虑相邻两个数的差值最多变化log次.也就是说,对于每个区间,只要操作二进行大概log次就能使得这个区间内所有数完全一样.所以对于操作二,只要记录一下区间最大最小值,就能直接打标记或者暴力DFS下去. 和UOJ那个题一样,注意一个特殊情况,就是一个