首页 > 其他分享 >2023.12.16模拟赛总结

2023.12.16模拟赛总结

时间:2023-12-16 16:01:12浏览次数:35  
标签:子树 16 dep 2023.12 lca other 即可 siz 模拟

这次比赛打的好,但又不好,200pts,rank4,但原本可以360pts的

T1

每一条边减去端点贡献,最小生成树即可

T2

从小到大枚举花瓣数,然后对于每一列记录前四大的,防止不能转移,然后直接跑即可

赛时打了一个线段树,被卡常+卡空间,hahaha

T3

暴力,先分解质因数,由于\(\varphi(p^k)=(p-1)p^{k-1}\),那么就可以对于每一个数,记录它的每一个质因子出现了多少次,每一次乘就对于质因子累加,而且由于\(2*3*5*7*9>600\),所以最多又4个质因子,可以看成常数,然后就可以\(O(1)\)更新答案,然后就直接\(O(nq)\)即可

赛时被shaber出题人用\(1e8+7\)给爆掉了

T4

这是一个究极抽象的做法

我们把它分成两部分来讲

part 1

如何求一个节点和特定的子树内的所有节点的距离和

这个可以用线段树,每次dfs到了一个点就对应在线段树中更新,然后用dfs序代表节点,然后直接查询区间和

part 2

回到原题,由于上面的,我们只需要求出一个满足条件的点即可,对于有另一个子树的,就可以根据\(dep_i+dep_j-2*dep_{lca_{i,j}}\),而lca就是两个根的lca,直接统计即可

先考虑两个有并的情况,这就只用考虑一颗子树的情况

我们先考虑从一个点x到他的一个儿子y会产生的变化

显然,\(ans=ans-siz[y]+other\)

我们要这个ans最大

首先,把树重链剖分,那么重心一定在根所在的到底的重链上,因为这样走,就能保证siz尽量的大,而如果有两个大小相同的子树,那么就不会再向下了,所以不会出现走到劣的情况

由于子树大小是递减的,而其他的点的数量是递增的,所以可以二分,每次查\(other-siz[y]\)是否大于0,这样就找到了一个点

而两颗子树的,必定只有两个子树和子树根之间的路径可能会有重心

我们分析一下,设两个子树的大小为x,y

那么往x那边偏移的贡献就是\(siz[y]-siz[x]\),那么重心就一定会在大小较大的子树内,因为上面的要尽量小于0,那么就可以像上面那样做,而other加上小子树的大小即可

标签:子树,16,dep,2023.12,lca,other,即可,siz,模拟
From: https://www.cnblogs.com/longzhaocheng/p/17904932.html

相关文章

  • 2023 Dec. 16th
    上一周晚去补了语文英语,每天两节课,感觉没什么实质性的作用,而且每天都写不完作业,落了一堆。每天都因为写不完作业很烦......周六还迎来了周测,没想象中的那么难,也没那么简单,语文还没出分,只感觉作文写的跟屎一样;数学周三考的,115,还行;英语102.5/120,在班里挺靠前的,但还是感觉拉了;生物挺......
  • 12月16日总结
    在看kube-scheduler组件的过程中遇到了kube-scheduler对于client-go的调用,泛泛的理解调用过程总有种隔靴搔痒的感觉,于是调转头先把client-go理清楚在回来看kube-scheduler。为什么要看client-go,并且要深入到原理,源码层面去看。很简单,因为它很重要。重要在两方面:kubern......
  • 【笔记】2023.12.16 动态规划
    笔记2023.12.16:动态规划今天题目很多,可能有些题不口胡了。LOJ6089小Y的背包计数问题前\(\sqrtn\)个物品直接做单调队列优化是\(O(n\sqrtn)\)。大于\(\sqrtn\)的是完全背包。考虑到完全背包\(v\)的OGF为\(\dfrac{1}{1-x^{v}}\)。这不行。你考虑到对于一个物......
  • P1416 攻击火星
    思路:需要构造出一种最优解情况这样就最多能删去2个#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ intn; cin>>n; intans=max(0,n-2); cout<<ans;}intmain(){ ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); intt=1; //cin>>t; for(i......
  • 2023-12-16 闲话 中午没睡着
    这半年受这个b回答的影响,发奋图强,现在实力如下:通过考前突击进行刷绩点,绩点寄了。通过每天复健卷竞赛,杭州吃屎了。所有区域赛第45顺位进入ecfinal,金牌堪忧。通过每天知乎b站强训neuronnetwork/robotics,现在水平是等着寒假再学一遍通过boss直聘找实习,找了半个月一个实习机会......
  • P2516 [HAOI2010] 最长公共子序列
    求方案数,直接从\(f[i-1][j]\)和\(f[i][j-1]\)转移过来,如果\(s1[i]==s2[j]\)就加上\(f[i-1][j-1]\),如果\(s1[i]!=s2[j]\)且\(f[i][j]==f[i-1][j-1]\)说明两边转移到了\(f[i-1][j-1]\),减去重复部分\(f[i-1][j-1]\)就行了。比较好的理解方式是画个网格图,如果\(s1[......
  • 2023.12.15
    分布式文件系统的特点如下:hdfs的主从结构: hdfs的分块存储:  hdfs的副本机制:为了保证数据安全,把数据放到其他机器上 hadoop文件系统操作:hadoopfs  这个Hadoop配置了默认访问为hdfs文件系统。hdfs常用shell命令:   本地文件系统即客户端所在机器,假如你在n......
  • 2023.12.15——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.c#明日计划:学习......
  • openGauss学习笔记-160 openGauss 数据库运维-备份与恢复-导出数据-使用gs_dump和gs_d
    openGauss学习笔记-160openGauss数据库运维-备份与恢复-导出数据-使用gs_dump和gs_dumpall命令导出数据-导出所有数据库-导出全局对象160.1导出全局对象openGauss支持使用gs_dumpall工具导出所有数据库公共的全局对象,包含数据库用户和组、表空间及属性(例如:适用于数据库整体的......
  • (16)FastReport 预览设置
    https://www.cnblogs.com/txgh/p/17641518.htmlFastReport预览设置属性和方法TfrxPreviewOptions.AllowEditpropertyAllowEdit:Boolean;启用或禁用已完成的报表编辑。默认值为 True。TfrxPreviewOptions.AllowPreviewEditpropertyAllowPreviewEdit:Boolean;在报......