【2019杭州集训】12.12~14训练总结

我菜爆了,这几天题目都改不完还来写总结?

12.12

简要题解

  • T1(环),比较妙的构造题,转化为相邻的1的距离同构,然后发现这里的同构实际上是一个子问题,递归下去解决。
    在这里插入图片描述
  • T2(DNA序列):只会暴力
    给n个序列,每个序列要选择一个前缀,以任意顺序排列n个前缀,问字典序最小的前缀是什么、
    贪心。
    首先对于每一个字符串S,找出一个最短前缀x使得xinf<=S+‘Z’,然后按照x排序分类,x相同按照除去S的最大重复x的前缀后的Res+'Z’大到小排序。
    因为我们要让尽量小的x重复很多次,最后的Res只有一个,并且要让它尽量小。
    这样我们就确定了顺序,后往前枚举并暴力即可。
  • T3(探寻):没时间打了。
    给一个有根树,第i条边经过第一次的时候要花ci的钱,每一个点有di的钱可以获得,问从根最终结束于end(给出)最少要带多少初始的钱出门。
    类似的题目我们之前做过。
    在能到的点里面我们肯定是要先选花费少的,所以按照每一个点到它的父亲的花费小到大加入,但是我们当前点可能并不能到这个点,所以需要将这个待加入的点与它的父亲合并,然后就不难解决了。

12.13

简要题解

  • T1(gcd和lcm):简单莫比乌斯反演。把a离线之后一边插入一边询问,用一个树状数组。 T < = 1 e 4 ; n , m , a < = 1 e 5 T<=1e4;n,m,a<=1e5 T<=1e4;n,m,a<=1e5
    在这里插入图片描述
  • T2(平面图):首先转对偶图,删边变成了加边,然后发现一个连通块对应了对偶图中的一个环。并查集维护即可完成询问1.
    然后在成环的时候染色即可,用启发式分裂,即两边每一次遍历一条边,这样就是 O ( n l o g n ) O(n logn) O(nlogn)的了。
    在这里插入图片描述
  • T3(路径):DP后找规律可以发现,答案为 F ( n + m ) F ( n ) F ( m ) , F ( n ) = ∏ ( q i − 1 ) \frac{F(n+m)}{F(n)F(m)},F(n)=\prod(q^i-1) F(n)F(m)F(n+m),F(n)=(qi1)
  • 可以通过DP的式子归纳证明。然后注意到有0的情况,可以分类出来处理。
    在这里插入图片描述

12.14

  • pty出(组)了一套毒瘤题 高质量难题。口胡and啥也不会

  • T1:可以类似差分约束地去建网络流,将限制写成方程后变成线性规划,然后可以转化为神奇的网络流做?在这里插入图片描述 1 < = k < = n < = 1000 1<=k<=n<=1000 1<=k<=n<=1000

  • T2:求一个带标号n个点的联通图,使得其中的点双的大小只在一个给定的集合S里面。
    考虑如果知道了点双大小为n的方案数,那么贡献组合成一颗树的贡献不难推出来???
    点双的贡献可以多项式exp???
    n < = 1 e 5 , ∑ w i 属 于 S w i < = 1 e 5 n<=1e5,\sum_{w_i属于S} w_i<=1e5 n<=1e5,wiSwi<=1e5

  • T3:唯一改起来比较清真的题目,因为这题最关键的是一个结论——最终围成的路径一定在两两的最短路上,否则就可以缩紧到最短路上。那么把所有的最短路图建出来,从左上角到左上角跑一个最短路的环即可。但是注意到可能经过最短路的时候没有包括关键的点,有一种神奇的拆点方法,将每一个格点分成四个点,最短路的两边不能跨过,关键点内部的点全部删掉,以及一些操作(雾),因为(1,1)一定有,所以直接跑(1,1)的右下到左下的一个最短路即可跑成一个环了。
    在这里插入图片描述

在这里插入图片描述
1 < = n , m < = 400 , 1 < = w i < = 1 e 9 1<=n,m<=400,1<=w_i<=1e9 1<=n,m<=400,1<=wi<=1e9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值