題目:
分析:給出乙個序列,要求將此序列分成連續的若干段,使得用盡量少的段就能組成最大和
首先,要求最大和,肯定是所有正數都要包含,如果序列有n個正數,則要將這n個數都包含在內,乙個正數單獨分成一段不一定是必要的,例如「..., 2, 3, ...",我們可以將2、3劃在同一段就可以減少要分的段數,即如果兩個正數連續,就把它們分在同一段中。那如果不連續,中間有若干個0呢,對,這種情況也可以將這些個正數放在同一段而不影響最大和,所以問題轉化為:如何判斷,組成最大和中相鄰的兩個正數x, y,是不是應該劃在同一段中;將剛才提到的兩種情況合一,則如果x, y之間沒有負數,就可以劃為同段。
另外,由於只需考慮臨近的兩個正數,因此編碼時我們不需要儲存整個序列,只需判斷當前數的符號以及兩個正數之間有無負數即可。
#include int main()
sum += i;
}else pre += i;
} if(k > 1) puts("");
printf("case %d:\n", k);
if(sum) printf("%d %d\n", seg, sum);
else puts("0 0");
} return 0;
}
hdoj5256序列變換 LIS變形
problem description 我們有乙個數列a1,a2.an,你現在要求修改數量最少的元素,使得這個數列嚴格遞增。其中無論是修改前還是修改後,每個元素都必須是整數。請輸出最少需要修改多少個元素。input 第一行輸入乙個 t 1 t 10 表示有多少組資料 每一組資料 第一行輸入乙個 n ...
30 序列構造
給定兩個長度為 n 的正整數序列 a a1,a2,an 和 b b1,b2,bn 現在你選擇 k 個數構成序列 p p1,p2,pk 使得 序列 p 中的元素是不重複的1 pi n 其中1 i k2 ap1 a pk 大於序列 a 所有元素的和2 bp1 b pk 大於序列 b 所有元素的和 k 小...
192220序列型別
序列表示索引未非負整數的有序物件集合,包括字串,列表,元祖。說明 舉例 元祖跟裡面的逗號相關 mytuple a b c d type mytuple 列表根中括號相關 mylist a b c d type mylist 字串跟雙引號有關 mystr a,b,c,d type mystr 適用於所...