cf414B(dp)
题目链接:http://codeforces.com/problemset/problem/414/B
题意:定义所有元素是其前一个元素的倍数的数列为good sequence,给出 n, 和 k,求1....n组成的长度为k的good sequence 的数目;
思路:dp
用dp[i][j]存储以 j 结尾长度为 i 的good sequence 的数目,那么我们不难发现dp[i][j]可以由dp[i-1][l] (l | j)求和得到,
即状态转移方程为:dp[i][j] = Σdp[i-1][l] (l | j);
注意我们可以先打表得到1...n的因子,不然可能会tle;
代码:
1 #include <bits/stdc++.h> 2 #define MAXN 2010 3 #define ll long long 4 using namespace std; 5 6 const int mod=1e9+7; 7 ll dp[MAXN][MAXN]; //dp[i][j]表示以j结尾长度为i的good sequence的数目 8 vector<int>v[MAXN];//v[i]存储i的因子 9 10 int main(void){ 11 int n, k; 12 cin >> n >> k; 13 for(int i=1; i<=n; i++){ 14 dp[1][i]=1; 15 } 16 for(int i=1; i<=n; i++){//求i的因子 17 for(int j=1; j<=i; j++){ 18 if(i%j==0){ 19 v[i].push_back(j); 20 } 21 } 22 } 23 for(int i=2; i<=k; i++){ 24 for(int j=1; j<=n; j++){ 25 for(int k=0; k<v[j].size(); k++){ 26 dp[i][j]=(dp[i][j]+dp[i-1][v[j][k]])%mod; 27 } 28 } 29 } 30 ll ans=0; 31 for(int i=1; i<=n; i++){ 32 ans=(ans+dp[k][i])%mod; 33 } 34 cout << ans << endl; 35 return 0; 36 }
View Code
转载于:https://www.cnblogs.com/geloutingyu/p/6556027.html
cf414B(dp)相关推荐
- dp,sp,px相互转化
方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...
- [JS][dp]题解 | #打家劫舍(一)#
题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...
- HDU 2084 数塔(DP)(JAVA版)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- dp cf 20190615
A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit ...
- [NOI2005]聪聪与可可(期望dp)
题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...
- Codeforces 903F Clear The Matrix(状态压缩DP)
题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...
- 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)
A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05 最后更新: 2017年2月21日 20:06 时间限制: 1000ms 内存限制: 128M 描述 传说喵哈哈村有三种神 ...
- 尼克的任务 dp 洛谷1280
蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...
最新文章
- 遇到的问题及解决方法
- bp神经网络代码_机器学习(周志华)课后习题——第五章——神经网络
- Apache启动错误:could not bind to address[::]:443
- 离散数学群论_离散数学中的群论及其类型
- 更换mysql_用这47 张图带你 MySQL 进阶!!!
- python正则表达式处理文本内容_Python处理txt文本
- DAY8-打卡第八天-2018-1-18
- (3/3) plsql使用技巧PL/SQL Developer实现双击table表名查询
- Nero Burning ROM 2014 16.0.03000 精简安装版(功能最强大的光盘刻录软件)
- Unity获取IOS端相机权限的状态
- [DUBBO] disconnected from 问题
- Java零基础必看学习教程,Java开发环境配置详解
- 和平精英灵敏度分享码服务器没有响应,和平精英灵敏度分享码
- php如何平铺背景图片,css如何让背景图片平铺?css背景图片平铺四种方式介绍
- 合肥工业大学——java(最新版)——第一次作业
- 16-内存分配与回收策略-对象优先分配Eden+大对象进老年代
- P2P网络电视须跨6道坎 包括网络不可控问题
- R语言倾向性评分:回归和分层
- nvm 下载安装及相关命令
- 最新BI报表工具对比选型指标及重点注意事项---BI报表工具选型的那些事
热门文章
- python3(十四)Python 异常处理
- 使用Pytorch进行密集视频字幕
- ethtool编译与内核实现介绍
- pjsip for Android的编译
- html提交多个正则表达式,将多个html文件的正则表达式结果写入.txt outfile
- python语言的两种注释方法_python编程时添加中文注释的方法
- lds天线技术流程图_音箱耳机入门,蓝牙真无线耳机中的LDS天线 「Soomal」
- redistemplate注入为null_Windows DLL 注入技术
- 【TensorFlow-windows】name_scope与variable_scope
- python类的空间问题及类之间的关系