2020牛客暑期多校訓練營(第六場)
額,睡了一下午,直接錯過了比賽。。。
b binary vector
c combination of physics and maths
d data structure
e easy construction
f fibonacci partition
g grid coloring
h harmony pairs
i interesting stiriling
j josephus transform
k k-bag
乙個矩陣的底面積定義為最後一行的數的和,重量定義為矩陣內所有數的和(含最後一行),給乙個正整數矩陣,找乙個壓強(壓強等於重量/面積)最大的可非連續子矩陣
其實單列矩陣就是最大情況
如果乙個子矩陣有多列,那麼可以拆成兩個行數不變的更小子矩陣,且其中乙個一定不比原情況差
證明:所以我們只需要求出每一列矩陣的壓強值,從上到下選入所以元素
#include
#include
using
namespace std;
const
int max_n=
210;
int a[max_n]
[max_n]
;int sum[max_n]
[max_n]
;int
main
(void)}
printf
("%.8f\n"
,maxl);}
return0;
}
給定n,k,問是否可以構造乙個1 ~ n的排列p,使得對於1 ~ n中任意的數i,p都存在乙個長度為i的子區間,其和模n餘k。有解輸出任意一組
當i=n時,也就是子區間為整個p時,如果此時模n不餘k,那就說明無解,如果餘k就說明存在解
換句話也就是n*(n+1)/2%n==k
當k滿足條件時,存在解。
如果n為奇數,那k=0;(因為(n+1)/2肯定為偶數,那n的偶數倍模n肯定為0),那p可以為。這樣無論i為幾,選i個數之和都是n的倍數
如果n為偶數,那k=n/2,那p可以為
本題關鍵在於n如果確定,k也相應的確定,那p就好確定
#include
#define ui unsigned int
#define ll long long
#define llu unsigned ll
#define ld long double
#define pr make_pair
#define pb push_back
#define lc (cnt<<1)
#define rc (cnt<<1|1)
//#define len(x) (t[(x)].r-t[(x)].l+1)
#define tmid ((l+r)>>1)
#define max(x,y) (x)>(y)?(x):(y)
#define min(x,y) (x)>(y)?(y):(x)
using
namespace std;
const
int inf=
0x3f3f3f3f
;const ll lnf=
0x3f3f3f3f3f3f3f3f
;const
double dnf=
1e18
;const
int mod=
998244353
;const
double eps=
1e-1
;const
double pi=
acos(-
1.0)
;const
int hp=
13331
;const
int maxn=
100100
;const
int maxp=
1100
;const
int maxm=
4000100
;const
int up=
100000
;int a[maxn]
,ans[maxn]
;int
main
(void)if
(sum%n!=k)
int cnt=0;
int l=
1,r=n-1;
bool flag=
true
;while
(cnt
a[++cnt]
=n;for
(int i=
1;i<=n;i++
)return0;
}
2020牛客暑期多校訓練營 第六場
雖然題目沒有看懂,但是本場mvp浩大師發現了規律,f x 2x 12x f x 1 f x 1 over 2 x f x 1 f x 2 x2x 1 f x 1 然後把程式打出來就ac了。include using namespace std typedef long long ll const i...
2020牛客暑期多校訓練營(第六場)
總結 這一次還行,做題前面比較順利得出了兩題,但是後面不是很順利,團隊配合一般需要改進。cg k給你n和k,要求構造乙個1 n的數列滿足,對任意長度,都存在乙個連續區間滿足區間和sum n k。若存在則輸出這個數列,否則輸出 1。模擬。首先想到的就是先求1 n的和判斷是否是k 的整數倍,如果不是則直...
2020牛客暑期多校訓練營(第六場)
可以先把輸入離散化 用map會t 然後對於每個位置l求出最右側的r,使得 l,r 內元素不重複且區間長度最長。由於給定的序列一定是這樣的結構 部分k的排列 k的排列 k的排列 k的排列 部分k的排列 所以我們可以列舉第乙個k的排列的起點 再該起點之前的部分預設是合法的 然後從當前點往後一直跳,跳的同...