水題
#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 讓我們起航吧,大海在召喚我們...