2018 icpc 青島現場賽 訓練用) 嘴炮記錄

2021-09-02 23:05:32 字數 1525 閱讀 9767

水題

#includeusing namespace std;

int a[10000000];

bool c[10000000];

int main()

}return 0;

}

二分答案+貪心構造

#includeusing namespace std;

const int maxn = 1e5+10;

long long a[maxn], h[maxn], n, m, mx;

void read_ll(long long &x)

while(c!=' '&&c!='\n'&&c!='\r')

return ;

}void read()

a[n+1]=0;

return ;

}inline bool pj(long long x)

if (temp<=0)

nex-=a[i+1];

res--;

continue;

}cost = temp/a[i];

if (temp%a[i]!=0)

res-=cost;

res-=cost;

nex-=cost*a[i+1];

if (i+1>=n)else

}else

}elseelse

}}else

if(res<0)

}return true;

}void sol()else

}printf("%lld\n",l);

return ;

}int main()

return 0;

}

構造題,最晚開的,因為時候不早了(要被看樓大爺趕人了)就先嘴炮了

因為如果1和2打了,3和4打了,那麼如果1和3打必須2和4打!(很重要的前提條件)

那就抱團啊,首先抱2人團,互打,打完這個團就和這個團抱起來挑下乙個團。

最少次數即為最小的那個團所能打的次數。

#include#include#define ll long long

using namespace std;

const int maxn = 1e5 +50;

ll a[maxn];

int cnt = 0;

int main()

printf("%lld\n",ans + m - 1);

} }}

#include#include#define ll long long

using namespace std;

int c[10] = ;

int g(int x,int k)

else if(k==0) return x;

int t = 0;

while(x)

return g(t,k-1);

}int main()

}

2018 ICPC 青島網路賽 Couleur

題意 給出乙個長度為n的序列,每次將某個子串行分成兩段,輸出所有段中逆序對最大的數目。題解 假設從x位置斷開,找到x最左邊的斷點l,和最右邊的斷點r,那麼就是把區間 l,r 分解為 l,x 和 x,r 如何維護兩段的逆序對個數呢?啟發式分解 假設斷點更靠近r,我們暴力求解出 x,r 的逆序對個數,再...

2018 icpc 南京網路賽

題目 鏈結 a.an olympian math problem 輸出n 1即可 女朋友猜的 includeusing namespace std define ll long long ll fac 103 int main for int i 1 i m i ll ans 0 for int i...

2018ICPC北京賽總結

00 05.23 冰冷而空曠啊,00 11.83 燈火離我遠去,00 18.95 誰知你何時會犧牲 00 33.17 永別了,親愛的故土!00 39.61 這離別真切得讓我不能相信。00 46.63 母親啊,故鄉啊,00 53.45 永別了,偉大的祖國!01 04.11 讓我們起航吧,大海在召喚我們...