国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

P1012 [NOIP1998 提高組] 拼數(shù)

這篇具有很好參考價值的文章主要介紹了P1012 [NOIP1998 提高組] 拼數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目描述

設有??n?個正整數(shù)??1…??a1?…an?,將它們聯(lián)接成一排,相鄰數(shù)字首尾相接,組成一個最大的整數(shù)。

輸入格式

第一行有一個整數(shù),表示數(shù)字個數(shù)??n。

第二行有??n?個整數(shù),表示給出的??n?個整數(shù)???ai?。

輸出格式

一個正整數(shù),表示最大的整數(shù)

輸入輸出樣例

輸入 #1復制

3
13 312 343

輸出 #1復制

34331213

輸入 #2復制

4
7 13 4 246

輸出 #2復制

7424613

說明/提示

對于全部的測試點,保證?1≤?≤201≤n≤20,1≤??≤1091≤ai?≤109。

今明兩天期末考試,本蒟蒻自忖考得不行,為轉(zhuǎn)移注意力,特地來洛谷更新一下題解?(這是什么神邏輯)?。話說這是本蒟蒻的第一篇題解,也是花了很長時間憋出來的一篇題解(萌新想寫題解真難),但原文講的并不清楚?估計只有我自己能看懂?,此次修改務求讓大伙一看就明白。本題解看著字多,思路還是比較簡單的。

本題解重心在證明。先貼下代碼,非常簡短:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

string s[21];int n;
bool cmp(const string &a,const string &b) { // &表示引用
    return (a+b > b+a);
}
int main(void) {
    cin >> n;
    for(int i=1;i<=n;++i) cin >> s[i];
    sort(s+1,s+n+1,cmp);
    for (int i=1;i<=n;++i) cout << s[i];
    return 0;
}

證明之前,我們先定義幾個符號
?? ̄ab?(a,b是數(shù)字字符串)
表示??+?a+b?也就是把?a和?b連起來寫
??? ̄abc?(a,b,c都是數(shù)字符串)(當然再多幾個字符串也沒關系,跟上面一個意思)
沒錯,這個東西本來是表示數(shù)字的,現(xiàn)在被我們借過來表示字符串

???a?b?表示正常的?a大于等于?b?(下面這個就是不正常的)
a>=b?a,b是數(shù)字字符串 表示??+???+?a+b?b+a
注意區(qū)分這兩個大于等于!

a*n?a是數(shù)字字符串 n是正整數(shù) 表示把?a連續(xù)寫?n遍形成的很長的字符串

說明了這么幾個奇怪的符號之后,我們正式開始證明。

從代碼中可以看出,我們把?a數(shù)組按這個?>=?符號?降序?排好序,再直接輸出就是正確的答案了。容易發(fā)現(xiàn),對于任意一種排列方式,只要相鄰的兩個數(shù)滿足 前面的?>=?后面的(注意這是那個奇怪的大于等于),那么這種排列肯定不是最優(yōu)的。也就是說,對于最優(yōu)排列,肯定有 第一個串?>=?第二個串 第二個串?>=?第三個串 第三個串?>=?第四個串 ... 依此類推。

經(jīng)過這一些簡單的推理,證明的思路實際上很清晰了(千萬不要誤認為證完了):只需要再證明傳遞性(由a>=b?且?b>=c?能否推出?a>=c)。這是最后的一步,也是關鍵的一步。

先證明一個性質(zhì): 如果?a>=b,那么?a*n >= b。 (思路:遞推/數(shù)學歸納法)

a>=b即??? ̄??? ̄ab?ba
可知???? ̄???? ̄aab?aba?并且???? ̄???? ̄aba?baa
從而???? ̄???? ̄aab?baa?也就是?a*2>=b

a*2>=b即???? ̄???? ̄aab?baa?又由??? ̄??? ̄ab?ba
可知????? ̄????? ̄aaab?abaa?并且????? ̄????? ̄abaa?baaa
從而????? ̄????? ̄aaab?baaa?也就是?a*3>=b

依此類推,便能證得?a*n>=b
類似地,由?a>=b,也可以得到?a>=b*n。 相反,如果?a*n>=b?或者?a>=b*n,也能得到?a>=b。(口胡一個證明,如果不滿足a>=b這個結論,肯定不滿足題設,如果能滿足a>=b這個結論,題設肯定成立。大概是一個反證法?)

有了這個結論,我們只要對?,?,?a,b,c各乘上一個合適的整數(shù)(沒錯就是合適),不難證明傳遞性了。文章來源地址http://www.zghlxwxcb.cn/news/detail-403688.html

原以為修改后能改短,卻發(fā)現(xiàn)它變長了。但是你看我改的這么認真,不點個贊再走嗎?

到了這里,關于P1012 [NOIP1998 提高組] 拼數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • P1967 [NOIP2013 提高組] 貨車運輸 題解

    原題地址 由于題目要求的是使兩點之間的最小邊權最大,所以可以構造最大生成樹(最大生成樹一定是最大瓶頸生成樹,而瓶頸生成樹上兩點之間的路徑,在原圖中的所有路徑中,最小邊權仍然最大,即滿足題目要求,詳見 https://oi-wiki.org/graph/mst/#瓶頸生成樹 ),答案為最大

    2024年04月08日
    瀏覽(24)
  • P1039 [NOIP2003 提高組] 偵探推理

    P1039 [NOIP2003 提高組] 偵探推理

    明明同學最近迷上了偵探漫畫《柯南》并沉醉于推理游戲之中,于是他召集了一群同學玩推理游戲。游戲的內(nèi)容是這樣的,明明的同學們先商量好由其中的一個人充當罪犯(在明明不知情的情況下),明明的任務就是找出這個罪犯。接著,明明逐個詢問每一個同學,被詢問者

    2023年04月26日
    瀏覽(19)
  • P1040 [NOIP2003 提高組] 加分二叉樹

    設一個??n?個節(jié)點的二叉樹?treetree?的中序遍歷為(1,2,3,…,?)(1,2,3,…,n),其中數(shù)字?1,2,3,…,?1,2,3,…,n?為節(jié)點編號。每個節(jié)點都有一個分數(shù)(均為正整數(shù)),記第??i?個節(jié)點的分數(shù)為???di?,treetree?及它的每個子樹都有一個加分,任一棵子樹?subtreesubtree(也包含?t

    2023年04月26日
    瀏覽(36)
  • [NOIP2001 提高組] 一元三次方程求解(洛谷)

    有形如: a x 3 + b x 2 + c x + d = 0 a x^3 + b x^2 + c x + d = 0 a x 3 + b x 2 + c x + d = 0 這樣的一個一元三次方程。給出該方程中各項的系數(shù)( a , b , c , d a,b,c,d a , b , c , d 均為實數(shù)),并約定該方程存在三個不同實根(根的范圍在 ? 100 -100 ? 100 至 100 100 100 之間),且根與根之差的絕對值

    2024年01月22日
    瀏覽(19)
  • P1125 [NOIP2008 提高組] 笨小猴——C++

    笨小猴的詞匯量很小,所以每次做英語選擇題的時候都很頭疼。但是他找到了一種方法,經(jīng)試驗證明,用這種方法去選擇選項的時候選對的幾率非常大! 這種方法的具體描述如下:假設 maxn text{maxn} maxn 是單詞中出現(xiàn)次數(shù)最多的字母的出現(xiàn)次數(shù), minn text{minn} minn 是單詞中出

    2024年02月02日
    瀏覽(14)
  • #P1007. [NOIP2007提高組] 矩陣取數(shù)游戲

    帥帥經(jīng)常跟同學玩一個矩陣取數(shù)游戲:對于一個給定的?n times mn×m?的矩陣,矩陣中的每個元素?a_{i,j}ai,j??均為非負整數(shù)。游戲規(guī)則如下: 每次取數(shù)時須從每行各取走一個元素,共?nn?個。經(jīng)過?mm?次后取完矩陣內(nèi)所有元素; 每次取走的各個元素只能是該元素所在行的行

    2024年02月15日
    瀏覽(18)
  • 【Java貪心】P5019 [NOIP2018 提高組] 鋪設道路

    【Java貪心】P5019 [NOIP2018 提高組] 鋪設道路

    NOIP2018 提高組 D1T1 春春是一名道路工程師,負責鋪設一條長度為 n n n 的道路。 鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n n n 塊首尾相連的區(qū)域,一開始,第 i i i 塊區(qū)域下陷的深度為 d i d_i d i ? 。 春春每天可以選擇一段連續(xù)區(qū)間 [ L , R ] [L,R] [ L , R ] ,填

    2023年04月11日
    瀏覽(18)
  • luogu_P1040 [NOIP2003 提高組] 加分二叉樹

    P1040 [NOIP2003 提高組] 加分二叉樹 - 洛谷 | 計算機科學教育新生態(tài) (luogu.com.cn) 題意:給你一顆中序遍歷為1到n的二叉樹,和每個節(jié)點的val。樹的值=左子樹的值×右子樹的值+根的val,空樹值為1,求整個樹最大值和這個值樹的前序遍歷。 題解:區(qū)間dp。dp[l][r]表示最大值,root[l][

    2023年04月27日
    瀏覽(24)
  • 【洛谷 P1097】[NOIP2007 提高組] 統(tǒng)計數(shù)字 題解(映射)

    注意 :數(shù)據(jù)可能存在加強。 某次科研調(diào)查時得到了 n n n 個自然數(shù),每個數(shù)均不超過 1.5 × 1 0 9 1.5 times 10^9 1.5 × 1 0 9 。已知不相同的數(shù)不超過 1 0 4 10^4 1 0 4 個,現(xiàn)在需要統(tǒng)計這些自然數(shù)各自出現(xiàn)的次數(shù),并按照自然數(shù)從小到大的順序輸出統(tǒng)計結果。 共 n + 1 n+1 n + 1 行。 第一

    2024年02月09日
    瀏覽(16)
  • 【洛谷 P1003】[NOIP2011 提高組] 鋪地毯 題解(數(shù)組+貪心算法)

    【洛谷 P1003】[NOIP2011 提高組] 鋪地毯 題解(數(shù)組+貪心算法)

    為了準備一個獨特的頒獎典禮,組織者在會場的一片矩形區(qū)域(可看做是平面直角坐標系的第一象限)鋪上一些矩形地毯。一共有 n n n 張地毯,編號從 1 1 1 到 n n n ?,F(xiàn)在將這些地毯按照編號從小到大的順序平行于坐標軸先后鋪設,后鋪的地毯覆蓋在前面已經(jīng)鋪好的地毯之上

    2023年04月24日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包