• 3.24


    原题链接

    题外话

    今天一如既往地不会呢

    题意

    一共n个数

    • 选【1,i】将每个数都加一个数
    • 选【1,i】将每个数都取余一个数
      问你是否能够造出长度为n的严格上升序列

    思路

    今天才知道,其实每次把当前的数进行取余,然后加上当前数的前一位就能严格单调,,

    代码

    #include <bits/stdc++.h>
    #include <ext/pb_ds/assoc_container.hpp>
    #include <ext/pb_ds/tree_policy.hpp>
    #define iinf 0x3f3f3f3f
    #define linf (1ll<<60)
    #define eps 1e-8
    #define maxn 1000010
    #define maxe 1000010
    #define cl(x) memset(x,0,sizeof(x))
    #define rep(i,a,n) for (int i=a;i<n;i++)
    #define per(i,a,n) for (int i=n-1;i>=a;i--)
    #define pb push_back
    #define mp make_pair
    #define all(x) (x).begin(),(x).end()
    #define fi first
    #define se second
    #define SZ(x) ((int)(x).size())
    #define drep(i,a,b) for(i=a;i>=b;i--)
    #define em(x) emplace(x)
    #define emb(x) emplace_back(x)
    #define emf(x) emplace_front(x)
    #define fi first
    #define se second
    #define de(x) cerr<<#x<<" = "<<x<<endl
    #define __i __int128
    using namespace std;
    using namespace __gnu_pbds;
    typedef long long ll;
    typedef pair<int,int> pii;
    typedef pair<ll,ll> pll; 
    
    ll read(ll x=0)
    {
        ll c, f(1);
        for(c=getchar();!isdigit(c);c=getchar())if(c=='-')f=-f;
        for(;isdigit(c);c=getchar())x=x*10+c-0x30;
        return f*x;
    }
    ll n , k, m ;
    int mod = 5e5+10;
    int ar[200010];
    int main()
    {
    	    ios::sync_with_stdio(0);
        cin.tie(0), cout.tie(0);
    //    int i ;
      	cin >>n;
      	for(int i=1;i<=n;i++){
      	    cin >>ar[i];ar[i]+=mod;
      	}
      	cout<<n+1<<endl;
      	cout<<1 <<" "<<n<<" "<<mod<<endl;
    	for(int i=1 ;i<=n;i++){
    		cout<<2 << " "<<i<<" "<<ar[i]-i+1<<endl;
    	}
    	
        return 0;
    }
    
  • 相关阅读:
    Piggy-Bank (hdoj1114)
    Word Amalgamation(hdoj1113)
    Lowest Bit(hdoj1196)
    1206: B.求和
    1207: C.LU的困惑
    STL初步
    关于521(nyoj)
    first blood暴力搜索,剪枝是关键
    变态最大值(nyoj)
    烧饼(nyoj779)
  • 原文地址:https://www.cnblogs.com/gaohaoy/p/12563329.html
Copyright © 2020-2023  润新知