周四新生训练 Sumsets

http://ecustoj.sinaapp.com/problemshow.php?pro_id=45

#include<cstdio>
#include<cstring>
int N,s[1000005],i=3;
int main()
{
  s[1]=1;
  s[2]=2;
  while (i<=1000000)
  {
      s[i]=s[i-1];
      i++;
      s[i]=(s[i-2]+s[i>>1])%1000000000;
      i++;
  }
  while(scanf("%d",&N)!= EOF)
  printf("%d\n",s[N]);
  return 0;
}
原文地址:https://www.cnblogs.com/whatthefy/p/2987791.html