zoukankan      html  css  js  c++  java
  • Codeforces Round #423

    A:水.

    B:注意min(n,m)>=max(xmax-xmin+1,ymax-ymin+1)就行

    C:刚开始想用待输入字符串是否是已经确定字符串的子串做(map<int,string>) 如果是就跳过 不是就把超过的部分赋值 这样就可以避免重复赋值 但总觉得不是还不是最优 后来看到有人用并查集做觉得思路相同且实现地更好

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+5;
    char s[N],res[N*2];
    int fa[N*2];
    int Find(int x)
    {
        return x==fa[x]?x:fa[x]=Find(fa[x]);
    }
    int main()
    {
        for(int i=0;i<N*2;i++)fa[i]=i;
        int n,t,x;
        scanf("%d",&n);
        int ml=0;
        for(int i=0;i<n;i++)
        {
            scanf("%s",s);
            scanf("%d",&t);
            int l=strlen(s);
            while(t--)
            {
                scanf("%d",&x);
                ml=max(ml,l+x-1);
                int y=x;
                while((y=Find(y))<=l+x-1)
                {
                    res[y]=s[y-x];
                    fa[y]=y+1;
                }
            }
        }
        for(int i=1;i<=ml;i++)if(!res[i])res[i]='a';
        puts(res+1);
        return 0;
    }
    View Code

    D:..碰到过的最简单的D题 向日葵构造

    有n个点 其中k个点为叶子只能连一条边 剩下的边至少有2条边连 求树中最远的两个点最近是多少:很明显每个非叶子节点最少都连有一个叶子 先把叶子全部连在一个非叶子上 再每有一个非叶子节点就连在最初的上面 分一个叶子给他

  • 相关阅读:
    JavaScript学习-自定义对象/
    网站特效:欢迎窗口/发表评论
    javacript中的事件
    DOM / DOM操作表格
    如何设置文本不换行省略号显示等CSS常用文本属性
    从零开始的H5生活
    Spring手动提交事务
    java基础学习之接口
    java基础学习之抽象类
    java基础学习之final关键字
  • 原文地址:https://www.cnblogs.com/Aragaki/p/7157910.html
Copyright © 2011-2022 走看看