zoukankan      html  css  js  c++  java
  • Wannafly挑战赛1,2

    做了好久了,今天大佬讲题,好厉害,弱鸡只会几道水题。

    Treepath

    给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。

    奇数层到奇数层,偶数层到偶数层。

    Xorto

    给定一个长度为n的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为0。

    异或题好厉害,问题变成四个点的异或值为0。

    厉害的位置是他的遍历方式O(n*nlogn)

    左区间+1个元素,将产生一些新的异或值,有区间探测。(枚举的起点,不重复不遗漏)

    #include <bits/stdc++.h>
     
    using namespace std;
     
    const int maxn = 1e3+5;
    int a[maxn];
    int sets[3276800];
     
    int main()
    {
        //freopen("in.txt","r",stdin);
     
        int n;
        cin>>n;
     
        for(int i = 1; i <= n; i++) scanf("%d",&a[i]);
     
        long long cnt = 0;
        for(int i = 1; i <= n; i++) {
            int s = 0;
            for(int j = i; j <=n; j++) {
                s^=a[j];
                cnt+=sets[s];
            }
            s = 0;
            for(int j = i; j >= 1; j--) {
                s^=a[j];
                sets[s]++;
            }
        }
        printf("%lld
    ",cnt);
     
     
        return 0;
    }

    MMSet2

    给定一棵n个节点的树,点编号为1…n。
    Q次询问,每次询问给定一个点集S,令
    你需要求出
    其中dist(u,v)表示树上路径(u,v)的边数。

    答案就是 (点集的直径+1)/2,理由想一想就好,代码待填,嘻嘻~~~

    Color

    给一个没有重边的二分图, 要求给边染色. 有公共点的边不能同色. 问最少用多少种颜色, 并任意构造一组方案.
     
    答案是:度数的最大值。
    分析:肯定他是理论的下界,那么怎么才能知道他是理论的上界呢?嘻嘻。跳过,
    然后染色。
     
    Cut
    给你一个长度为n的序列,你每次可以将一个序列分割成两个连续的的子序列,
    分割的代价为原序列的总和。
    现在允许你在初始时将序列重新排列一次。
    问分割成n个长度为1的序列的最大总代价是多少?
     
    哈夫曼
     
    Travel

    精灵王国有N座美丽的城市,它们以一个环形排列在Bzeroth的大陆上。其中第i座城市到第i+1座城市花费的时间为d[i]。特别地,第N座城市到第1座城市花费的时间为d[N]。这些道路都是双向的。

    另外,精灵们在数千年的时间里建造了M座传送门,第i座传送门连接了城市u[i]与城市v[i],并且需要花费w[i]的时间通过(可能有两座传送门连接了同一对城市,也有可能一座传送门连接了相同的两座城市)。这些传送门都是双向的。

    小S是精灵王国交通部部长,她的职责是为精灵女王设计每年的巡查路线。每次陛下会从某一个城市到达另一个城市,沿路调查每个城市的治理情况,她需要找出一条用时最短的路线。

    枚举特殊点。

  • 相关阅读:
    将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
    placeholder的兼容处理(jQuery下)
    滚动条滚动到页面底部继续加载的处理实例
    html/css基础篇——html代码编写过程中的几个警惕点
    多iframe使用tab标签方式添加、删除、切换的处理实例
    iframe的内容增高或缩减时设置其iframe的高度的处理方案
    IE9父容器overflow:auto时,子容器状态更改导致滚动条下出现额外空间的问题探讨
    C语言基本类型之long long int
    VIM使用技巧总结
    Ineedle驱动方式dpdk测试性能
  • 原文地址:https://www.cnblogs.com/TreeDream/p/7823475.html
Copyright © 2011-2022 走看看