codeforces 1288C. Two Arrays(dp)
链接:https://codeforces.com/contest/1288/problem/C
C. Two Arrays
题意:给定一个数n和一个数m,让构建两个数组a和b满足条件,1.数组中所有元素的取值在1~n之间,a和b数组长度是m。2. a数组是单调不递减的,b数组是单调不递增 3. 任意的位置i,有ai<=bi
思路:可以组合数学做,也可以dp,以下为dp做法。首先如果把a、b两个数组合并成 a1,a2,a3,.......am,bm,bm-1,bm-2,bm-3...........b3,b2,b1,会发现整个数列是单调不递减的,那么就可以dp做了,
dp[i][j]表示第i个位置可以放 大于等于 j 的方案数 ,那么转移方程就是 dp[i][j] = dp[i-1][j] + dp[i][j+1]
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
typedef long long ll;
const int maxm = ;
const int maxn = 1e3+;
const int mod = 1e9+;
ll dp[maxm*][maxn];
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i = ;i<=n;i++) dp[][i] = ;
for(int i = ;i<=*m;i++){
for(int j = n;j>=;j--){
dp[i][j] = (dp[i][j+] + dp[i-][j])%mod;
}
}
ll ans = ;
for(int i = ;i<=n;i++){
ans = (ans+dp[*m][i])%mod;
}
printf("%d",ans);
return ;
}
codeforces 1288C. Two Arrays(dp)的更多相关文章
- Codeforces Gym101341K:Competitions(DP)
http://codeforces.com/gym/101341/problem/K 题意:给出n个区间,每个区间有一个l, r, w,代表区间左端点右端点和区间的权值,现在可以选取一些区间,要求选择 ...
- codeforces 711C Coloring Trees(DP)
题目链接:http://codeforces.com/problemset/problem/711/C O(n^4)的复杂度,以为会超时的 思路:dp[i][j][k]表示第i棵数用颜色k涂完后bea ...
- codeforces#1154F. Shovels Shop (dp)
题目链接: http://codeforces.com/contest/1154/problem/F 题意: 有$n$个物品,$m$条优惠 每个优惠的格式是,买$x_i$个物品,最便宜的$y_i$个物 ...
- Codeforces 1051 D.Bicolorings(DP)
Codeforces 1051 D.Bicolorings 题意:一个2×n的方格纸,用黑白给格子涂色,要求分出k个连通块,求方案数. 思路:用0,1表示黑白,则第i列可以涂00,01,10,11,( ...
- Codeforces 1207C Gas Pipeline (dp)
题目链接:http://codeforces.com/problemset/problem/1207/C 题目大意是给一条道路修管道,相隔一个单位的管道有两个柱子支撑,管道柱子高度可以是1可以是2,道 ...
- Codeforces 704C - Black Widow(dp)
Codeforces 题目传送门 & 洛谷题目传送门 u1s1 感觉这种题被评到 *2900 是因为细节太繁琐了,而不是题目本身的难度,所以我切掉这种题根本不能说明什么-- 首先题目中有一个非 ...
- Codeforces 682B New Skateboard(DP)
题目大概说给一个数字组成的字符串问有几个子串其代表的数字(可以有前导0)能被4整除. dp[i][m]表示字符串0...i中mod 4为m的后缀的个数 通过在i-1添加str[i]字符转移,或者以st ...
- Codeforces 543D Road Improvement(DP)
题目链接 Solution 比较明显的树形DP模型. 首先可以先用一次DFS求出以1为根时,sum[i](以i为子树的根时,满足要求的子树的个数). 考虑将根从i变换到它的儿子j时,sum[i]产生的 ...
- Codeforces 543C Remembering Strings(DP)
题意比较麻烦 见题目链接 Solution: 非常值得注意的一点是题目给出的范围只有20,而众所周知字母表里有26个字母.于是显然对一个字母进行变换后是不影响到其它字符串的. 20的范围恰好又是常见状 ...
随机推荐
- 利用Python读取CSV文件并计算某一列的均值和方差
近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...
- mysql 表分区操作
//不支持动态创建分区CREATE TABLE `rpt_exp_event_bucket_creative_d_across` ( `bucket_id` VARCHAR(200) NOT NULL ...
- Wannafly Winter Camp 2020 Day 7D 方阵的行列式 - 数学
于是去弄了个板子来 #include <bits/stdc++.h> using namespace std; #define int long long const int mod = ...
- Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程
1. CRM系统介绍 CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制.客户关 ...
- Python 用户输入&while循环 初学者笔记
input() 获取用户输入(获取的都是字符串哦) //函数input()让程序停止运行,等待用户输入一些文本. //不同于C的是可在input中添加用户提示,而scanf不具备这一特性. //提示超 ...
- IDEA 找不到包或者找不到符号的一些解决办法
有时使用IDE导入项目后,启动时会发生找不到包或者找不到符号的情况,下面有一些处理方法 1.右键项目Maven→Reimport 2.IDEA窗口左上角File→Invalidate and Rest ...
- JMeter压测MongoDB
1.下载mongo-java-driver驱动 官方驱动: https://mongodb.github.io/mongo-java-driver/ 或者Maven: https://mvnrepos ...
- asp.net web core 部署问题汇总
记录所有部署时遇到的问题. 微软官网部署说明 转载自:.NET Core 3.0 构建和部署(测试过可以使用) A 单文件可执行文件(文件体积较大,合并所有依赖) asp. ...
- 通过cmd修改注册表(设置cmd窗口的大小)
通过cmd修改注册表(设置cmd窗口的大小) 设置cmd的窗口 mode: modem设置系统设备,主要是lpt1, com1/2, con:启动时设置窗口大小: cmd /k "mode ...
- @RendSection{"scripts",require:false}的作用
MVC视图中,Javascripts代码被放于下面的Razor代码中(@section Scripts{}). 好处:在视图进行JavaScript编程时,是一个很好的实践,在共享视图(_Layout ...