牛客練習賽13 幸運數字I II III

2021-08-17 03:18:47 字數 2126 閱讀 4221

a幸運數字

ⅰ 時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。

比如說,47、744、4都是幸運數字而5、17、467都不是。

現在,給定乙個字串s,請求出乙個字串,使得:

1、它所代表的整數是乙個幸運數字;

2、它非空;

3、它作為s的子串(不是子串行)出現了最多的次數(不能為0次)。

請求出這個串(如果有多解,請輸出字典序最小的那乙個)。

串s(1 <= |s| <= 50)。s只包含數字字元,可以有前導零。
乙個串表示答案。

無解輸出-1。

示例1

047

4

示例2

16

-1

/*

思路:記錄下字串中4和7的個數,如果不存在則輸出-1

哪個個數多輸出哪個,個數相同則輸出4

*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;

int main(void)

b

幸運數字ⅱ

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。

比如說,47、744、4都是幸運數字而5、17、467都不是。

定義next(x)為大於等於x的第乙個幸運數字。給定l,r,請求出next(l) + next(l + 1) + ... + next(r - 1) + next(r)。

兩個整數l和r (1 <= l <= r <= 1000,000,000)。
乙個數字表示答案。
示例1

2 7

33

示例2

7 7

7

/*

思路:把符合條件的數都存入陣列中,發現不超過1100個,數目很小

給定l,r,請求出next(l) + next(l + 1) + ... + next(r - 1) + next(r)。

這種特徵的求法很容易想到sum(r)-sum(l-1)

sum的細節該如何處理呢?

1 2 3 4 5 6 7

4 4 4 4 7 7 7

可以發現以下特點:

if(num[i]<=n)

res+=(num[i]-num[i-1])*num[i];

else

*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;

const int maxn = 1e5;

typedef long long ll;

ll num[1100]=;

ll cnt=1;

priority_queue ,greater> q;

void work()

}ll work(ll n)

break;

}if((i+2<=n)&&(i%2==1)&&s[i]=='4'&&s[i+1]=='4'&&s[i+2]=='7')

break;

}if(s[i]=='4'&&s[i+1]=='7')

else if(i%2==0)

break;}}

}}

for(int i=1;i<=n;i++)

printf("%c",s[i]);

puts("");

return 0;

}

牛客練習賽13 幸運數字

定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。假設現在有乙個數字d,現在想在d上重複k次操作。假設d有n位,用d1,d2,dn表示。對於每次操作,我們想要找到最小的x x n 使得dx 4並且dx 1 7。如果x為奇數,那麼我們...

牛客練習賽13 幸運數字

定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。定義next x 為大於等於x的第乙個幸運數字。給定l,r,請求出next l next l 1 next r 1 next r 兩個整數l和r 1 l r 1000,000,000...

牛客練習賽13 A 幸運數字I

定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。現在,給定乙個字串s,請求出乙個字串,使得 1 它所代表的整數是乙個幸運數字 2 它非空 3 它作為s的子串 不是子串行 出現了最多的次數 不能為0次 請求出這個串 如果有多解,請輸...