考試反思 0421省選模擬76 學傻

2022-02-03 01:47:47 字數 2637 閱讀 7343

今天的題貌似相對比較簡單?

$t1$只要發現是個最短路樹就完事了。

$t2$是乙個做爛了的$dp$。上次我的確不會(雖說對於當時而言,也已經做爛了然而我還是不會)

反正這次要是再不會就不合適了。

$t3$就是個睿智。。。

結果還讀錯題,連暴力分都掛沒了。

樣例水坑人啊。。。

t1:miniumcut

大意:給出$n$個點兩兩之間的最小割,構造乙個滿足它的圖。$n \le 100,w_$

兩兩之間最小割,顯然最小割樹。

那麼題意變為:構造一棵樹,滿足$f(i,j)=w_$其中$f(i,j)$表示樹上路徑中最小的邊。

從大到小列舉邊權,不斷加邊,一定滿足:某一種權值加完後,整個圖中每個聯通塊都是完全圖。

並查集維護邊數點數。$o(n^2)$

1 #include2

using

namespace

std;

3int w[105][105],ansx[105],ansy[105],answ[105],n,cnt,f[105],sz[105],e[105];4

int find(int p)

5 vectorvx[100005],vy[100005];6

intmain()

19for(int j=1;j<=n;++j)if(f[j]==j&&e[j]!=sz[j]*(sz[j]-1)>>1)return puts("

-1"),0;20

}21 printf("

%d\n

",n-1

);22

for(int i=1;i"

%d %d %d\n

",ansx[i],ansy[i],answ[i]);

23 }

view code

t2:tree

大意:邊權樹,選出互不相同的$k$個點構成排列$a_$,最小化$\sum\limits_^ dis(a_i ,a_)$。$n \le 3000$

這式子相當與從樹上挨個點走,如果再加上$dis(a_k,a_1)$那就是迴路了。

所以這就是讓你選出$k$個點,求迴路去掉直徑的最小值。

你顯然會選乙個聯通塊。所以可以直接子樹歸併的$dp$

經典的樹$dp$。$dp[0/1/2][p][x]$表示當前已選中$x$個點,在$p$子樹中:尚未考慮直徑/已經確定直徑乙個端點且$p$就在直徑上/整個直徑已經確定 時的最小值。

轉移比較簡單。$o(nk)$

1 #include2

using

namespace

std;

3#define s 3003

4int dp[3][s][s],sz[s],fir[s],l[s<<1],to[s<<1],w[s<<1],ec,n,k,t[3][s],ans=0x3fffffff;5

void link(int a,int b,int w)

6void dfs(int p,int

fa)16}17

intmain()

view code

t3:塔

大意:維護字串支援在首/尾新增乙個字元,撤銷最後幾次填字元的操作,每次操作後回答最長回文子串長。$q \le 10^7$

首先學到了兩件事:

原來$pam$可以支援雙端加字元啊。

原來$hash$可以支援雙端加字元啊。

然後這題沒了。

1 #include2

using

namespace

std;

3#define s 10000005

4#define mod 1000000007

5int qp(int b,int t,int a=1)

6int t,h,q,la,d[s],ope,ans[s],hsh[s<<1],ihsh[s<<1],pw[s]; char s[s*3];7

short c[s<<1];long

long tot; const

long

long iv=qp(131,mod-2);8

int mo(int x)

9int hsh(int l,int r)

10int ihsh(int l,int r)

11bool ispalin(int l,int r)

12int

main()else

if(op==2

)else

29 tot+=la;ans[t-h+1]=la;

30 ihsh[t+1]=(ihsh[t]-c[t]+mod)*iv%mod;

31 hsh[h-1]=(hsh[h]-c[h]+mod)*iv%mod;

32 }cout

33 }

view code

省選模擬76

發現答案一定可以是一棵樹,因為對於任意乙個合法的圖求出它的最小割樹也是答案。然後就考慮構造,根據一些性質可以猜想實際上就是原圖的最大生成樹,所以直接跑就行了。求出生成樹之後再暴力檢驗是否合法即可。發現這個東西的形式很熟悉,假如再加入第乙個點和最後乙個點的權值的話,那麼答案就是虛樹邊權和的二倍。那麼現...

考試反思 0502省選模擬86 恐懼

還是狀態持續不佳。但是今天沒那麼困,雖說腦子還是不想動。一看到原題就慫,毛病。好像考場上遇到原題的話,得分會比非原題還低。t2 作為原題就直接放棄正解了 然後乖乖的打部分分,結果教練把子任務放錯了於是丟了 15pts 放錯子任務同時也導致 直接輸出 0 能多 20 分。啊人就應該有信仰啊為什麼我沒輸...

考試反思 0316省選模擬47 偏頗

這套題的考察思路其實不錯。三暴力,掛乙個。t1 是送分,但是一眼覺得是大資料結構,於是直接扔掉了。結果竟然是個原題。dy 講的只記住了只言片語思路早就忘了。好歹這次會了。t2 的話寫了個亂搞,結果把本來到手的 20 給寫死迴圈了,加了句判斷就 50 了。t3 差不多想到正解了,但是毒瘤出題人不給部分...