洛谷 P2145 JSOI2007 祖碼

2022-04-07 00:37:55 字數 944 閱讀 6343

一道特別毒瘤的題,好像目前沒有完全的正解,只有乙個比較優的解法:

f[i][j]表示從i~j所用的最小數量.

首先,去重,就是將所有連續的相同的點縮成乙個點,sum[i]表示縮點後新圖第i個位置有幾個點.

如果g[i]==g[j],加起來的數量大於等於三(sum[i] + sum[j] >= 3),則f[i][j] = f[i+1][j-1];否則等於上式加1.

對於普通情況,跑模板即可.

1 #include2 #include3 #include4 #include5

6using

namespace

std;78

int n,a,g[501],pr,cnt = 1,tot,sum[501],f[501][501];9

10int

main()

17 pr =a;

18for(int i = 2;i <= n; i++) 27}

28 g[++tot] =a;

29 sum[tot] =cnt;

30for(int i = 1;i <= tot; i++)

31if(sum[i] >= 2) f[i][i] = 1;32

else f[i][i] = 2;33

for(int len = 1;len < tot; len++)

34for(int i = 1,j = i + len;j <= tot; i++,j++)

41for(int k = i;k < j; k++)

42 f[i][j] = min(f[i][j],f[i][k] + f[k+1

][j]);43}

44 printf("

%d",f[1

][tot]);

45return0;

46 }

洛谷P4049 JSOI2007 合金

某公司加工一種由鐵 鋁 錫組成的合金。他們的工作很簡單。首先進口一些鐵鋁錫合金原材料,不同種類的原材料中鐵鋁錫的比重不同。然後,將每種原材料取出一定量,經過融解 混合,得到新的合金。新的合金的鐵鋁錫比重為使用者所需要的比重。現在,使用者給出了 n 種他們需要的合金,以及每種合金中鐵鋁錫的比重。公司希...

洛谷P4049 JSOI2007 合金 題解

題目鏈結 首先,材料的前兩個屬性可以唯一確定乙個材料,合金的前兩個樹形也可以唯一確定乙個材料。那麼材料和合金都可以被看成平面上的點 a i,b i 或 d i,e i 不難發現,一些材料能表示出一種合金當且僅當這個合金 在平面上的點 在選取的材料 在平面上的點 組成的凸包內。不難發現,選取的點凸包上...

洛谷P4053 JSOI2007 建築搶修

小剛在玩jsoi提供的乙個稱之為 建築搶修 的電腦遊戲 經過了一場激烈的戰鬥,t部落消滅了所有z部落的入侵者。但是t部落的基地裡已經有n個建築設施受到了嚴重的損傷,如果不盡快修復的話,這些建築設施將會完全毀壞。現在的情況是 t部落基地裡只有乙個修理工人,雖然他能瞬間到達任何乙個建築,但是修復每個建築...