4745 跑步

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
long long f[100005];
int a(int x)
{
 return (3*x*x-x)/2;
}
int main()
{
 int n,p;
 cin>>n>>p;
 f[0]=1;
 for(int i=1;i<=n;i++)
  for(int j=1;;j++)
  {
   int x=a(j),y=a(-j);
   if(x<=i)
    f[i]=((f[i]+(j&1?1:-1)*f[i-x])%p+p)%p;
   if(y<=i)
    f[i]=((f[i]+(j&1?1:-1)*f[i-y])%p+p)%p;
   if(x>i||y>i)break;
  }
 cout<<f[n]<<endl;
 return 0;
}
相关推荐
_nut_1 小时前
手撕跳表/数据结构
java·开发语言·数据结构
刘大猫262 小时前
十、MyBatis的缓存
大数据·数据结构·人工智能
没明白白2 小时前
插入排序:一种简单而直观的排序算法
java·算法·排序算法
手握风云-2 小时前
Java数据结构第十三期:走进二叉树的奇妙世界(二)
数据结构
小猪咪piggy2 小时前
【数据结构】(12) 反射、枚举、lambda 表达式
java·开发语言·数据结构
程序员南飞2 小时前
算法-数据结构-图的构建(邻接矩阵表示)
java·数据结构·算法·职场和发展
指掀涛澜天下惊2 小时前
DirectX12(D3D12)基础教程三 线性代数与3D世界空间
线性代数·算法·机器学习·3d
浪子西科2 小时前
【数据结构】(Python)第六章:图
开发语言·数据结构·python
程序趣谈3 小时前
算法随笔_57 : 游戏中弱角色的数量
数据结构·python·算法
xianwu5433 小时前
反向代理模块kfj
开发语言·网络·数据库·c++·mysql