1104

Posted oieredsion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1104相关的知识,希望对你有一定的参考价值。

多打一个0 爆空间 然后就掉50....
A 妹子
计算几何 斜挂了...
B
贪心贪错了 还掉了50
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

C 相交
题目描述
一棵大树下有 n 个巢穴,由 n-1 条双向道路连接,任意两个城市均可互相到达。
大树附近有两群蚂蚁,每天早上,第一群蚂蚁会派一只蚂蚁到这棵树下,并在第 a 个巢穴
到 第
b 个巢穴间的最短路径上的每个巢穴留下气味。每天傍晚,第二群蚂蚁会派一只蚂蚁到

棵树下,并侦查第 c 个巢穴到第 d 个巢穴间的最短路径上是否有蚂蚁留下的气味。
每天蚂蚁留下的气味会在当天深夜消失。
输入
第一行一个正整数 n,含义如题所示。
接下来 n-1 行,每行两个正整数 u,v,表示第 u 个巢穴和第 v 个巢穴间有一条双向道路。
接下来一行一个正整数 q,表示天数。
接下来 q 行,每行四个正整数 a,b,c,d,含义如题所示。
输出
q 行,每行一个字符串。
若第二群派出的蚂蚁侦查到蚂蚁留下的气味,则输出” YES” ,否则输出” NO”

解1:
显然用树链剖分+树状数组维护

//
#include<bits/stdc++.h>
using namespace std;
#define maxnn 301000
#define GC getchar()
int n;
int las[maxnn],en[maxnn],nex[maxnn],tot;
int son[maxnn];
int size[maxnn];
int f[maxnn];
int c1[maxnn],c2[maxnn];
int dep[maxnn];
int dfn[maxnn],low[maxnn],vii,topp[maxnn];
void add(int a,int b) {
    en[++tot]=b;
    nex[tot]=las[a];
    las[a]=tot;
}
void dfs1(int v,int fa) {
    dep[v]=dep[fa]+1;
    size[v]=1;
    f[v]=fa;
    int maxson=-1;
    for(int i=las[v]; i; i=nex[i]) {
        int u=en[i];
        if(u!=fa) {
            dfs1(u,v);
            size[v]+=size[u];
            if(size[u]>maxson) {
                son[v]=u;
                maxson=size[u];
            }
        }
    }
}
void dfs2(int v,int fa,int t) {
    topp[v]=t;
    dfn[v]=++vii;
    if(son[v]) {
        dfs2(son[v],v,t);
    }
    for(int i=las[v]; i; i=nex[i]) {
        int u=en[i];
        if(u==fa) continue;
        if(u==son[v]) continue;
        dfs2(u,v,u);
    }
}
inline int R() {
    char t;
    int x=0;
    while(!isdigit(t)) {
        t=GC;
    }
    while(isdigit(t)) {
        x=x*10+t-48;
        t=GC;
    }
    return x;
}
#define lowbit(i) i&(-i)
void aaa(int x,int d) {
    for(int i=x; i<=n+10000; i+=lowbit(i)) {
        c1[i]+=d;
        c2[i]+=x*d;
    }
}
int get(int x) {
    int ans=0;
    for(int i=x; i; i-=lowbit(i)) {
        ans+=c1[i]*(x+1);
        ans-=c2[i];
    }
    return ans;
}
void zadd(int x,int y,int d) {
    while(topp[x]!=topp[y]) {
        if(dep[topp[x]]<dep[topp[y]]) swap(x,y);
        aaa(dfn[topp[x]],d);
        aaa(dfn[x]+1,-d);
        x=f[topp[x]];
    }
    if(dep[x]<dep[y]) swap(x,y);
    aaa(dfn[y],d);
    aaa(dfn[x]+1,-d);
}
bool query(int x,int y) {
    int ans=0;
    while(topp[x]!=topp[y]) {
        if(dep[topp[x]]<dep[topp[y]]) swap(x,y);
        if(get(dfn[x])-get(dfn[topp[x]]-1)) return true;
        x=f[topp[x]];
    }
    if(dep[x]<dep[y]) swap(x,y);
    if(get(dfn[x])-get(dfn[y]-1)) return true;
    return false;
}
void FIE()
{
    freopen("inter.in","r",stdin);
    freopen("inter.out","w",stdout);
}
int main() {
    //FIE();
    n=R();
    int x,y;
    for(int i=1; i<n; i++) {
        x=R();
        y=R();
        add(x,y);
        add(y,x);
    }
    dfs1(1,1);
    dfs2(1,1,1);
    int q;
    q=R();
    int a,b,c,d;
    while(q--) {
        a=R();
        b=R();
        c=R();
        d=R();
        zadd(a,b,1);
        if(query(c,d)) {
            puts("YES");
        } else {
            puts("NO");
        }
        zadd(a,b,-1);
    }
}

解2

以上是关于1104的主要内容,如果未能解决你的问题,请参考以下文章

CSS中的媒体片段URI替代方案?

使用 Relay 和 React-Native 时的条件片段或嵌入的根容器

错误 LNK1104:无法打开文件 'aocl_utils.lib'

Visual Studio c++ 仅在调试模式下 LNK 1104 错误

ZZNUOJ_C语言1104:求因子和(函数专题)(完整代码)

1104课堂小结