HDU1755
这道题直接暴力枚举复杂度为 n!*m
但是k<100 , 所以我们可以通过取模用dp[i][j] 表示k=i 时,-x取模k为j的最小值
#include <cstdio>
#include <cstring>
#include <iostream> using namespace std; int vis[] , n , m , x , k , num[] , dp[][];
const int INF = ;
void dfs(int t , int state)
{
if(t >= n){
for(int i= ; i<=;i++)
if(dp[i][state%i] > state)
dp[i][state%i] = state;
return;
}
for(int i=;i<n;i++){
if(!vis[i]){
vis[i] = ;
dfs(t+ , state*+num[i]);
vis[i] = ;
}
}
} int main()
{
// freopen("a.in","rb",stdin);
//cout<<10*9*8*7*6*5*4*3*2*1<<endl;
while(scanf("%d%d",&n,&m) == ){
for(int i=;i<n;i++)
scanf("%d",num+i); memset(vis,,sizeof(vis)); for(int i=;i<=;i++)
for(int j=;j<=;j++) dp[i][j] = INF; for(int i=;i<n;i++){
if(num[i]){
vis[i] = ;
dfs(,num[i]);
vis[i] = ;
}
}
for(int i=;i<m;i++)
{
scanf("%d%d",&x,&k);
if(dp[k][(((-x)%k)+k)%k] < INF)
printf("%d\n",dp[k][(((-x)%k)+k)%k]); //state+x = b*k -> state%k = (-x)%k
else puts("None");
}
}
return ;
}
HDU1755的更多相关文章
随机推荐
- 题解报告:poj 2503 Babelfish(map)
Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...
- 172 Factorial Trailing Zeroes 阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量.注意: 你的解决方案应为对数时间复杂度. 详见:https://leetcode.com/problems/factorial-trailing-ze ...
- Android插件开发
插件开发的概念: 对于一个功能特别多,代码量特别大的App比如支付宝.360手机助手来说,如果把所有的功能和代码都写在一个App中,就会造成App体积过于庞大,用户下载体验差,不方便测试,业务.模块耦 ...
- 工作记录 SQL prompt .net平台版本安装
昨天泡脚了,虽然依然睡的很晚,但是身体很舒服,尽量坚持把 上午尝试用一根网线,链接服务器和笔记本,但是设置好了,Ping不通. 下午安装SQL插件SQL prompt https://www.cnbl ...
- 安装CentOS--设置网络_2
(1)虽然CentOS 7已经可以联网,但是在日常的运维工作中,我们是需要手动给Linux系统设置IP地址的.输入如下命令. # vi /etc/sysconfig/network-scripts/i ...
- Java用SAX解析XML
要解析的XML文件:myClass.xml <?xml version="1.0" encoding="utf-8"?> <class> ...
- JavaScript - try catch finally throw
语法: try { tryCode - 尝试执行代码块 } catch(err) { catchCode - 捕获错误的代码块 } finally { finallyCode - 无论 try / c ...
- IntelliJ IDEA安装与破解
1.软件下载 文中使用到的安装包下载 2.部署 安装一路下一步即可. 把下载的JetbrainsCrack-3.1-release-enc.jar放在安装目录的bin目录下 3.修改配置文件 在安装的 ...
- 关于 <script type='text/template' > 的妙用 / 使用jquery获取iframe加载完成事件
https://www.cnblogs.com/ddqyc/p/6200539.html <!DOCTYPE html> <html> <head> <met ...
- Windows:32位程序运行在64位系统上注册表会重定向
参考资料 微软注册表英文文档 StackOverflow社区回答 1.注册表位置 64bit系统(Windows Server 2008 R2只有64bit系统)的注册表分32 位注册表项和64位注册 ...