10.30 模拟3考试总结
10.30 模拟3考试总结
这次都是板子题.....
银河帝国旅行社
实际上就是树的直径
两边大法师就可以解决了
高中运动会
这个暴力一样可以过....
由数论知识可知k=gcd(an,gcd(an-1,…gcd(a2,a1)))。
这里gcd(p,q)是求p和q的最大公约数,gcd的计算方法是:
- 如果p=q,gcd(p,q)=p;
- 当p和q都为偶数时,gcd(p,q)=2*gcd(p/2,q/2);
- 当p和q都为奇数时,gcd(p,q)=gcd(p-q,q);
- 当p为偶数q为奇数时,gcd(p,q)=gcd(p/2,q);
复杂度为\(O(logp)\),所以这道题目总复杂度为\(O(Nlogp)\)。
经济编码
这个考试的时候比较迷....实际上就是可以用优先队列就可以尬算出来
因为根据题意实际上可以知道没有比较单独计算深度,实际上可以直接计算答案
while (q.size() != 1)
{
x = q.top(); q.pop();
y = q.top(); q.pop();
if (!x.pd) x.b += x.a;
if (!y.pd) y.b += y.a;
x.b += y.b;
x.a += y.a;
x.pd = 0;
q.push(x);
}