LOADING

加载过慢请开启缓存,浏览器默认开启

daily 3

CF 643B

这样构造就可以了

a      b
|中间连接|
c      d
void solve(){
  int n,k,a,b,c,d;
  cin>>n>>k>>a>>b>>c>>d;
  if(k<n+1||n==4){
    cout<<-1<<'\n';
  }
  else{
    vector<int>vis(n+1);
    vis[a]=vis[b]=vis[c]=vis[d]=1;
    cout<<a<<' '<<c<<' ';
    for(int i=1;i<=n;++i){
        if(!vis[i])cout<<i<<' ';
    }
    cout<<d<<' '<<b<<'\n';
    cout<<c<<' '<<a<<' ';
    for(int i=1;i<=n;++i){
        if(!vis[i])cout<<i<<' ';
    }
    cout<<b<<' '<<d<<'\n';
  }
  return;
}

CF 644B

常规

void solve(){
  int n,b;
  cin>>n>>b;
  deque<ll>q;
  vector<ll>t(n),d(n);
  for(int i=0;i<n;++i){
    cin>>t[i]>>d[i];
  }
  for(int i=0;i<n;++i){
    while(q.size()&&q.front()<=t[i]){
        q.pop_front();
    }
    if(q.empty()){
        q.push_back(t[i]+d[i]);
        cout<<q.front()<<' ';
    }else{
        if(q.size()>b){
            cout<<-1<<" ";
        }else{
            cout<<q.back()+d[i]<<' ';
            q.push_back(q.back()+d[i]);
        }
    }
  }
  return;
}

CF 662D

长度为k的后缀可以表示$\sum_{1}^k(10^i)$个不同的值,那么我们加一下,然后每次加上base即可

void solve(){
  int n;
  cin>>n;
  for(int i=0;i<n;++i){
    string s;
    cin>>s;
    s=s.substr(4);
    int num=stoi(s);
    int base=10,tmp=0;
    for(int i=1;i<s.size();++i){
        tmp+=base;
        base*=10;
    }
    while(1989+tmp>num)
        num+=base;
    cout<<num<<'\n';
  }
  return;
}

今晚开始要连面四场,有点难熬