snnu1120: 划分数(DP计数问题)】的更多相关文章

1120: 划分数 Time Limit: 8 Sec  Memory Limit: 128 MBSubmit: 6  Solved: 3[Submit][Status][Web Board] Description 有n个无区别的物品,将它们划分成不超过m组,求出划分方法数模M的余数. 限制条件 1 <= m <= n <= 1000 2 <= M <= 10000 Input 每组测试数据输入一行n, m, M. Output 输出划分数模M的余数. Sample Inp…
HDU 4832 Chess 思路:把行列的情况分别dp求出来,然后枚举行用几行,竖用几行.然后相乘累加起来就是答案 代码: #include <stdio.h> #include <string.h> #include <iostream> using namespace std; typedef long long ll; const ll MOD = 9999991; const int N = 1005; int t, n, m, k, x, y; ll dp1…
输入: n=4 m=3 M=10000 输出: 4 (1+1+2=1+3=2+2=4) 复杂度(nm) int n,m; int a[MAX]; int dp[MAX][MAX]; //数组 void solve() { dp[][]=; ; i<=m; i++){ ; j<=n; j++){ ){ dp[i][j]=(dp[i-][j]+dp[i][j-i])%M; } else{ dp[i][j]=dp[i-][j]; } } } printf("%d\n",dp[m]…
LINK:小V和字符串 容易想到只有1个数相同的 才能有贡献. 知道两个01串 那么容易得到最小步数 大体上就是 第一个串的最前的1和第二个串最前的1进行匹配. 容易想到设f[i][j]表示 前i位1的个数为j的贡献. 不过在 j-1 向 j进行转移的时候 两个集合的贡献无法得到 因为我们只知道其中一个串的最后一个1的位置. 考虑如果每次合并集合时 只统计最后一个1的贡献 那么这样无论怎么做都是错误的. 回到先前 还是考虑描绘出两个串长什么样子 然后 考虑如何统计答案. 问题变成了 逐位考虑 统…
题意:给你n个身高高低不同的士兵.问你把他们按照波浪状排列(高低高或低高低)有多少方法数. 析:这是一个DP题是很明显的,因为你暴力的话,一定会超时,应该在第15个时,就过不去了,所以这是一个DP计数问题. 那么我们应该怎么想呢,我们先假设前 i-1 个已经放好了,然后第 i 个一定是最高的,所以,他一定要在前面找一个低后面放上他,肯定不能放在高的后面, 那么状态就有的表示了,d[i][0]表示是以低结尾,d[i][1]是以高结尾,我们假设放第 i 个士兵时,前面有 j 个,那么后面就有 i -…
下课了,露露.花花和萱萱在课桌上用正三棱柱教具和尺子摆起了一个“跷跷板”. 这个“跷跷板”的结构是这样的:底部是一个侧面平行于地平面的正三棱柱教具,上面 摆着一个尺子,尺子上摆着若干个相同的橡皮.尺子有 2n + 1 条等距的刻度线,第 n + 1 条 刻度线恰好在尺子的中心,且与正三棱柱的不在课桌上的棱完全重合. 露露发现这个“跷跷板”是不平衡的(尺子不平行于地平面).于是,她又在尺子上放 了几个橡皮,并移动了一些橡皮的位置,使得尺子的 2n + 1 条刻度线上都恰有一块相同质 量的橡皮.“跷…
思路:参考了网上,思路很清奇,借助vis[i][j]来表示从i到j是否为回文串,回文串这边是用的双重循环来写的:dp[i]用来表示以i结尾的字符串最少的回文串有多长. #include<cstring> #include<iostream> #include<algorithm> using namespace std; ; int dp[maxn];//dp[i]表示的是以第i个字符结尾的最少划分数 //dp[i] = min(dp[i],dp[j]+1) 当j到i是…
Yue Fei is one of the most famous military general in Chinese history.He led Southern Song army in the wars against the Jin dynasty of northern China. Yue Fei achieved a lot of victory and hopefully could retake Kaifeng ,the former capital of Song oc…
T1 卷 一看跟没有上司的舞会一样,直接敲了然后试个自己造的样例对了就跑了... 然而把它想简单了,乘积取模,还能比大小吗????? 显然不能 所以直接让对数的加和跟着$dp$直接一起跑,比大小的都用对数就行 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 inline int AE86(){ 5 int x=0,f=1; char ch=getchar(); 6 while(ch<'0…
$\huge{取模不能比大小!}$ $\huge{取模不能比大小!}$ $\huge{取模不能比大小!}$ 有了打地鼠的前车之鉴,我深信树规板子是可以出现在联赛题里的. 所以T1十分钟码完直接溜了,后两道肉眼可见的不可做,最后半小时百无聊赖地胡乱打表,心想有二百差不多了,于是T1光速保龄.哈哈 赛后十分钟直接$rk3$超爽的好吗(哭 T1 卷 就像上文所说的.$DP$时带个对数加和就行. $code:$ 1 #include<bits/stdc++.h> 2 #define int long…