• AtCoder Regular Contest 103 E


    题意 一个树,你每次可以删一条边,然后获得大小为i的连通块

    i由字符串决定,第i位为1代表可以

    为0代表不可以

    题解 构造多个菊花图然后连在一起  利用菊花图的性质就可以了

    菊花图: 一个根节点,其他全是叶子

    #include<bits/stdc++.h>
    #define rep(i,a,n) for(int i=a;i<=n;++i)
    #define per(i,a,n) for(int i=n;i>=a;--i)
    #define pb push_back
    #define fi first
    #define se second
    #define io std::ios::sync_with_stdio(false)
    using namespace std;
    typedef long long ll;
    typedef pair<int,int> pii;
    const int P = 1e9+7, INF = 0x3f3f3f3f;
    ll gcd(ll a,ll b) {return b?gcd(b,a%b):a;}
    ll qpow(ll a,ll n) {ll r=1%P;for (a%=P;n;a=a*a%P,n>>=1)if(n&1)r=r*a%P;return r;}
    const int N = 1e6+10;
    char s[N];
    int main() {
        io;
        cin>>(s+1);
        int len=strlen(s+1);
        if(s[1]=='0'||s[len]=='1') return puts("-1"),0;
        rep(i,1,len-1) if(s[i]!=s[len-i]) return puts("-1"),0;
        int rt=1;
        rep(i,2,len)
        {
            cout<<rt<<' '<<i<<endl;
            if(s[i-1]=='1')
                rt=i;
        }
    }
  • 相关阅读:
    oeong.xyz
    Layui将前端数据传到PHP后台
    软件工程 —— 个人总结
    Beta冲刺 —— 个人总结
    小黄衫的故事
    Alpha冲刺 —— 个人总结
    Python实现批量MD5加密
    修改电脑快捷键
    第三次个人作业 —— 用例图设计
    crontab定时任务
  • 原文地址:https://www.cnblogs.com/acmLLF/p/13390021.html
Copyright © 2020-2023  润新知