2019暑假杭二day1测试总结

2019暑假杭二day1测试总结


2019年8月1日,进入杭二集训,目前集训模式是上午队测,下午讲评与订正,再加上李建老师讲课,晚上是自主学习。想把每天的测试作个记录。下面是day1的测试日志。

T1

题目大意

设函数 f ( n ) f(n) f(n)为n的次大因子,求 ∑ i = l l f ( i ) , 1 &lt; = l &lt; = r &lt; = 1 0 18 \sum_{i=l}^lf(i),1&lt;=l&lt;=r&lt;=10^{18} i=llf(i)1<=l<=r<=1018

sol

T1我得了80分,第一档分直接用线筛筛每个数的最小质因子,就可以算出每个数的最大约数。第二档分可以预处理sqrt(r)内的所有质数,然后用它们去埃筛[l,r]内的每一个数,复杂度 Θ ( n l o g l n g ( n ) ) \Theta(nloglng(n)) Θ(nloglng(n))
第三档分我不会了,结果是用分块打表来做,把每 1 e 7 1e7 1e7个数的函数值之和用第二档分的办法处理出来,直接打在表上,每次询问时大段查表,小段用第二档分的办法做。还有一种做法是用我不会的 min_25筛

T2

题目大意

给定一棵 n n n个点, m m m条边的树,边有边权,选出一个点集 S S S,满足 u , v ∈ S , d i s ( u , v ) &gt; = L u,v\in S,dis(u,v)&gt;=L u,vS,dis(u,v)>=L,求 m a x ∣ S ∣ , n &lt; = 5 ∗ 1 0 5 , L &lt; = 1 0 9 max|S|,n&lt;=5*10^5,L&lt;=10^9 maxS,n<=5105,L<=109

sol

T2在测的时候我没有想到思路,爆0了。后来才知道是一个贪心题,我们把每个子树的答案和具体方案求出来,根的答案就是最终的答案。转移为将每个节点的点集和它自己合并到它的点集里,把每个点按到根的距离排序,每次取出离根最近的两个节点,比较它们的距离,如果小于 L L L就把离根最近的删去。用左偏树维护即可。

T3

题目大意

给定一个数列 a 1 , a 2 , . . . a n a_1,a_2,...a_n a1,a2,...an,求有多少 b b b个数列 b 1 , b 2 , . . . , b 2 n b_1,b_2,...,b_{2n} b1,b2,...,b2n,满足
b i + n ∣ a i , b i ∣ b i + n , 1 &lt; = i &lt; = n ∏ i = 1 n b i 2 &gt; = ∏ i = n n b i + n b_{i+n}|a_i,b_i|b_{i+n},1&lt;=i&lt;=n\\ \prod_{i=1}^nb_i^2&gt;=\prod_{i=n}^{n}b_{i+n}\\ bi+nai,bibi+n,1<=i<=ni=1nbi2>=i=nnbi+n

sol

还不会~,等会了再来补吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值