C. Ehab and a 2-operation task
連結
[https://codeforces.com/contest/1088/problem/C]
題意
n個數,最多n+1操作,要麼前i個數加x,要麼前i個數對x取餘,最後使得嚴格遞增
分析
直接進行n+1次,開始所有數都加上5e5+10;
後面n次,從1開始到n對a[i]-i+1取餘,就能保證嚴格遞增
程式碼
#include<bits/stdc++.h> using namespace std; const int N=2e3+10; const int ma=5e5+10; int a[N]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("in.txt","r",stdin); int n; while(cin>>n){ for(int i=1;i<=n;i++) { cin>>a[i]; a[i]+=ma; } cout<<n+1<<endl; cout<<1<<' '<<n<<' '<<ma<<endl; for(int i=1;i<=n;i++) cout<<2<<' '<<i<<' '<<a[i]-i+1<<endl; } return 0; }
相關推薦
C. Ehab and a 2-operation task
連結 [https://codeforces.com/contest/1088/problem/C] 題意 n個數,最多n+1操作,要麼前i個數加x,要麼前i個數對x取餘,最後使得嚴格遞增 分析 直接進行n+1次,開始所有數都加上5e5+10; 後面n次,從1開始到n對a[i]-i+1取餘,就能保證
Codeforces Round #525 (Div. 2) C. Ehab and a 2-operation task(數論構造)
思路來源 http://www.cnblogs.com/Dup4/p/10068891.html 題解 注意%可以起到等同於減的作用。 Solution1: 先給區間[1,n]加上一個較大的數D,比如500W, 這樣ai就變為D+ai, 由於ai-i<1
Codeforces Round #525 (Div. 2)C. Ehab and a 2-operation task
一個數 n-1 i++ 我們 text ++ target sin const C. Ehab and a 2-operation task 題目鏈接:https://codeforc.es/contest/1088/problem/C 題意: 給出n個數,然後最多可
Codeforces Round #525 (Div. 2) C. Ehab and a 2-operation task
題意: 給定一個長度為 n 的陣列a[ ],並且有兩種操作: ①將前 i 個數全都加上 x; ②將前 i 個數全都 mod x 要求用不超過 n+1 次操作,使得陣列 a[ ] 嚴格單調遞增。 思路: 對於每個數a[ i ],實施操作 a[ i ]%( a[ i ]-i
Codeforces Round #525 (Div. 2)C - Ehab and a 2-operation task
題目 題意: 給你長度為n的陣列a[i],最多操作n+1次,每次都可以將前 i 個數 (操作1)都加上x,或者(操作2)都%x ,(x為1e6以內的任意數,且每次操作可以不同), 使得陣列a嚴格單調遞增(一定後一項大於前一項)。 要你輸出一個總的
codeforces+C. Ehab and a 2-operation task+構造題
題目連結:http://codeforces.com/contest/1088/problem/C 題目大意:給你長度為n一個序列,你有兩種操作 操作1:選擇一個座標i,對於對所有j<=i, a[j]+=x, 0≤x≤10^6 操作2:選擇一個座標i,對於對所有j<=i, a[j
codeforces div2 C. Ehab and a 2-operation task
題目連結: http://codeforces.com/contest/1088/problem/C 題目大意,給你一個數組,陣列中的資料不超過1e5,讓你經過不超過n+1次的以下兩個操作,變為是嚴格遞增的陣列。 1,輸出1,j,x,表示對所有的1<=i<=j,arr[i]變
Codeforces Round #525 (Div. 2) C. Ehab and a 2-operation task 數學 mod運算的性質
n) 一個 val 數學 註意 兩種 pmod 使用 back C. Ehab and a 2-operation task 數學 mod運算的性質 題意: 有兩種對前綴的運算 1.對前綴每一個$a +x$ 2.對前綴每一個$a\mod(x)$ 其中x任選 思路:這裏只有加
C. Ehab and a 2-operation tasktime
C. Ehab and a 2-operation tasktime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou’re given an
Ehab and a 2-operation task (思維題)
You're given an array aa of length nn. You can perform the following operations on it: choose an index ii (1≤i≤n)(1≤i≤
CF1088C Ehab and a 2-operation task 構造
ffffff cin UNC queue mil class ima bubuko n) 最簡單的就是變成1~n的序列; 我們可以先加一個極大的數防止出現負數; 然後對於每一個%(a[ i ] - i); #include<iostream> #
Codeforces Round #525 (Div. 2) F. Ehab and a weird weight formula
F. Ehab and a weird weight formula 題目連結:https://codeforces.com/contest/1088/problem/F 題意: 給出一顆點有權值的樹,滿足只有一個點的權值最小,然後除開這個點,每個點都有一個權值比它更小的點與之相鄰。 然後要求你重構這
Codeforces Round #525 (Div. 2) F. Ehab and a weird weight formula(思維+貪心)
F. Ehab and a weird weight formula time limit per test 2.5 seconds memory limit per test 256 megabytes input standard input output sta
Codeforces Round #525 (Div. 2) E. Ehab and a component choosing problem(貪心+樹形dp)
E. Ehab and a component choosing problem time limit per test 1 second memory limit per test 256 megabytes input standard input output
Codeforces Round #473 (Div. 2) - D - Mahmoud and Ehab and another array construction task
題目連結 Mahmoud has an array a consisting of n integers. He asked Ehab to find another array b of the same
Codeforces Round #525 (Div. 2)—E. Ehab and a component choosing problem(樹形dp)
E. Ehab and a component choosing problem time limit per test 1 second memory limit per test 256 megabytes input standard input output
959D--Mahmoud and Ehab and another array construction task
題目 Mahmoud has an array a consisting of n integers. He asked Ehab to find another array b of the same length such that: b is lexicographical
cf1088E Ehab and a component choosing problem (樹形dp)
line i++ 限制 static bsp ont main 基礎上 ati 題意(考試時看錯了對著樣例wa了好久..):從樹上選k個連通塊,使得權值的平均值最大的基礎上,選的塊數最多 如果不考慮塊數最多的限制,肯定是只選一個權值最大的塊是最好的 然後只要看這個權值最
Codeforces Round #525 E - Ehab and a component choosing problem
題目大意: 在一棵樹中 選出k個聯通塊 使得 這k個聯通塊的點權總和 / k 最大 並且這k個聯通塊不相互覆蓋(即一個點只能屬於一個聯通塊) 如果有多種方案,找到k最大的那種 給定n 有n個點 給定n個點的點權(點權可能出現負數) 給定這個樹的n-1條邊 當將所有點分成聯通塊後,
C Yuhao and a Parenthesis
Yuhao and a Parenthesis time limit per test 2 seconds memory limit per test 256 megabytes input standard