2017北京國慶刷題Day7 afternoon

2022-03-02 01:29:38 字數 2029 閱讀 9604

期望得分:100+30+100=230

實際得分:60+30+100=190

排序去重

固定右端點,左端點單調不減

考場上用了二分,沒去重,60

記錄所有子集的最後出現位置

對於每個ai,列舉ai的子集,若最後出現位置

列舉子集複雜度:

for(int s=1;s

for(int i=s;i;i=(i-1)&s)

這兩個迴圈的複雜度為3^n

因為對於n個二進位制位,要麼屬於s不屬於i,要麼屬於s屬於i,要麼不屬於s

套路,tarjan+拓撲排序/單源最短路

#include#include

#include

#include

#define n 500001

using

namespace

std;

intn,m,s;

intval[n];

int front[n],to[n],nxt[n],tot,from

[n];

intdfn[n],low[n],st[n],top;

bool

ins[n];

intid[n],cnt,sum[n];

intnxt2[n],front2[n],to2[n],tot2;

intq[n];

intin

[n],dp[n];

void read(int &x)

}void add(int u,int

v)void

init()

for(int i=1;i<=n;i++) read(val[i]);

read(s);

}void tarjan(int

x) ins[st[top--]]=false

; }

}void add2(int u,int

v)void

rebuild()

void

pre()

for(int i=1;i<=cnt;i++)

if(!ins[i])

for(int j=front2[i];j;j=nxt2[j]) in[to2[j]]--;

}void

topsort()

}}void

answer()

printf(

"%d\n

",ans);

}int

main()

view code

2017北京國慶刷題Day4 afternoon

期望得分 100 100 0 200 實際得分 5 0 0 5 每加入乙個數,x的因數字置 注意 根號x列舉時,如果x是完全平方數,根號x會重複累計2次,要減去 考場上沒減,5分 o 樹形dp 令col i 表示 i與i的父節點之間的連邊 f i 表示 在節點i的子樹中,鏈的乙個端點為i,且與i直接...

2019牛客國慶集訓派對day7A題

題目理解 給你n,m,a在1到n中,b在1到m中,求a b 2016正整數對的個數 mod 1e9 7 題解 叉姐賊喜歡出這種題,不過確實這種題很好,這題是2016湖南省賽的題目,還有兩個類似的2017年四川省賽的2017和2018年湘潭邀請賽的2018 這幾個題都很像,不過考察的知識點各不相同,叉...

刷題筆記day7

pat1006 sign in and sign out 考察點在於qsort函式cmp的寫法。include include char name 16 100 struct stua 100 int cmp1 const void a,const void b else else int cmp2...