time limit(ms): 5000 memory limit(kb): 65535
description
乙個集合有如下元素:1是集合元素;若p是集合的元素,則2 * p +1,4*p+5也是集合的元素,取出此集合中最小的k個元素,按從小到大的順序組合成乙個多位數,現要求從中刪除m個數字上的數字,使得剩下的數字最大,程式設計輸出刪除前和刪除後的多位數字。
注:不存在所有數被刪除的情況
input
輸入的僅一行,k,m的值,k,m均小於等於30000。
output
輸出為兩行,第一行為刪除前的數字,第二行為刪除後的數字。
sample input
5 4sample output
137915
95(1)利用題中集合資訊得到最小的幾個數字
(2)sstream,int 轉換為string的到待刪除序列
(3)貪心---得到刪除後的最大數值
**如下(略搓):
1 #include 2 #includeview code3 #include 4 #include 5 #include //
int 轉 string
6using
namespace
std;
7 typedef long
long
ll;8
intmain(), a, b;
11while (cin >> len >>m)
20else
if (a ==b)
25else29}
30string s = "", ans = "";31
for (i = 1; i <= len; i++)
38 cout << s <
39string::iterator it =s.begin();
40 s.insert(it, '
9');//
有效序列從1開始,防止front越界
41 len =s.size();
42 front = cnt = 0, end = 1;43
while (end <= len && cnt !=m)50}
51while (end <=len)
52 s[++front] = s[end++];
53for (i = 1; i < len - m; i++)
54 cout <
55 cout <
57return0;
58 }
bzoj 2734 集合選數
構造矩陣 1 3 9 27 2 6 18 54 4 12 36 108 每個數是上面的數乘2,左面的數乘3。這樣進行狀壓dp就是相鄰的格仔不能選的方案數。如何判斷乙個二進位制數沒有兩個連續的1?x x 1 0 如果有的數沒有出現過,就以它為左上角元素再構造乙個矩陣。這是怎麼想到的?include i...
HNOI2012 集合選數
這是題目 大概就是讓你找方案數嘛。開始我還以為是一道規律題,然後有愉快地打了乙個暴搜打表。找了十分鐘沒找出來。www.oeis.org。結果.這是表 半點規律沒有。然後想了想dp,想不出線性或帶log的。最後實在做不出來了,於是問了個大犇。大犇說這道題要用矩形。尼瑪沒在逗我。把題目意思轉換一下嘛。就...
BZOJ2734 集合選數
集合論與圖論 這門課程有一道作業題,要求同學們求出的所有滿足以 下條件的子集 若 x 在該子集中,則 2x 和 3x 不能在該子集中。同學們不喜歡這種具有列舉性 質的題目,於是把它變成了以下問題 對於任意乙個正整數 n 100000,如何求出 的滿足上述約束條件的子集的個數 只需輸出對 1,000,...