首页 > 其他分享 >Sasha and a Walk in the City

Sasha and a Walk in the City

时间:2024-02-19 17:22:36浏览次数:37  
标签:City 子树 一个点 解集 Sasha 选择 点集 Walk

先写一下官方题解

首先原问题有一个很显然的解集:点集中任意两点不存在祖孙关系

所以我们令\(f[v]\)表示以\(v\)为根的子树的点集的数目,这些点集中任意两点不存在祖孙关系

如果一个解集中有一个点是另一个点的祖先,我们画出图

那么这个点上面的点(包括这些点的分支)是肯定不能选择的,所以这个解集的剩下的点只能在这个点的子树里面选择

怎么选择?就是利用\(f\)数组!

枚举\(v\)的每个子树,加上其\(f\)就好了。因为肯定不能同时选择两个及以上的子树,因为现在已经选择了\(v\)了,这样会三点共线

然后把每个点的贡献全部加起来就好了

在说一下我的解法

因为做这道题目的时候很明显的可以发现不要三点共线,然后考虑一颗子树的时候就想到从这颗子树选出一个点集,这个点集是否存在两点的连线的延长线到达根节点(也就是是否存在一个点是另一个点的祖先)是一个很关键的信息

所以我们设\(f[v][0]\)表示没有,\(f[v][1]\)表示有,然后推导看CF的代码吧

标签:City,子树,一个点,解集,Sasha,选择,点集,Walk
From: https://www.cnblogs.com/dingxingdi/p/18021552

相关文章

  • Sasha and the Drawing
    比较简单的一道思维题目,毕竟只有800分也是很典型的套路,首先讨论下界,发现每一个正方形最多影响两条对角线,所以可以发现答案的下界然后观察下样例,我们模仿一下样例,按照官方题解的说法,就是"sidecells"指左下和右下的两个正方形然后接下来,官方题解就说两个sidecells是包含两个......
  • Skywalking-Aop Docker单机环境搭建
    本次搭建是基于MySQL进行持久化,因此需要提前准备好一个MySQL容器(MySQL容器部署略过)。如有错误还请指正。OAP服务搭建拉取skywalking-oap镜像dockerpullapache/skywalking-oap-server:8.9.0接下来可以进行一个简单的启动,目的是拷贝出config目录到宿主机后进行挂载(docke......
  • D. Sasha and a Walk in the City
    D.SashaandaWalkintheCitySashawantstotakeawalkwithhisgirlfriendinthecity.Thecityconsistsof$n$intersections,numberedfrom$1$to$n$.Someofthemareconnectedbyroads,andfromanyintersection,thereisexactlyonesimplepath$......
  • 10分钟3个步骤集成使用SkyWalking
    随着业务发展壮大,微服务越来越多,调用链路越来越复杂,需要快速建立链路跟踪系统,以及建立系统的可观测性,以便快速了解系统的整体运行情况。此时就非常推荐SkyWalking了,SkyWalking不仅仅是一款链路跟踪工具,还可以作为一个系统监控工具,还具有告警功能。使用简便、上手又快。真可谓快、......
  • SP277 CTGAME - City Game 题解
    题目传送门前置知识单调栈解法令\(f_{i,j}(1\lei\len,1\lej\lem)\)表示从\((1,j)\)到\((i,j)\)中以\((i,j)\)结尾的均为F的子串长度,即\((i,j)\)上面可延伸的最大距离(子矩形的长)。用单调栈的第一维存储子矩形的长,第二维存储子矩形的宽。考虑依次枚举每一......
  • Windows Dependency Walker & Dumpbin
    *[Windows查看exe依赖的dll的方法-知乎](https://zhuanlan.zhihu.com/p/395557318#%E6%96%B9%E6%B3%95%E4%B8%80%EF%BC%9ALucasg/Dependencies%EF%BC%88%E5%BC%80%E6%BA%90%E7%89%88%E7%9A%84%E7%8E%B0%E4%BB%A3%20Dependency%20Walker%EF%BC%89)*[DUMPBIN工具的使用-z......
  • CF327E Axis Walking
    AxisWalkingLuoguCF327E题目描述给你一个长度为\(n(1\len\le24)\)的正整数序列\(S\),再有\(k(0\lek\le2)\)个正整数。求有多少种\(S\)的排列方式使得其前缀和不会成为那\(k\)个数里的任意一个。答案对\(10^9+7\)取模。Solution挺简单的一个状压DP。考虑......
  • idea easyCode插件与velocity语法
    1,idea安装easyCode插件2,设置模板easyCode的教程:https://gitee.com/makejava/EasyCode/wikiseasyCode会有默认的字段类型的对应关系,也可以根据需要自己修改 下面是我自己写的一套(适用于mybatisPlus)##导入宏定义$!define##保存文件(宏定义)#save("/entity",".java")##......
  • Skywalking 钉钉告警
     1、添加钉钉告警  2、修改配置文件 /usr/local/apache-skywalking-apm-bin/config/ alarm-settings.yml修改  alarm-settings.yml告警文件 添加在 文档尾部(注意格式)dingtalkHooks:textTemplate:|-{"msgtype":"text","text":{"......
  • P3081 [USACO13MAR] Hill Walk G
    原题面:Luogu知识点:扫描线,李超树。被离散化鲨了哈哈,一个人交了三页半,感谢大神的提交记录救我一命呜呜:https://www.luogu.com.cn/record/123948215。简述给定平面坐标系上的\(n\)条线段,每条线段的两个端点为\((x_1,y_1)\),\((x_2,y_2)\)且满足\(x_1<x_2\),\(y_1<y_2\),且有......