本來這道題該100的,沒想到考試沒想最短路,直接跑暴力了

實際上這道題有原題跳樓機

那道題在模x的意義下統計答案

現在,我們要統計n個數的答案

30pts為提高組原題

剩下70pts,可以記dis[i]表示在模a[1]意義下為i,由a[2]~a[n]可以組合而成的最小數

則i介於0~a[1]-1 ,由於a[1]很小,不會爆炸

每一次從i~(i+a[j])%a[1]連邊權為a[j]的邊,代表我們需要a[j]的代價將模a[1]意義下為i的最小值轉變為(i+a[j])%a[1]

跑完最短路之後,我們就對dis[0~a[1]-1]取max,max為在模i意義下最小不能表示出來的數+i

所以答案為max-i

代碼:

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

ll n,h[1000010],nxt[1000020],v[1000020],w[1000020],ec,vis[1000020],d[1000010],x[10];

void add(ll a,ll b,ll c){v[++ec]=b;w[ec]=c;nxt[ec]=h[a];h[a]=ec;}

struct no{

ll d,x;

bool operator <(const no &rhs)const{

return d>rhs.d;

}

};

void dij(ll s){

priority_queueq;

q.push((no){0,s});

for(ll i=0;i<=1000000;i++)d[i]=LONG_LONG_MAX/3;

d[s]=0;

while(!q.empty()){

no x=q.top();q.pop();

if(vis[x.x])continue;

vis[x.x]=true;

for(int i=h[x.x];i;i=nxt[i])

if(d[v[i]]>d[x.x]+w[i]){

d[v[i]]=d[x.x]+w[i];

q.push((no){d[v[i]],v[i]});

}

}

}

int main(){

freopen(“sequence.in”,“r”,stdin);

freopen(“sequence.out”,“w”,stdout);

scanf("%lld",&n);

for(ll i=1;i<=n;i++)

scanf("%lld",&x[i]);

if(n==2){

printf("%lld",x[1]*x[2]-x[1]-x[2]);

return 0;

}

ll ans=0;

for(ll i=0;i<x[1];i++)

for(ll j=2;j<=n;j++)

add(i,(i+x[j])%x[1],x[j]);

dij(0);

for(ll i=0;i<x[1];i++)

ans=max(ans,d[i]);

printf("%lld\n",ans-x[1]);

}

jzoj5864的更多相关文章

随机推荐

  1. jquery正则表达式验证:验证身份证号码

    需求说明: 前端页面使用正则表达式验证文本输入框输入的身份证号码是否符合规则. 代码说明: 这里只介绍正则表达式部分,其他部分的代码不做介绍.如有其它需求请自行修改即可. 步骤一:建立一个页面可以是h ...

  2. linux-centos6-rabbitmq安装及配置

    服务器版本centos6.8 一.先安装Erlang 具体安装哪个版本可以对照 http://www.rabbitmq.com/which-erlang.html 如下图: 准备安装RabbitMQ3 ...

  3. UI设计小白怎样学才能快速入门?

    最近有很多同学问我,UI小白有什么捷径可以快速入门?其实我想说设计这门学科没有什么捷径,真的只有多学.多看.多练.多想.多做. 1.先学软件 如果你是小白,软件也不会用,那就先学软件,从PS开始,先看 ...

  4. vue-route 路由传参的使用

    1 router/index.js 中的定义 { path: '/product', component: ProductIndex, meta: { requiredAuth: true, }}, ...

  5. METAGENOMIC SEQUENCING ANALYSIS WORKFLOW

    Metagenomics is defined as the study of the metagenome, which is total genomic DNA from environmenta ...

  6. 2018.09.01 loj#2330. 「清华集训 2017」榕树之心(树形dp)

    传送门 树形dp好题啊. 我们用w[i]" role="presentation" style="position: relative;">w[ ...

  7. 2018.08.18 NOIP模拟 snow(最大流)

    Snow 题目背景 SOURCE:NOIP2015-SHY4 题目描述 有一天,TT 要去 ABC 家.ABC 的大门外有 n 个站台,用 1 到 n 的正整数编号,TT 需要对每个站台访问恰好一定次 ...

  8. 【转】Paxos算法2-算法过程

    ——转自:{老码农的专栏} 1.编号处理 根据P2c ,proposer在提案前会先咨询acceptor查看其批准的最大的编号和value,再决定提交哪个value.之前我们一直强调更高编号的prop ...

  9. python操作数据库-数据表

    数据表: 数据类型: 帮助的三种形式: 在cmd中输入: help 要帮助的主题词,或 ? 要帮助的主题词 或  \h 要帮助的主题词 . 数据表的创建: CREATE database IF NOT ...

  10. DVWA

    DVWA默认的用户有5个,用户名密码如下(一个足以): admin/password gordonb/abc123 1337/charley pablo/letmein smithy/password