这一周学习了很多新的知识,虽然作为渣(菜)渣(鸡)的我还没有听懂,但却了解了与之有关的很多基础知识,并且逐渐把线段树,树状数组,邻接链表写熟了。每天一道题的确对我有帮助。虽然考试仍是最后一名,但逐渐有思路了,并且写代码也更快了,查错也快了。不过最近发现自己的DP十分不熟,必须要多练,锻炼思维。
附题:给定一个正整数,在[1,n]的范围内,求出有多少个无序数对(a,b)满足gcd(a,b)=a xor b。
题解:
using namespace std;
int n,ans;
int main() {
scanf("%d", &n);
for(int i=1;i<=n;i++)
for(int j=i;i+j<=n;j+=i)
ans+=(j^(j+i))==i;
cout<<ans<<endl;
}