zoukankan      html  css  js  c++  java
  • 2018HBCPC

    Link


    A

    题意

    几何

    分析

    旋转一个三角形,观察即可得出


    B

    概率题,胆量==


    C

    题意

    给一棵树,问这棵树的所有子图

    分析

    定义:num[i]:以i为根的子树数量(i选择在内),dfs递归count即可


    G   模拟题

    直观的是

    1、并不是一直尽可能多的买卡片好

    2、X<=Y 的时候并不一定不买,因为卡片一旦买了,产生的效益可以叠加

    故我们可以在每次预处理出下次购买时候的情况,并且我们可以O(1)算出下一个卡片购买的时间和不购买了的通关时间

    时间复杂度:购买了√n个卡片后,最多再需要√n天就可以通关,所以时间复杂度O(√n)


    I. Five Day Couple

    题意

    给了n个数,a1到an。q组询问,每次给一个数x,区间[l,r],求区间 l 到 r中与x异或值的最大值( n<=1e5,a_i<=1e9,q<=1e5,l,r<=n,x<=1e9 )

    分析

    可持久化字典树,内存开小了找了半天bug、

    #include<bits/stdc++.h>
    #define ll long long
    using namespace std;
    
    int a[100005];
    int rt[33*100003][2],cnt[33*100003],root[100003];
    int n,q,tot;
    
    int newnode()
    {
        ++tot;
        memset(rt[tot],0,sizeof(rt[tot]));
        cnt[tot]=0;
        return tot;
    }
    
    void build(int fa,int la,ll val)
    {
        for(int i=31;i>=0;i--)
        {
            int id=(val>>i)&1;
            int nxt1=rt[fa][id]=newnode();
            rt[fa][!id]=rt[la][!id];
            int nxt2=rt[la][id];
            cnt[nxt1]=cnt[nxt2]+1;
            fa=nxt1;
            la=nxt2;
        }
    }
    
    ll query(int fa,int la,ll val)
    {
        ll ans=0;
        for(int i=31;i>=0;i--)
        {
            int id=(val>>i)&1;
            int k1=rt[fa][!id],k2=rt[la][!id];
            if((cnt[k1]-cnt[k2]) > 0 )
            {
                ans|=(1LL<<i);
                id=!id;
            }
            fa=rt[fa][id];
            la=rt[la][id];
        }
        return ans;
    }
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            root[i]=newnode();
            build(root[i],root[i-1],a[i]);
        }
        scanf("%d",&q);
        int l,r;
        ll x;
        while(q--)
        {
            scanf("%lld%d%d",&x,&l,&r);
            printf("%lld
    ",query(root[r],root[l-1],x));
        }
        return 0;
    }

    Summary

    Ym:惨惨啊,Java不会,思维题不会,还会啥

  • 相关阅读:
    [Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
    Flink -- Barrier
    深入理解Flink ---- End-to-End Exactly-Once语义
    深入理解Flink ---- 系统内部消息传递的exactly once语义
    flink watermark介绍
    flink中对于window和watermark的一些理解
    Apache Flink:详细入门
    flink学习之十一-window&EventTime实例
    Lambda语法
    String s = “1a2a3a4a” 解码为 “1234”
  • 原文地址:https://www.cnblogs.com/Deadline/p/9007790.html
Copyright © 2011-2022 走看看