这道题直接暴力枚举复杂度为 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的更多相关文章

随机推荐

  1. 题解报告:poj 2185 Milking Grid(二维kmp)

    Description Every morning when they are milked, the Farmer John's cows form a rectangular grid that ...

  2. c# 搜狗拼音输入法,刷输入速度和累计输入

    事件起因: 搜狗拼音有几个称号(光速超人:要求最快打字速度 200字/m,一代文豪:要求累计输入字数达200000)一直没有那么快的速度,就想用.net来实现. 相关技术: 1.winform基本控件 ...

  3. java之java.sql.SQLException: ResultSet is from UPDATE. No Data.

    问题解释:java调用存储过程的时候,查询结果不能通过ResultSet来查询,需要通过CallableStatement来查询, 比如: ResultSet rs = callableStateme ...

  4. VUE 全选

    <div id="vue_det"> <p>全选:</p> <input type="checkbox" id=&qu ...

  5. CCF|跳一跳

    import java.util.Scanner; public class Main { public static void main (String[] args) { Scanner scan ...

  6. React全家桶之一 react-router之高级

    使用query获取URL中的参数 //引入相关的依赖 const Page = props => <div> <h1>{props.location.query.mess ...

  7. 【译】x86程序员手册37-第10章 初始化

    Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...

  8. MySQL性能优化之max_connections配置

    MySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量.如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于M ...

  9. AttributeError: 'list' object has no attribute 'extends' && list详解

    拼写错误 是extend  而不是extends 出错demo: In [27]: c = [2,3] In [28]: c.extends([5]) ------------------------ ...

  10. 网络测速命令--speedtest

    网络测速 speedtest-cli 顾名思义,这个命令为网络测速命令,基于Python编写,测试系统网络的上传下载速度,GitHub托管的项目地址,以下列出常见的用法 安装命令 pip instal ...