• 数组模拟链表


    双向链表的删除操作

     1 #include<bits/stdc++.h>
     2 #define mp make_pair
     3 #define pb push_back
     4 #define pw(x) (1ll << (x))
     5 #define sz(x) ((int)(x).size())
     6 #define all(x) (x).begin(),(x).end()
     7 #define rep(i,l,r) for(int i=(l);i<(r);i++)
     8 #define per(i,r,l) for(int i=(r);i>=(l);i--)
     9 #define FOR(i,l,r) for(int i=(l);i<=(r);i++)
    10 #define eps 1e-9
    11 #define PIE acos(-1)
    12 #define cl(a,b) memset(a,b,sizeof(a))
    13 #define fastio ios::sync_with_stdio(false);cin.tie(0);
    14 #define lson l , mid , ls
    15 #define rson mid + 1 , r , rs
    16 #define ls (rt<<1)
    17 #define rs (ls|1)
    18 #define INF 0x3f3f3f3f
    19 #define LINF 0x3f3f3f3f3f3f3f3f
    20 #define lowbit(x) (x&(-x))
    21 #define sqr(a) a*a
    22 #define ll long long
    23 #define ull unsigned long long
    24 #define vi vector<int>
    25 #define pii pair<int, int>
    26 #define dd(x) cout << #x << " = " << (x) << ", "
    27 #define de(x) cout << #x << " = " << (x) << "
    "
    28 #define endl "
    "
    29 using namespace std;
    30 //**********************************
    31 
    32 //**********************************
    33 const int maxn=5e3+7;
    34 int le[maxn],ri[maxn],a[maxn];
    35 inline void link(int l,int r)
    36 {
    37     ri[l]=r;le[r]=l;
    38 }
    39 //**********************************
    40 int main()
    41 {
    42     int n,m,t,cnt,n1;
    43     scanf("%d %d",&n,&m);n1=n;
    44     cl(le,-1);cl(ri,-1);
    45     FOR(i,1,n)scanf("%d",&a[i]),ri[i-1]=i,le[i]=i-1;
    46     FOR(i,1,m){
    47         scanf("%d",&t);
    48         cnt=0;
    49         for(int i=ri[0];~i&&cnt<=n;i=ri[i]){
    50             cnt++;
    51 //            de(cnt);
    52             if(cnt%t==0)link(le[i],ri[i]),n1--;
    53         }
    54     }
    55     printf("%d
    ",n1);
    56     cnt=0;
    57     for(int i=ri[0];~i;i=ri[i])printf("%d%c",a[i],++cnt==n1?'
    ':' ');
    58     return 0;
    59 }
    View Code
  • 相关阅读:
    Linux使用Public Key方式远程登录
    Linux编译安装Mariadb数据库
    Centos7环境搭建lnmp环境
    浅谈Java中的System.gc()的工作原理
    Eclipse快捷键大全(转载)
    java中的参数传递——值传递、引用传递
    Visual Studio 2017 安装后无法创建c++或MFC项目
    ubuntu sendmail配置发送邮件
    ubuntu11.0静态IP地址配置
    cin与cout详解
  • 原文地址:https://www.cnblogs.com/klaycf/p/9664728.html
Copyright © 2020-2023  润新知