hdu5389(DP)
题意:
给出n个人的id,有两个门,每一个门有一个标号。我们记作a和b,如今我们要将n个人分成两组,进入两个门中,使得两部分人的标号的和(迭代的求,直至变成一位数。我们姑且叫做求“和”操作~)各自等于a和b,问有多少种分法。
思路:
非常easy想到。假设能找到满足题意的解。一定满足a和b的和等于n个人的标号的和,所以我们仅仅须要推断n个人的标号组成a的情况有多少(或者仅仅推断b,一样),同一时候还要注意能够把n个人都分给a,或者都分给b,这样也是满足的。
详细的细节都在代码里了,一看应该就能懂~~
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm> using namespace std; const int maxn=100005; #define mod 258280327 int SUM(int x,int y)
{
int tmp=x+y;
int ans=tmp%9;
if(ans==0)
return 9;
return ans;
} int num[maxn];
int dp[maxn][10]; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,a,b;
scanf("%d%d%d",&n,&a,&b);
int sum=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&num[i]);
sum=SUM(sum,num[i]);
}
memset(dp,0,sizeof dp);
dp[0][0]=1;
for(int i=1;i<=n;i++)
{
for(int j=0;j<=9;j++)
{
dp[i][j]+=dp[i-1][j];
dp[i][SUM(num[i],j)]+=dp[i-1][j];
dp[i][j]%=mod;
dp[i][SUM(num[i],j)]%=mod;
}
}
int ans=0;
if(SUM(a,b)==sum)
{
ans+=dp[n][a];
if(a==sum)
ans--;
}
if(a==sum)
ans++;
if(b==sum)
ans++;
printf("%d\n",ans);
}
return 0;
}
hdu5389(DP)的更多相关文章
- 2015 多校联赛 ——HDU5389(dp)
Sample Input 4 3 9 1 1 2 6 3 9 1 2 3 3 5 2 3 1 1 1 1 1 9 9 9 1 2 3 4 5 6 7 8 9 Sample Output 1 0 1 ...
- hdu5389 Zero Escape DP+滚动数组 多校联合第八场
Zero Escape Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) To ...
- [hdu5389 Zero Escape]数根的性质,DP
题意:把n个数(1-9)放到A集合和B集合里面去,使得A集合里面的数的数根为a,B集合里面的数的数根为b,也可以只放在A或B任一个集合里面.求方法总数.比如A={2,4,5},则A的数根为[2+4+5 ...
- 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 ...
随机推荐
- android 九宫格(16宫格)控件
public class NineRectView extends ViewGroup { private Context ctx; private int wSize,hSize,row,colum ...
- spark视频教程免费下载
下载地址:点我下载 其它章节陆续上传中,Hadoop视频教程正在整理中,敬请关注.
- ACM-SG函数之Fibonacci again and again——hdu1848
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- .NET开源的背后:是无奈,还是顺应潮流?
摘要:微软.NET的开源,让很多开发者欣喜若狂.同一时候也有很多人好奇其背后的故事,过去视开源为癌症的微软为什么会突然有这一举措,是出于无奈,还是顺应潮流,而这当中的种种也许能够用文中的六个观点来说明 ...
- mysqli数据库操作简单实例
mysqli数据库操作简单实例 代码 结果
- zzulioj--1637--Happy Thanksgiving Day - WoW yjj!(水)
1637: Happy Thanksgiving Day - WoW yjj! Time Limit: 1 Sec Memory Limit: 128 MB Submit: 104 Solved: ...
- Spark RDD概念学习系列之什么是Pair RDD
不多说,直接上干货! 什么是Pair RDD (1)包含键值对类型的RDD被称作Pair RDD. (2)Pair RDD通常用来进行聚合计算. (3)Pair RDD通常由普通RDD做ETL转换而来 ...
- Jquery 随笔
jQuery中 遍历 var arr = ['a','b','c']; $.each(arr,function(k,v){ console.log(k); //键 console.log( ...
- 苹果操作系统名称演变史 新名称macOS
历史回顾 发布年代 名称 序号 1994-1999 Classic Mac OS 1-9 2001-2011 Mac OS X 10.0-Lion 2012-2015 OS X Mountain Li ...
- Unity 移动键Q的三种用法 For Mac,Windows类同
拖动整个场景:三指 (任何模式下)ALT+三指:旋转当前镜头 (任何模式下)双指前后滑动:缩放镜头 ps1:Q键移动的游戏场景,W移动的是游戏对象 ps2:三指 = 左键拖动