CF414B Mashmokh and ACM】的更多相关文章

思路: dp. 实现: 1.O(n5/2) #include <iostream> #include <cstdio> using namespace std; ; ][]; int solve() { ; i <= n; i++) dp[][i] = ; ; i < k; i++) { ; j <= n; j++) { ; p * p <= j; p++) { ) { dp[i][j] = (dp[i][j] + dp[i - ][p]) % MOD; ]…
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=2000),问满足[数列长度是k && 数列中每一个元素arr[i]在1~n之间 && 数列中元素可以重复]的数列有多少个?结果对10^9+7取余 解题思路:dp[i][j]表示长度是j,最后一位是i的种数 if(kk%i==0) dp[kk][j+1]+=dp[i][j] #inc…
题目链接: B. Mashmokh and ACM time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mashmokh's boss, Bimokh, didn't like Mashmokh. So he fired him. Mashmokh decided to go to university and participat…
                                             B. Mashmokh and ACM                                                                                             time limit per test 1 second                                                                …
http://codeforces.com/problemset/problem/414/B B. Mashmokh and ACM time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mashmokh's boss, Bimokh, didn't like Mashmokh. So he fired him. Mashmokh d…
题意:给你n和k,然后找出b1, b2, ..., bl(1 ≤ b1 ≤ b2 ≤ ... ≤ bl ≤ n),并且对所有的bi+1%bi==0,问有多少这样的序列? 思路:dp[i][j] 表示长度为i,以j为结尾有多少.dp[i][j]+=dp[i-1][s],j%s==0; #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ; int n,k; ][];…
http://codeforces.com/problemset/problem/414/B 题目大意: 题意:一个序列B1,B2...Bl如果是好的,必须满足Bi | Bi + 1(a | b 代表a整除b), 求长度为K,元素大小小于等于N的序列个数 思路:f[i][j] 代表在序列的第i位,当前数字为j的方案数 #include<cstdio> #include<cmath> #include<algorithm> #include<cstring>…
$dp$. 记$dp[i][j]$表示已经放了$i$个数字,并且第$i$个数字放了$j$的方案数.那么$dp[i][j] = \sum\limits_{k|j}^{}  {dp[i - 1][k]}$.答案为$\sum\limits_{k=1}^{m}  {dp[n][k]}$ #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #i…
大意: 给定n结点树, 有k桶水, p块钱, 初始可以任选不超过k个点(不能选根结点), 在每个点放一桶水, 然后开始游戏. 游戏每一轮开始时, 可以任选若干个节点关闭, 花费为关闭结点储存水的数量和, 然后未关闭的非根结点上的水会流入父结点, 然后再开始新的一轮. 当所有非根结点无水后游戏结束, 假设第$i$轮流入根节点的水为$w_i$, 游戏共进行了$l$轮, 求$max(w_1,w_2,...,w_l)$ 可以发现最优时一定是一段深度相邻的水, 所以双指针维护一段连续的区间就行了. 考虑每…
题意: 给你两个数n和k.求满足以下条件的数列有多少个. 这个数列的长度是k: b[1], b[2], ……, b[k]. 并且 b[1] <= b[2] <= …… <= b[k] <= n: 而且,前一个数能被后一个数整除. 思路: 用dp[i][j]表示长度为i,最后一个数是j的序列有多少种.然后递推就可以了. 代码: #include <cstdio> #include <cstring> #include <algorithm> usi…