zoj3662(dp)
dp还是比较好想的,但是时间还是比较坑的。
要预处理还加些优化才行 。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <map>
#include <queue>
#include <sstream>
#include <iostream>
using namespace std;
#define INF 0x3fffffff
#define MOD 1000000007 int n,m,k; int dp[][][];
int save[][];
int g[];
int cnt=;
int mark[];
//bool mark1[1100][1100]; int gcd(int x,int y)
{
int tmp;
while(x)
{
tmp=x;
x=y%x;
y=tmp;
}
return y;
} int lcm(int x,int y)
{
return x*y/gcd(x,y);
} int main()
{
//freopen("C:\\Users\\Administrator\\Desktop\\in.txt","r",stdin);
//freopen("C:\\Users\\Administrator\\Desktop\\in.txt","w",stdout);
for(int i=;i<=;i++)
for(int j=;j<=;j++)
{
save[i][j]=lcm(i,j);
}
//提前预处理 while(scanf("%d%d%d",&n,&m,&k)!=EOF)
{
//memset(mark1,0,sizeof(mark1));
//memset(mark,0,sizeof(mark));
memset(dp,,sizeof(dp));
cnt=;
for(int i=;i<=m;i++)
if(m%i==)
{
mark[i]=cnt;
g[cnt++]=i; }
dp[][][]=;
//mark1[0][0]=1;
int tmp,tmp1,tmp2;
for(int i=;i<k;i++) //对于k个数
{
for(int j=i;j<=n;j++)
{
//if(mark1[i][j]==0) continue;
for(int p=;p<cnt;p++)
{
tmp2=dp[i][j][p];
if(tmp2==) continue;
for(int s=;s<cnt;s++) //选择g[s]
{
if(g[s]+j > n-(k-i)+) break;
tmp1=g[s];
tmp=mark[ save[ g[p] ][ tmp1 ] ]; dp[i+][ j+tmp1 ][ tmp ]=(dp[i+][ j+tmp1 ][ tmp ]+tmp2)%MOD; //if(dp[i+1][ j+tmp1 ][tmp]>MOD) dp[i+1][ j+tmp1 ][tmp]-=MOD;
}
}
}
} printf("%d\n",dp[k][n][cnt-]);
}
return ;
}
zoj3662(dp)的更多相关文章
- ZOJ-3662 Math Magic 背包DP
这题不错,可惜我还是太弱了,没想到qwq. 看了网上大佬题解之后写的,对比了一下代码,好像我写的还是挺简洁的(逃,只是吞行比较多). 因为直接用lcm的值做下标会超时,所以我们观察发现可以组成lcm为 ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
随机推荐
- 分享一下自己ios开发笔记
// ********************** 推断数组元素是否为空 ********************** NSString *element = [array objectAtIndex ...
- LaTeX 中使用三级标题
需要在导言区加入命令:\setcounter{secnumdepth}{4} 而后: \section{一级标题} \subsection{二级标题} \subsubsection{三级标题}
- [转载]Scikit-learn介绍几种常用的特征选择方法
#### [转载]原文地址:http://dataunion.org/14072.html 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解 ...
- jquery cookie操作方法
1. 设置cookie的值,把name变量的值设为value $.cookie(’name’, ‘value’); 2.新建一个cookie 包括有效期 路径 域名等 $.cookie(’n ...
- C#使用技巧之调用JS脚本(转)
.创建个Winform项目. .在From1上增加一个文本框一个按钮. .在解决方案中创建一个test.js文件. test.js代码如下: function sayHello(str) { retu ...
- jfinal的maven配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题
假设先play长音效a,然后在a播放过程中反复执行:play短音效b,stop b,play b,... 则若a足够长,就会被b打断.而长音效被打断是最不可接受的. a之所以会被打断,推测原因是sim ...
- android studio - 使android studio 在提示时不区分大小写
- cocoa pods 升级遇到的问题
1. cocoa pods 升级遇到的问题 运行 sudo gem update --system 报错 Updating rubygems-update ERROR: While executing ...
- layui当点击增加的时候,将form中的值获取的添加到table行中代码
layui.use(['table','layer'],function(){ var $=layui.$, table=layui.table, layer=layui.layer; functio ...