泥点spot

Spot 
描述 
有n个泥点,排成一排,第i个泥点坐标为ai。有m个木板,第i个木板长为li。现在用尽可能少的木板覆盖所有泥点。 
问:使用木板的最少数量以及最优方案数(mod 1000000007),若不能完全覆盖,请输出“NO”。 
注意: 
泥点可重复覆盖,木板可重叠。 
计算方案时,长度相等的两个板不等价,视为两种板。 
输入 
第1行:一个数n 
第2行:n个数a1,a2…an(从小到大给出) 
第3行:一个数m 
第4行:m个数l1,l2…ln 
输出 
第1行,一个数,使用木板的最少数量 
第2行,一个数,最优方案数 
若不能完全覆盖,请输出“NO” 
样例输入 



10 
样例输出 

10 
数据范围和约定 
对于20%的数据:n=1 
对于另外20%的数据:m=1 
对于100%的数据: 
1<=n,m<=15 
0<=ai<=1000000000 
1<=li<=1000000000 
时空限定 
内存限制为 512 MB 
时间限制为 1 s 
评测环境和细则 
评测开启-O2优化 
评测软件为lemon 
评测忽略行尾空格 
文件名 
提交文件名为spot.cpp/pas 
输入文件名为spot.in 
输出文件名为spot.out

n,m<=15,先确定是状压

一开始f[i][j],i表示前i个木板,j压的是泥点 
再用g[i][j] 在dp的时候记录方案数 
但是要考虑的情况会多到爆炸 
在卡了一个下午后,本蒟蒻毅然决然的决定 换!状!态!!!!

用f[i][j],i表示前i个泥点,j压的是木板,f[i][j]表示方案数 
初始化成负数 
最后再扫一遍f[n][0-maxp],找不是负数中最小的,没找着就输出”NO” 
这样比以前的好处是: 
泥点最后一定要全都选完,但木板不一定,比较好转移。

错误的第一次code

时间: 2024-07-28 13:40:30

泥点spot的相关文章

URAL 1934 Black Spot --- 简单最短路变形

边权为1,在维护最短路的同时维护p值最小,我直接存的(1-p),即不遇见的概率,要使得这个值最大. #include <iostream> #include <cstdlib> #include <cstring> #include <string> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #includ

BZOJ3394: [Usaco2009 Jan]Best Spot 最佳牧场

3394: [Usaco2009 Jan]Best Spot 最佳牧场 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 11  Solved: 9[Submit][Status] Description Input 第1行输入三个整数P,F C.之后F行每行输入一个整数表示一个贝茜喜欢的牧场.之后C行每行输入三个整数ai,bi,Ti,描述一条路. Output 一个整数,满足题目要求的最佳牧场.如果有多个答案,输出编号最小的 Sample Input

There can be an additional spot ghd australia online

There can be an additional spot ghd australia online somerrn which you could view movie previews of all dvds which can be not even GHD Butterfly Purple to playhouses. Around quotes, The modern viral kick a long way craved and that also will make spor

洛谷——P2935 [USACO09JAN]最好的地方Best Spot

P2935 [USACO09JAN]最好的地方Best Spot 题目描述 Bessie, always wishing to optimize her life, has realized that she really enjoys visiting F (1 <= F <= P) favorite pastures F_i of the P (1 <= P <= 500; 1 <= F_i <= P) total pastures (conveniently nu

AxureRP7.0基础教程系列 部件详解图片热区 HOT SPOT WIDGET

原型库网站-讲师金乌原创发布,可自由转载,请注明出处! Axure中文官网:www.AxureRP.cn   <AxureRP7.0部件详解> 图片热区 HOT SPOT WIDGET 图片热区是一个不可见的(透明的)层,这个层允许你放在任何区域上并添加交互. 使用案例 自定义按钮 图片热区可以用来创建自定义按钮上的点击区域在上面说的例子中,我们使用了图片部件.文字部件.形状按钮部件,我们只需在这些部件上面添加一个图片热区并添加一次事件即可,无需在每个部件上都添加事件. 给图片添加热区 如果你

洛谷 P2935 [USACO09JAN]最好的地方Best Spot

P2935 [USACO09JAN]最好的地方Best Spot 题目描述 Bessie, always wishing to optimize her life, has realized that she really enjoys visiting F (1 <= F <= P) favorite pastures F_i of the P (1 <= P <= 500; 1 <= F_i <= P) total pastures (conveniently nu

Luogu P2935 最好的地方Best Spot

Luogu P2935 最好的地方Best Spot 这道题就是一道近乎裸的Floyd,因为数据很小,所以用领接表存图就可以了. #include<bits/stdc++.h> #define INF 0x3fffffff #define N 510 using namespace std; int p,f,c,mmin=INF,sum,ans; int like[N],e[N][N]; void Read() { scanf("%d%d%d",&p,&f,

UVa 141 - The Spot Game

题目:给你一个n*n的表格,两个人轮流进行操作,每次在一个位置放上或者拿下一个棋子: 如果某一状态,之前出现过,则对方获胜,问谁获胜,如果没人获胜,输出Draw. 分析:DS,数据结构,hash函数,状态压缩. 将每一行存到一个位中,用一个一维数组表示一个状态,然后利用hash表存储查找即可. 说明:注意旋转后的状态认为是相同的. #include <algorithm> #include <iostream> #include <cstdlib> #include &

URAL 1355. Bald Spot Revisited(数论)

题目链接 题意 : 一个学生梦到自己在一条有很多酒吧的街上散步.他可以在每个酒吧喝一杯酒.所有的酒吧有一个正整数编号,这个人可以从n号酒吧走到编号能整除n的酒吧.现在他要从a号酒吧走到b号,请问最多能喝到多少酒. 思路 :因为b肯定要是a的倍数,是a从头开始乘下去的,实际上就是找构成b/a的素数划分,有多少个素数划分就可以喝到多少的酒. 1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4