2015 多校联赛 ——HDU5389(dp)
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
0
10
60
题意:
已知有两个门,要求将人分为两组,两组的“和”分别等于两个门的数字,当然也可以全部进入一个门
思路:(NeverMoreH)
如果能找到满足题意的解,一定满足a和b的和等于n个人的标号的和,所以我们只需要判断n个人的标号组成a的情况有多少(或者只判断b,一样),同时还要注意可以把n个人都分给a,或者都分给b,这样也是满足的。(果然还是缺乏经验- -,想不到方法)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
#define N 500010
#define mod 258280327 int q[100050];
int dp[100005][10]; int Sum(int x,int y)
{
int temp = x + y;
int ans = temp % 9;
if(ans == 0)
return 9;
return ans;
} int main()
{
int T,n,a,b;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&n,&a,&b);
int sum = 0;
for(int i = 1; i <= n ; i++)
{
scanf("%d",&q[i]);
sum = Sum(sum,q[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(j,q[i])] +=dp[i-1][j];
dp[i][j] %= mod;
dp[i][Sum(j,q[i])] %= mod;
}
int ans = 0; ans = (ans+dp[n][a]) * (Sum(a,b) == sum); if(sum == a && ans == 0)
ans++;
if(sum == b)
ans++;
printf("%d\n",ans);
}
return 0;
}
2015 多校联赛 ——HDU5389(dp)的更多相关文章
- 2015 多校联赛 ——HDU5410(dp)
		Sample Input 1 100 2 10 2 1 20 1 1 Sample Output 21 题意:共有m元钱和n种东西,求每种单价p,而且你买x个该种物品可以得到Ax+B个,求m元钱最 ... 
- 2015 多校联赛 ——HDU5375(dp)
		Sample Input 2 00?0 1 2 4 8 ???? 1 2 4 8 Sample Output Case #1: 12 Case #2: 15 ?部分可以是0 or 1,将二进制 ... 
- 2015多校.Zero Escape (dp减枝 && 滚动数组)
		Zero Escape Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tot ... 
- 2015 多校联赛 ——HDU5334(构造)
		Virtual Participation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ... 
- 2015 多校联赛 ——HDU5302(构造)
		Connect the Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ... 
- 2015 多校联赛 ——HDU5294(最短路,最小切割)
		Tricks Device Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ... 
- 2015 多校联赛 ——HDU5325(DFS)
		Crazy Bobo Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Tota ... 
- 2015 多校联赛 ——HDU5316(线段树)
		Fantasy magicians usually gain their ability through one of three usual methods: possessing it as an ... 
- 2015 多校联赛 ——HDU5323(搜索)
		Solve this interesting problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ... 
随机推荐
- C++中文件的读写
			C++中文件的读写 在C++中如何实现文件的读写? 一.ASCII 输出 为了使用下面的方法, 你必须包含头文件<fstream.h>(译者注:在标准C++中,已经使用<fstrea ... 
- UWP 页面间传递参数(常见类型string、int以及自定义类型)
			这是一篇很基础的,大佬就不要看了,也不要喷,谢谢 
- python实现维吉尼亚解密
			# -*-coding:UTF-8-*- from sys import stdout miwen = "KCCPKBGUFDPHQTYAVINRRTMVGRKDNBVFDETDGILTXR ... 
- MapReduce工作机制——Word Count实例(一)
			MapReduce工作机制--Word Count实例(一) MapReduce的思想是分布式计算,也就是分而治之,并行计算提高速度. 编程思想 首先,要将数据抽象为键值对的形式,map函数输入键值对 ... 
- appiun滑动的简单封装
			import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.test ... 
- 第一章	IDEA的使用
			第一章 IDEA的使用 1.为什么要使用idea 最智能的IDE IDEA相对于eclipse来说最大的优点就是它比eclipse聪明.聪明到什么程度呢?我们先来看几个简单的例子. A.智能提示重 ... 
- kubernetes入门(08)kubernetes单机版的安装和使用
			kubectl get - 类似于 docker ps ,查询资源列表 kubectl describe - 类似于 docker inspect ,获取资源的详细信息 kubectl logs - ... 
- html5shiv.js和respond.min.js的作用
			html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题. respond.min:让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览 ... 
- spring6——AOP的编程术语
			面向切面编程作为一种编程思想,允许我们对程序的执行流程及执行结果动态的做出改变,以达到业务逻辑之间的分层管理或者是目标对象方法的增强,spring框架很好的实现了这种编程思想,让我们可以对主业务逻辑和 ... 
- JSON(五)——同步请求中使用JSON格式字符串进行交互(不太常见的用法)
			在同步请求中使用JSON格式进行数据交互的场景并不多,同步请求是浏览器直接与服务器进行数据交互的大多是用jsp的标签jstl和el表达式对请求中的数据进行数据的渲染.我也是在一次开发中要从其它服务器提 ... 
