博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DP(优化) UVALive 6073 Math Magic
阅读量:7103 次
发布时间:2019-06-28

本文共 1476 字,大约阅读时间需要 4 分钟。

 

 

/************************************************* Author        :Running_Time* Created Time  :2015/10/28 星期三 20:20:09* File Name     :H.cpp ************************************************/#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define lson l, mid, rt << 1#define rson mid + 1, r, rt << 1 | 1typedef long long ll;const int N = 1e3 + 10;const int M = 1e2 + 10;const int INF = 0x3f3f3f3f;const int MOD = 1e9 + 7;const double EPS = 1e-10;const double PI = acos (-1.0);int dp[2][N][N];int lcm[N][N];int vec[N];int GCD(int a, int b) { return b ? GCD (b, a % b) : a;}void init(void) { for (int i=1; i<=1000; ++i) { for (int j=1; j<=1000; ++j) { lcm[i][j] = i * j / GCD (i, j); } }}inline void add(int &x, int y) { x += y; if (x > MOD) x -= MOD;}int main(void) { init (); int n, m, k; while (scanf ("%d%d%d", &n, &m, &k) == 3) { int t = 0; for (int i=1; i<=m; ++i) { if (m % i == 0) vec[t++] = i; } int now = 0; for (int i=0; i<=n; ++i) { for (int j=0; j
n || m % y != 0) continue; dp[now][x][y] = (dp[now][x][y] + dp[now^1][i][vec[j]]) % MOD; } } } } printf ("%d\n", dp[now][n][m]); } //cout << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; return 0;}

  

转载于:https://www.cnblogs.com/Running-Time/p/4918649.html

你可能感兴趣的文章
thinkphp3.2.3 无法调用带下划线的模型
查看>>
迭代器模式 Iterator 行为型 设计模式(二十)
查看>>
解决walle报错:宿主机代码检出检测出错,请确认svn用户名密码无误
查看>>
svn使用openldap验证apache访问方式
查看>>
Linux下安装emacs-24.3
查看>>
二分搜索找到所在区间
查看>>
拓扑排序(topsort)
查看>>
倒要看看你有啥本事
查看>>
JavaScript高级程序设计(第三版)学习笔记22、24、25章
查看>>
CCF NOI1030 角谷猜想
查看>>
HDU1042 n!
查看>>
UVA1368 UVALive3602 ZOJ3132 DNA Consensus String【贪心】
查看>>
阅读笔记
查看>>
Lumia920价格
查看>>
步步为营 .NET 代码重构学习笔记 七
查看>>
系统移植总结
查看>>
NET使用了UpdatePanel后如何弹出对话框!
查看>>
cJSON学习笔记
查看>>
常用的正则表达式
查看>>
CSS块级元素、内联元素概念
查看>>