学习内容:每日一题补题,BUAA训练补题
1.贝茜放慢脚步(Acwing1934)
二路归并:
while (i<a.size()||j<b.size()){
if(j==b.size()||i<a.size()&&a的条件满足){
使用a的这个元素
i++;
}
else{
使用b中的元素
j++;
}
}
2.Paths in a Complete Binary Tree(Buaa winter training D)
lowbit(x):x&(-x) 求出x的最低位1与其后面的0组成的数
找规律题属于是
3.Calendar Ambiguity(Buaa winter training F)
(a-b)*d%w=0,a,b为变量正整数,b<a且均小于等于常数u,求满足题意对数
转化为(a-b)*d=n*w,对每个n,答案为u-n*w
即枚举n可得到答案,我们又发现u-n*w是一个关于n的一次函数(即为等差数列),可直接计算结果
显然n*w要小于等于u,我们可以用r=(u-1)/w来求出n的范围
那么结果即为u*r-r*(r+1)/2*w