首页 > 其他分享 >Travel Plan

Travel Plan

时间:2024-08-13 22:28:36浏览次数:13  
标签:sum 路径 节点 Plan overset 长度 Travel 二叉树

注意类似题目这种建树的方式,建出来可能是树,也可能是堆,而前者不一定是连续的编号,后者一定是连续的编号,这就导致了后者左右子树中一个是完全二叉树,另一个不是完全二叉树(这里就要利用这个性质优化时间复杂度);自己做的时候就是没有抓住这个性质导致没有做出来

显然考虑贡献,设\(s_{i,j}=x\),我们挑出两个点作为路径的起点和终点,然后算这条路径的\(s=x\)的数量,但是发现算不出来,因为缺少长度,所以我们引入长度,假设这个路径的长度为\(y\),那么方案数显然就是\(x^y-(x-1)^y\);而除了这条路径的其余\(n-y\)个点,染色方案数为\(m^{n-y}\);假设整棵树长度为\(y\)的路径有\(k_y\)个,那么\(x\)对答案的贡献就是

\[\overset{\text{MAXL}}{\underset{y=1}{\sum}}m^{n-y}(x^y-(x-1)^y)k_yx \]

(其中\(\text{MAXL}\)为最长路径,这个需要分类讨论),所以答案就为

\[\overset{m}{\underset{x=1}{\sum}}\overset{\text{MAXL}}{\underset{y=1}{\sum}}m^{n-y}(x^y-(x-1)^y)k_yx \]

,考虑到\(k_y\)与\(x\)无关且\(\text{MAXL}\)很小,所以交换美剧顺序,有

\[\overset{\text{MAXL}}{\underset{y=1}{\sum}}k_y\overset{m}{\underset{x=1}{\sum}}m^{n-y}(x^y-(x-1)^y)x \]

所以现在的当务之急是计算\(k_y\)。unordered_map好像不能使用pair,所以我们用数组来DP(而不是用unordered_map

设\(g[i][j]\)表示从根节点往下走了\(i\)层(每一层走的方向是确定的,我们都会向非完全二叉树的方向走;当然有时两个子树都是非完全二叉树,比如\(n=11\),此时我们向右走),以当前节点为子树,长度为\(j\)的总方案数;\(h[i]\)表示从根节点往下走了\(i\)层,以当前节点为子树,这棵子树的深度(从\(0\)开始计数)

计算\(g[i][j]\)的时候,我们已经计算好了\(g[i+1]\),所以\(g[i][j]+=g[i+1][j]\);\(g[i][j]\)还要加上完全二叉树的这棵子树的贡献,这个比较容易计算,设\(G[i][j]\)表示深度为\(i\)的完全二叉树,长度为\(j\)的总路径数,推导见代码,于是\(g[i][j]+=G[h[i]-1][j]\)(假设右子树是非完全二叉树,左子树是非完全二叉树的情况有一点点小的改变,但是道理一样);接下来只需要计算经过经过当前根节点的路径就好了,这样的路径又分为两类,一类是根节点为端点,另一类是根节点为中转点。对于前者非常好计算,后者需要枚举一颗子树的长度(为了方便枚举非完全二叉树的长度)然后计算出另一颗子树的长度

时间复杂度为\(O(\sum m\log n+T\log^3 n)\)

标签:sum,路径,节点,Plan,overset,长度,Travel,二叉树
From: https://www.cnblogs.com/dingxingdi/p/18357824

相关文章

  • pytorch_geometric的Planetoid出现“TypeError: expected np.ndarray (got matrix)”
    问题和解决方案运行GCN的例子的时候,出现了这个错误:out=torch.from_numpy(out).to(torch.float)TypeError:expectednp.ndarray(gotmatrix)解决方案:在torch_geometric.io.planetoid.py中添加importnumpyasnp,将out=torch.from_numpy(out).to(torch.float)......
  • [USACO10OPEN] Time Travel S
    题目描述FarmerJohn买了台时光机,这使得他可以方便地管理自己的奶牛群。他现在有 NN 个操作(1≤N≤8×1041≤N≤8×104),每次操作仅可能是如下三种之一:ax:添加一头编号为 xx 的奶牛(1≤x≤1061≤x≤106)。s:卖掉最近添加的奶牛(保证此时至少有一头奶牛)。tx:回到第 xx 次操作......
  • 托福暑假学习的计划与目标[Plan and Goal of TOEFL Learning in Summer]
    时间即日起至8.31日,共计25天任务二十套听力+阅读=听力lecture3*20=60听力conversation2*20=40阅读2*20=40计划分为五个部分进行阅读每日:长难句分析五句话特殊情况,当日完成了一篇托福阅读可以免除长难句分析,但是必须要分析题目听力每日:边词边......
  • (reading report)Careers in Science and Engineering A Student Planning Guide to G
    Chapter1Whatareyourcareergoals? howwelldoyourownskillsandpersonalitymatchthecareeryouimagine?面对新问题、新难题或新需求的挑战,你是否感到兴奋?自然世界的复杂性促使人们去理解它吗?如果是这样的话,科学和工程的学习——尽管严格——将为你提供实......
  • EGO-Planner算法仿真环境搭建
    EGO-Planner算法仿真环境搭建欢迎关注我的B站:https://space.bilibili.com/379384819欢迎交流学习,vx:18074116692参考教程:ZJU-FAST-Lab/自我规划师(github.com)1.查看系统环境要运行本仿真程序,需要保证当前环境为ubuntu18.04+ros-melodic-desktop-full查看ubuntu版本:rosn......
  • 发现这个有趣的问题Dynamic Planning Approach for Radio Tower Placement in Cities
    在ByteLand中,沿轴有n(≤105)个城市,第i个城市位于(A₁,0)(对于1≤i≤n,A≤10°)。在ByteLand,有一家制造无线电塔的电信公司。每个塔的覆盖半径为d,即,当且仅当x-y≤d时,(y,0)处的塔可覆盖(2,0)处的城市。提示:1.目标解决方案基于动态规划,2.问题陈述本身包含有关......
  • 【PlantSaver】电容式土壤湿度传感器使用及原理(并以Arduino实验)
    1.湿度检测原理关于这个传感器检测的原理,网上找的资料不多。类似传感器经典的设计是美国DECAGON公司生产的ECH2O系列传感器。其结构如下:式中:ε0=8.854×10-12为真空介电常数,单位F/m;S为板间遮盖面积,单位m2;C为板间电容量,单位F;δ为板件厚度,m;ε为含高湿敏性基......
  • 洛谷题单指南-前缀和差分与离散化-P1884 [USACO12FEB] Overplanting S
    原题链接:https://www.luogu.com.cn/problem/P1884题意解读:给定n个矩形的平面直角坐标系下左上角、右下角的坐标,计算这n个矩形能覆盖的的格子数。解题思路:直观上来看,此题是一个差分应用,针对二维差分数组,将n个矩形区域内每个格子的值加1,然后统计有多少个不为0的格子即可。但是!坐......
  • ubuntu22.04通过netplan配置网络
    1.以前的网络配置ubuntu系统里通常在/etc/network/interfaces里配置好IP等信息interfaces文件配置内容大概如下:autoenp0s3ifaceenp0s3inetstaticaddress10.0.2.15netmask255.255.255.0gateway10.0.2.1dns-nameservers218.85.157.99保存关闭后,使用sudosystemctl......
  • CF526G Spiders Evil Plan 题解
    Description给定一棵\(n\)个节点的无根树,每条边有边权。有\(q\)次询问,每次询问给出\(x,y\),你需要选择\(y\)条树上的路径,使这些路径形成一个包含\(x\)的连通块,且连通块中包含的边权和最大。\(n,q\le10^5\),强制在线。Solution考虑只有一组询问怎么快速求答案。容......