题目

思博题,发现一旦路径太长我们可以来回走最后一条边,但是这样并不能改变路径长度的奇偶性

所以求一下所有点之间奇最短路和偶最短路就好了,直接暴力\(BFS\)即可

有一个烦人的特判

代码

#include<bits/stdc++.h>
#define mp std::make_pair
#define re register
inline int read() {
char c=getchar();int x=0;while(c<'0'||c>'9') c=getchar();
while(c>='0'&&c<='9') x=(x<<3)+(x<<1)+c-48,c=getchar();return x;
}
const int maxn=5005;
struct E{int v,nxt;}e[maxn<<1];
struct Ask{int x,y,d,rk;}q[1000005];
int head[maxn],d[maxn][2],vis[maxn][2];
int n,m,num,Q,Ans[1000005],p[maxn];
std::queue< std::pair<int,int> > qt;
inline int cmp(const Ask &A,const Ask &B) {return A.x<B.x;}
inline void add(int x,int y) {e[++num].v=y;e[num].nxt=head[x];head[x]=num;}
inline void BFS(int s) {
memset(vis,0,sizeof(vis));
memset(d,20,sizeof(d));
vis[s][0]=1,d[s][0]=0;
qt.push(mp(s,0));
while(!qt.empty()) {
int k=qt.front().first,o=qt.front().second;
qt.pop();
for(re int i=head[k];i;i=e[i].nxt)
if(!vis[e[i].v][o^1]) {
vis[e[i].v][o^1]=1;
d[e[i].v][o^1]=d[k][o]+1;
qt.push(mp(e[i].v,o^1));
}
}
}
inline void solve(int L,int R) {
BFS(q[L].x);
for(re int i=L;i<=R;i++) Ans[q[i].rk]=(q[i].d>=d[q[i].y][q[i].d&1]);
for(re int i=L;i<=R;i++) if(q[i].x==q[i].y&&!p[q[i].x]&&q[i].d>0) Ans[q[i].rk]=0;
}
int main() {
n=read(),m=read();Q=read();
for(re int x,y,i=1;i<=m;i++)
x=read(),y=read(),add(x,y),add(y,x),p[x]=p[y]=1;
for(re int i=1;i<=Q;i++) q[i].x=read(),q[i].y=read(),q[i].d=read(),q[i].rk=i;
for(re int i=1;i<=Q;i++) if(q[i].x>q[i].y) std::swap(q[i].x,q[i].y);
std::sort(q+1,q+Q+1,cmp);
int l=1;
for(re int i=2;i<=Q;i++) if(q[i].x!=q[i-1].x) solve(l,i-1),l=i;
solve(l,Q);
for(re int i=1;i<=Q;i++) puts(Ans[i]?"TAK":"NIE");
return 0;
}

[POI2013]MOR-Tales of seafaring的更多相关文章

  1. 【BZOJ3417】Poi2013 Tales of seafaring 分层图BFS

    [BZOJ3417]Poi2013 Tales of seafaring Description 一个n点m边无向图,边权均为1,有k个询问 每次询问给出(s,t,d),要求回答是否存在一条从s到t的 ...

  2. BZOJ3417[Poi2013]Tales of seafaring——BFS

    题目描述 Young Bytensson loves to hang out in the port tavern, where he often listens to the sea dogs te ...

  3. BZOJ3417 : Poi2013 Tales of seafaring

    若x到y走k步可行,那么走k+2步也可行 以每个点为起点,BFS处理出到每个点走了奇数步.偶数步的最短路 对于一次询问,如果d不小于相应奇偶性的最短路,则可行 特判:对于孤立点,无论怎么走都不可行 # ...

  4. POI2013题解

    POI2013题解 只做了BZ上有的\(13\)道题. 就这样还扔了两道神仙构造和一道计算几何题.所以只剩下十道题了. [BZOJ3414][Poi2013]Inspector 肯定是先二分答案,然后 ...

  5. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  6. 【BZOJ3417】[POI2013]MOR-Tales of seafaring (最短路SPFA)

    [POI2013]MOR-Tales of seafaring 题目描述 一个n点m边无向图,边权均为1,有k个询问 每次询问给出(s,t,d),要求回答是否存在一条从s到t的路径,长度为d 路径不必 ...

  7. bzoj3417:[POI2013]MOR-Tales of seafaring

    传送门 这个题比较水,很容易看出 1.最短路小于d,直接看奇偶性就好了 2,最短路大于d,puts("NIE\n"); 主要就是判奇偶性的问题,将每个点拆成奇点和偶点跑bfs就行了 ...

  8. [POI2013]Łuk triumfalny

    [POI2013]Łuk triumfalny 题目大意: 一棵\(n(n\le3\times10^5)\)个结点的树,一开始\(1\)号结点为黑色.\(A\)与\(B\)进行游戏,每次\(B\)能选 ...

  9. [POI2013]Polaryzacja

    [POI2013]Polaryzacja 题目大意: 给定一棵\(n(n\le250000)\)个点的树,可以对每条边定向成一个有向图,这张有向图的可达点对数为树上有路径从\(u\)到达\(v\)的点 ...

随机推荐

  1. 常用Jquery前端操作

    input只能输入正整数 onkeyup="this.value=this.value.replace(/\D/g,'')" if(!confirm("删除后无法恢复,确 ...

  2. php的字符串{}选定与{变量}

    $str = "abcdefg"; echo $str{2};//输出c $a = "test"; echo "ddd{$a}";//输出d ...

  3. 显示所有用户,mysql的基本操作

    可以实现显示数据库中所有用户. select user from mysql.user; select user,host,password from mysql.user;   给表创建用户,授权: ...

  4. NX二次开发-UFUN创建图层类别UF_LAYER_create_category

    NX11+VS2013 #include <uf.h> #include <uf_layer.h> UF_initialize(); //创建图层类别 UF_LAYER_cat ...

  5. flutter 显示HTML代码

    需求是后台返回的是富文本,所以需要吧富文本转成flutter 能识别的内容 找了几个插件只有这个比较好用写下来 dependencies: flutter_html: ^0.9.8 安装 下剩下的就比 ...

  6. delphi基础篇之单元文件

    Delphi单元文件 unit MainFrm; {库单元文件头} interface        {接口部分由Interface开始implementation结束.声明引用的单元,常量,数据类型 ...

  7. SPSS单一样本的T检验

    SPSS单一样本的T检验 如果已知总体均数,进行样本均数与总体均数之间的差异显著性检验属于单一样本的T检验.在SPSS中,单一样本的T检验由"One-Sample T Test"过 ...

  8. __attribute__ (( __cleanup__))

    一.简单说明: cleanup作为__attribute__属性中的一个可选属性值 其作用是当其声明的变量离开了其生命周期,那么 会自动调用你所指定的销毁函数 二.例子: #include <s ...

  9. gdb常用功能

    1,调试core dump 文件    ulimit -c 1024:设置coredump文件大小为1024,否则默认不会生成coredump文件    gdb -c core:gdb调试该cored ...

  10. Django开发学习BUG记录--RemovedInDjango19Warning:Model class apps.user.models.User doesn't declare an explicit app_label

    报错信息: /home/python/PycharmProjects/dailyfresh/apps/user/models.py:8: RemovedInDjango19Warning: Model ...