教主的遺產
time limit: 1000 ms
memory limit: 65536 k
total submit: 27(12 users)
total accepted: 20(12 users)
rating:
special judge: no
description
恭送教主!
教主在2023年7月19日上午10:48,坐上前往北京的火車,從此開始了高富帥的生活。
在教主的的大學四年acm生涯中,他用事實告訴我們,要想在比賽拿獎,除了平時的刻苦努力外,很大一部分還要依賴比賽時是
做題策略,簡單來講就是做題順序,唯有想把能過的都過掉,然後再過難題,這樣才能在比賽中拿獎。
我們將用這個做題順序量化表示,即ac係數,ac係數越大,拿獎可能性就越大。
在比賽中會給出n個題,不同做題順序會有不同的ac係數,假如a先做,b後做的話,b對a的ac係數為4, 反過來 b先做,a後做的話,a對b的ac係數為5,說明先做b後做a將得到更高的ac係數。
設sij表示第i題在第j題做完後才做獲得的ac係數,有三道題a, b, c,做題順序為bac,則係數和為:sum = sab + scb + sca。
求乙個做題順序,使得ac係數和最大。
input
有多組測試資料。
對於每組測試資料,第一行為n(1<=n<=16),表示題目數量。
接下來有n行,每行n個數字,對於1+i行的第j個數字sij(0 <= sij <= 32), 表示第i題在第j題之後做的ac係數。
output
每組測試資料輸出一行,包含乙個數,為最大係數和。
sample input10
20 2
4 0
30 2 4
4 0 25
17 15 0
sample output04
46source
2012 summer contest 1 - dp
author
黃李龍@hrbust
分析:狀態壓縮 dp[i]表示到達狀態i的最大值 由於每一次加入乙個新題 都會與前面的舊題產生乙個係數 所以掃瞄一遍就行了
這個題跟那個一筆畫的思路很像 由於|的性質每次加入乙個點狀態都會往後轉移 所以狀態轉移是成立的
**:
1 #include 2 #include 3 #include 4 #include 5view codeusing
namespace
std;67
const
int maxn = 17;8
inta[maxn][maxn];
9int
n;10
int dp[1
<
1112
intdp() 29}
30//
printf("sum == %d\n", sum);
31 dp[i | ( 1
<< ( j - 1 ) ) ] = max(dp[i | ( 1
<< ( j - 1 ) )], dp[i] +sum);32}
33}34}
35return dp[max - 1
];36}37
intmain() 43}
44//
` for(int i = 1; i <= n; i++) puts("");
48//
` }
49 printf("
%d\n
", dp());50}
51return0;
52 }
HLG1473教主的遺產 狀壓dp
教主的遺產 time limit 1000 ms memory limit 65536 k total submit 27 12 users total accepted 20 12 users rating special judge no description 恭送教主!教主在2012年7月1...
NDK1473(植物擺放)
高精度乘法 數學公式的推導能力 分析 1 根據題意可分析出土豆火箭一定安排在一起且土豆在前。2 計算出放置多少個火箭使殭屍的傷害值最大。設放置k個火箭 則土豆的個數為n k。k確定了傷害值也就定了。n k個土豆的傷害為 a k b 1 n k k個火箭的傷害為a k 2 a k 1 k 2 1 a ...
HLG 菜鳥和大牛
菜鳥和大牛 time limit 1000 ms memory limit 65536 k total submit 421 197 users total accepted 208 181 users rating special judge no description blue和autoger...