对于S集合中的数,例如a1,考虑到如果x能够被表示出来,那么x+a1也一定能被表示出来

设d[r]为所有模a1余r的数中,能被表示出来的最小的数

用d[x]+ai去更新d[(x+ai)%a1],跑最短路即可

不用真的建出图来,因为图是完全的。否则会MLE。

#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
queue<int>q;
int n,a[2010],m,dis[50010];
bool inq[50010];
void spfa(int s)
{
memset(dis+1,0x7f,sizeof(dis));
q.push(s); inq[s]=1; dis[s]=0;
while(!q.empty())
{
int U=q.front();
for(int i=2;i<=n;++i)
if(dis[(U+a[i])%a[1]]>dis[U]+a[i])
{
dis[(U+a[i])%a[1]]=dis[U]+a[i];
if(!inq[(U+a[i])%a[1]])
{
q.push((U+a[i])%a[1]);
inq[(U+a[i])%a[1]]=1;
}
}
q.pop(); inq[U]=0;
}
}
int main(){
// freopen("b.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&a[i]);
}
spfa(0);
int x;
scanf("%d",&m);
for(int i=1;i<=m;++i){
scanf("%d",&x);
puts(dis[x%a[1]]<=x ? "YES" : "NO");
}
return 0;
}

【最短路】【spfa】CDOJ1633 去年春恨却来时,落花人独立,微雨燕双飞的更多相关文章

  1. cdoj1633 去年春恨却来时,落花人独立,微雨燕双飞

    地址:http://acm.uestc.edu.cn/#/problem/show/1633 题目: 去年春恨却来时,落花人独立,微雨燕双飞 Time Limit: 3000/1000MS (Java ...

  2. 最短路模板(Dijkstra & Dijkstra算法+堆优化 & bellman_ford & 单源最短路SPFA)

    关于几个的区别和联系:http://www.cnblogs.com/zswbky/p/5432353.html d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到 ...

  3. L - Subway(最短路spfa)

    L - Subway(最短路spfa) You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. In ...

  4. ACM/ICPC 之 最短路-SPFA+正逆邻接表(POJ1511(ZOJ2008))

    求单源最短路到其余各点,然后返回源点的总最短路长,以构造邻接表的方法不同分为两种解法. POJ1511(ZOJ2008)-Invitation Cards 改变构造邻接表的方法后,分为两种解法 解法一 ...

  5. POJ 1847 Tram --set实现最短路SPFA

    题意很好懂,但是不好下手.这里可以把每个点编个号(1-25),看做一个点,然后能够到达即为其两个点的编号之间有边,形成一幅图,然后求最短路的问题.并且pre数组记录前驱节点,print_path()方 ...

  6. 【POJ】3255 Roadblocks(次短路+spfa)

    http://poj.org/problem?id=3255 同匈牙利游戏. 但是我发现了一个致命bug. 就是在匈牙利那篇,应该dis2单独if,而不是else if,因为dis2和dis1相对独立 ...

  7. 【wikioi】1269 匈牙利游戏(次短路+spfa)

    http://www.wikioi.com/problem/1269/ 噗,想不到.. 次短路就是在松弛的时候做下手脚. 设d1为最短路,d2为次短路 有 d1[v]>d1[u]+w(u, v) ...

  8. POJ 1511 最短路spfa

    题很简单 就是有向图中求给出的源点到其余所有点的最短路的和与其余所有点到源点的最短路之和 一开始以为dij对于正权图的单源最短路是最快的 写了一发邻接表的dij 结果超时 把所有的cin改成scanf ...

  9. Layout---poj3169(差分约束+最短路spfa)

    题目链接:http://poj.org/problem?id=3169 有n头牛站成一排 在他们之间有一些牛的关系比较好,所以彼此之间的距离不超过一定距离:也有一些关系不好的牛,希望彼此之间的距离大于 ...

随机推荐

  1. 对vue中 默认的 config/index.js:配置的详细理解 -【以及webpack配置的理解】-config配置的目的都是为了服务webpack的配置,给不同的编译条件提供配置

    当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面  (环境变量及其基本变量的配置) var path = require('path') ...

  2. Python3.3.3 安装(Linux系统)

    1.wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz //检查http://www.python.org/ftp/python网 ...

  3. 20179205《Linux内核原理与分析》第一周作业

    输出 shiyanlou 图形字符的命令banner: 新建用户wangyazhe,输入密码不会显示出来: 利用sudo adduser添加一个用户 loutest,mkdir创建一个新的文件夹opt ...

  4. Style2Paints:用AI技术为线稿快速上色的工具(GitHub 3310颗星)

    python 开源项目: Style2Paints:用AI技术为线稿快速上色的工具(GitHub 3310颗星) https://github.com/lllyasviel/style2paints

  5. pam_examples

    blank.c /* * $Id$ */ /* Andrew Morgan (morgan@parc.power.net) -- a self contained `blank' * applicat ...

  6. Educational Codeforces Round 23 补题小结

    昨晚听说有教做人场,去补了下玩. 大概我的水平能做个5/6的样子? (不会二进制Trie啊,我真菜) A. 傻逼题.大概可以看成向量加法,判断下就好了. #include<iostream> ...

  7. C#文件路径乱码

    最近学C#,用C#写serialport遇到了一点小问题记录一下. 问题一: if (!string.IsNullOrEmpty(filePath.ToString())) { try { fs = ...

  8. Codeforces 873B - Balanced Substring(思维)

    题目链接:http://codeforces.com/problemset/problem/873/B 题目大意:一个字符串全部由‘0’和‘1’组成,当一段区间[l,r]内的‘0’和‘1’个数相等,则 ...

  9. 线程同步工具 Semaphore类使用案例

    参考博文 : 线程同步工具(一) 线程同步工具(二)控制并发访问多个资源 并发工具类(三)控制并发线程数的Semaphore 使用Semaphore模拟互斥锁 当一个线程想要访问某个共享资源,首先,它 ...

  10. Asp.net 模板下载和导入到DataTable中

    HTML页面: <tr> <td colspan=" style="text-align: left; border: 1px;"> <as ...