前段時間發現牛客這些比賽質量挺高的,打算寒假期間補一補
a直接列舉每個小組對遊戲的了解程度,然後每個人從前到後連著組隊,如果當前隊伍了解程度剛好等於列舉的了解值,說明能夠組成一隊,後面的人再自行一一組隊,否則,當前列舉值不符合條件。
#include #define debug freopen("r.txt","r",stdin)view code#define mp make_pair
#define ri register int
#define pb push_back
using
namespace
std;
typedef
long
long
ll;typedef unsigned
long
long
ull;
typedef
double
lf;typedef pair
pii;
const
int maxn = 1e6+10
;const
int n = 1500+10
;const
int inf = 0x3f3f3f3f
;const
int mod = 1e9+7
;const
int hash_num = 131
;const
double eps=1e-6
;const
double pi=acos(-1.0
);inline ll read()
while(ch>='
0'&&ch<='
9') s=s*10+ch-'
0',ch=getchar();
return s*w;}
ll qpow(ll p,ll q)
intn,a[maxn],cur,i,cnt,j,sum,ans;
char
s[maxn];
intmain()
else
if (cur>i)
}if (cnt>1
) ans=max(ans,cnt);
}cout
return0;
}
c每個位置,都有m種選擇,假設當前取 j,則對於前一位來說有 j-1個比它小,m-j 個比它大。 所以貢獻為( j − 1 ) + 2 ∗ ( m − j ) 。
又因為每個位置貢獻只取決於第i位和第i-1位,所有每個位置都需要乘
最後統計第2~n位置的貢獻之和,即可得到式子
#include #define debug freopen("r.txt","r",stdin)view code#define mp make_pair
#define ri register int
#define pb push_back
using
namespace
std;
typedef
long
long
ll;typedef unsigned
long
long
ull;
typedef
double
lf;typedef pair
pii;
const
int maxn = 1e3+10
;const
int n = 1500+10
;const
int inf = 0x3f3f3f3f
;const
int mod = 1e9+7
;const
int hash_num = 131
;const
double eps=1e-6
;const
double pi=acos(-1.0
);inline ll read()
while(ch>='
0'&&ch<='
9') s=s*10+ch-'
0',ch=getchar();
return s*w;}
ll qpow(ll p,ll q)
ll t,n,m;
intmain()
return0;
}
e線性基+二分
線性基找第x小,這個x就由二分列舉得到,我們最終找到的x值是第乙個大於k的值,答案容斥一下即可得到
#include #define debug freopen("r.txt","r",stdin)view code#define mp make_pair
#define ri register int
#define pb push_back
using
namespace
std;
typedef
long
long
ll;typedef unsigned
long
long
ull;
typedef
double
lf;typedef pair
pii;
const
int maxn = 1e6+10
;const
int n = 1500+10
;const
int inf = 0x3f3f3f3f
;const
int mod = 1e9+7
;const
int hash_num = 131
;const
double eps=1e-6
;const
double pi=acos(-1.0
);inline ll read()
while(ch>='
0'&&ch<='
9') s=s*10+ch-'
0',ch=getchar();
return s*w;}
ll qpow(ll p,ll q)
struct
basis
void push(ll x)
else failpush=1
; }
ll top()
ll kth(ll k)
return
ans;
}}b;int
n,i;
ll x,k;
intmain()
ll l=1,r=(1ll<1
;
while (l
cout
<
return0;
}
牛客練習賽76
是乙個博弈遊戲 注意到 m 1 n 5000 那麼我們是可以直接考慮爆搜的 總共n個回合,那麼兩個人就是2 n次操作 定義f a b 代表當 zzugzx 選了a的數,kurisu選了b的數,zzugzx贏的概率 a和b分別是n位m 1進製的數,代表n回合他抽到1 m的數放在1 n哪個位置 incl...
牛客練習賽76題解 A,C
思路 爆搜,列舉物件 乙個小組內所有人對遊戲的了解程度之和。之後判斷每個方案,在可行前提下的組數,取min即可 注 在m m 1 m m 1 m m 1 處除以2也可以,就不用逆元了 include include include include include include include in...
牛客練習賽76 A 校園活動
題目鏈結 牛牛中學為了給本校的oier放鬆心情,決定舉報一場校園活動。現在學校的共有 個oier,學校想把他們分為一些小組進行乙個團隊遊戲。學校先了解了一下每個同學對這個團隊遊戲的了解程度。為了遊戲的公平,學校需要使分組後的每乙個小組內所有人對遊戲的了解程度之和相等,但同學們並不希望完全由學校來給他...