jzoj5864
本來這道題該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的更多相关文章
随机推荐
- Java中 Random
Java中的Random()函数 (2013-01-24 21:01:04) 转载▼ 标签: java random 随机函数 杂谈 分类: Java 今天在做Java练习的时候注意到了Java里面的 ...
- Luogu 3953[NOIP2017] 逛公园 堆优化dijkstra + 记忆化搜索
题解 首先肯定是要求出单源最短路的,我用了堆优化dijikstra ,复杂度 mlogm,值得拥有!(只不过我在定义优先队列时把greater 打成了 less调了好久 然后我们就求出了$i$到源点的 ...
- ShowMsg函数
ShowMsg():显示提示信息,跳转到相应页面 例子: ShowMsg(,);
- [Selenium]如何实现上传本地文件
public void uploadLocalFileToServer(String uploadFileName){ String AutomationPath = System.getProper ...
- swift 设置string 中汉字中变色等处理代码
我们在做弹窗 或者显示label string的时候经常会用到字体变色 变大 等特殊处理, swift中提供一个函数 NSMutableAttributedString 使用方法简介 var main ...
- org.apache.hadoop.ipc.RemoteException: java.io.IOException:XXXXXXXXXXX could only be replicated to 0 nodes, instead of 1
原因:Configured Capacity也就是datanode 没用分配容量 [root@dev9106 bin]# ./hadoop dfsadmin -report Configured Ca ...
- vue webkit-box-orient: vertical打包线上不显示
emmm……觉得不科学啊,写了几个vue的网站,限制超出行数省略号.结果发现放到线上,全都瓦特了.反复检查本地跑起来没错,代码没少,偏偏在线上的时候就是缺了vue -webkit-box-orient ...
- linux的零碎知识
一 nfs服务器 1 NFS的介绍:是Network File System的简写,是网络文件系统.用于分散式文件系统的协定,由sun公司开发的,在1984年向外公布的. 2 NFS的功能:是通 ...
- hdu-1711(kmp算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 思路:kmp模板,注意用scanf,不然超时. #include<iostream> ...
- hdu - 1072(dfs剪枝或bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1072 思路:深搜每一个节点,并且进行剪枝,记录每一步上一次的s1,s2:如果之前走过的时间小于这一次, ...