我好菜啊。本來是奔著t恤去的
要求 ans
=∑ni
=1∑j
|i1 ans
=∑i=
1n∑j
|i
1注意到我們並不需要什麼奇蹟銀殼,只需要交換列舉主體就可以√n做了
線段樹裸題#include
#include
#define rep(i,st,ed) for (int i=st;i<=ed;++i)
typedef
long
long ll;
void solve(ll n)
printf("%lld\n", ans);
}int main(void)
return
0;}
注意到每乙個答案前的係數是一樣的,因此我們只需要o(t)求一波係數然後乘上對應位置的a即可#include
#include
#include
#define rep(i,st,ed) for (int i=st;i<=ed;++i)
const
int n=200005;
int s[n<<2],ls[n<<2],rs[n<<2],a[n];
int read()
void modify(int now,int tl,int tr,int x,int v)
int mid=(tl+tr)>>1;
if (x<=mid) modify(now<<1,tl,mid,x,v);
else modify(now<<1|1,mid+1,tr,x,v);
ls[now]=ls[now<<1];
if (ls[now]==(mid-tl+1)&&a[mid]1]) ls[now]+=ls[now<<1|1];
rs[now]=rs[now<<1|1];
if (rs[now]==(tr-mid)&&a[mid]1]) rs[now]+=rs[now<<1];
s[now]=std:: max(s[now<<1],s[now<<1|1]);
if (a[mid]1]) s[now]=std:: max(s[now],rs[now<<1]+ls[now<<1|1]);
}int main(void)
printf("%d\n", s[1]);
for (;m--;)
return
0;}
我並沒有做出來,不過可以猜想一波是奇怪篩+指標亂掃的做法#include
#include
#define rep(i,st,ed) for (int i=st;i<=ed;++i)
#define drp(i,st,ed) for (int i=st;i>=ed;--i)
typedef
long
long ll;
const
int mod=1000000007;
const
int n=200005;
ll a[n],b[n],sum;
int n,m;
int read()
int main(void)
ll tmp=1;
rep(i,1,100000)
for (;m--;)
return
0;}
首先圖不聯通肯定impossible
考慮還有什麼時候會impossible,只有存在橋的時候,我們不能夠給這條橋邊定向使得新圖強連通
於是tarjan求橋然後隨意dfs
我並沒有做出來#include
#include
#include
#define rep(i,st,ed) for (int i=st;i<=ed;++i)
const
int n=2000005;
const
int e=2000005;
struct edge e[e];
int ls[n],prt[n],edcnt=1;
void add_edge(int x,int y) ; ls[x]=edcnt;
e[++edcnt]=(edge) ; ls[y]=edcnt;
}int dfn[n],low[n],vis[n];
int read()
void dfs(int now,int fa) else
if (e[i].y!=fa)
}}void solve(int now)
}int main(void)
dfs(1,-1);
if (dfn[0]!=n) int cnt=0;
for (int i=2;i<=edcnt;i+=2)
}if (!cnt) else
puts("impossible");
return
0;}
20180824牛客練習賽25 A
q次詢問,每次給乙個x,問1到x的因數個數的和。輸入描述 第一行乙個正整數q 接下來q行,每行乙個正整數 x 輸出描述 共q行,每行乙個正整數表示答案 輸入 4 1 2 3 10 輸出 1 3 5 27 備註 1 q 10 1 x 1e9 方法1 尤拉篩列舉 絕逼炸了,無論是空間還是時間方法2 列舉...
牛客練習賽25 最長區間
其中表示left len right len可以用乙個len i 表示 len i 表示包括i的在i之前的最長遞增序列 用len陣列可以很方便得記錄到從x往左的left len等於多少 然後向由可以推出right len cnt i 計算每乙個長度i的序列有多少個 其中 乙個i的子長度的序列也會記錄...
牛客練習賽9
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...