苏格兰计划[副本] day1 CF986

day1 #485 DIV1 (CF986)

A 1600

每次把所有相同颜色的点拿出来,在图上跑多源bfs,就可以得出所有点到该颜色最近点的距离,然后跑完每个点sort就行了

B 1800

交换一次会导致逆序对奇偶性发生一次变化,3n次相当于逆序对奇偶性和n一致,7n+1次相当于逆序对奇偶性和n+1一致,也就是和n相反,所以直接树状数组求逆序对即可

C 2500

想了一会的记忆化搜索,考虑逐一加入点,如果这个点能和之前的点连边,那么就连通块数不增加,否则就增加,然后存在边的条件是存在之前的点点权是他补集的子集,但是这个动态添加不是很好操作,所以思考换一种做法,先把每个点向他的补集连单向边,然后从这个点开始dfs遍历他的所有子集,也包括他的子集的一些点的补集,这样子就会遍历这个点所在的所有连通块,于是每次对于没有被标记的点统计就相当于统计联通块了,访问的总复杂度不会超过n*2^(n-1)+m次,所以4s可以过

D 3100

3000+还做不来,先溜了

E 2800

先把w分解质因数,显然 ∏ g c d ( w , a i ) \prod gcd(w,a_i) gcd(w,ai)就是w每个因子在x->y这条路径上出现次数幂和w该质因子的幂取min的积,然后问题就是怎么快速求这个路径取min,感觉在线不是很好做,于是考虑离线,1e7中的质数并不是很多,只有6.7e5个,所以似乎开个桶分别存每个质数幂次出现的次数是可行的,然后这使我们可以在复杂度要求内维护根到某个点路径上所有点的每个最大质因子幂次出现次数和。于是想到树上差分,把询问差分成四段{1->x},{1->y},{1->lca(x,y)},{1->fa(lca(x,y))}然后放到对应的点上,每次对于每个点跑w,将w质因分解,然后查询每个质因子在1到该点路径上出现的次数,如果大于w的质因子的次数,就按照w的计算,可以发现这里跑幂次复杂度最大是一只log的,然后w的质因子个数不会超过八个,所以总复杂度大致是nlognlogn

F 3300

3000+还做不来,先溜了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值