99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

CSDN競(jìng)賽第14期題解-創(chuàng)新互聯(lián)

競(jìng)賽第14期題解
  • 第一題
    • 題目描述
    • 題解
    • 復(fù)雜度分析
  • 第二題
    • 題目描述
    • 題解
    • 復(fù)雜度分析
  • 第三題
    • 題目描述
    • 題解
    • 復(fù)雜度分析
  • 第四題
    • 題目描述
    • 題解
    • 復(fù)雜度分析

題目不難,但要注意細(xì)節(jié)。
ps: 由于考試報(bào)告下載bug,本帖代碼為賽后重新編寫(xiě)。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)絡(luò)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、尚志網(wǎng)站維護(hù)、網(wǎng)站推廣。第一題 題目描述

題目鏈接

題解

本題題目范圍標(biāo)的是n==x!-1,2<=x<=10,n可以等于0,其實(shí)有些矛盾;但只需要注意n=0時(shí)返回一個(gè)空字符串即可。

#include#includeusing namespace std;
int main() {int n;
    cin >>n;
    string s;
    if (n == 0) {cout<< s<< endl;
        return 0;
    }
    if (n == 1) {cin >>s;
        cout<< s[1]<< s[0]<< endl;
        return 0;
    }
    map>m;
    for (int i = 0; i< n; i++) {cin >>s;
        for (int j = 0; j< s.length(); j++) {m[j][s[j]]++;
        }
    }
    int k = 1;
    for (int i = 2; i< s.length(); i++) k *= i;
    string ans = "";
    for (auto i = m.begin(); i != m.end(); i++) {for (auto it = i->second.begin(); it != i->second.end(); it++) {if (it->second != k) {ans += it->first;
                break;
            }
        }
    }
    cout<< ans<< endl;
    return 0;
}
復(fù)雜度分析

時(shí)間復(fù)雜度為 O ( n ? x ) O(n·x) O(n?x)。
其中n為字符串?dāng)?shù)量,x為字符串長(zhǎng)度。
因?yàn)閿?shù)據(jù)范圍較小,所以可以通過(guò)。

第二題 題目描述

已知棋盤(pán)大小為n*n。 每個(gè)位置都有自己的權(quán)值q。 該棋盤(pán)中有多少對(duì)行權(quán)值和小于列權(quán)值和。
輸入描述:
第一行輸入整數(shù)n。(1<=n<=100)表示棋盤(pán)的大小
以下n行每行輸入n個(gè)整數(shù)表示棋子的權(quán)值。(1<=a<=1000)
輸出描述:
輸出小Q的分值。
輸入樣例:
3
1 2 3
1 2 3
1 2 3
輸出樣例:
3

題解

遍歷求出每行每列的權(quán)值和后遍歷比較即可。

#include#includeusing namespace std;
int main() {int n;
    cin >>n;
    vectorrow(n);
    vectorcol(n);
    for (int i = 0; i< n; i++) {for (int j = 0; j< n; j++) {int x;
            cin >>x;
            row[i] += x;
            col[j] += x;
        }
    }
    int ans = 0;
    for (int i = 0; i< n; i++) {for (int j = 0; j< n; j++) {if (row[i]< col[j]) ans++;
        }
    }
    cout<< ans<< endl;
    return 0;
}
復(fù)雜度分析

時(shí)間復(fù)雜度為 O ( n 2 ) O(n^2) O(n2)。
n為棋盤(pán)行/列數(shù)。

第三題 題目描述

小Q的檸檬汁做完了。 掏出了自己的數(shù)字卡牌。 想要和別人做數(shù)字游戲。 可是她又不想要輸?shù)粲螒颉?她制定好規(guī)則,每 次每個(gè)人只能把這個(gè)牌換成它的因子的某個(gè)牌。 但是這個(gè)因子不能是1或者整數(shù)本身。 現(xiàn)在給出整數(shù)n。 兩個(gè)人開(kāi)始做游 戲,誰(shuí)無(wú)法再給出因子牌則該人勝利,如果該整數(shù)無(wú)因子牌直接視為先手勝利,請(qǐng)判斷先手在最優(yōu)策略狀態(tài)下能否必勝。

題解
  1. 如果該數(shù)是質(zhì)數(shù),則先手勝。
  2. 如果該數(shù)(除1和本身外)只有兩個(gè)因數(shù),則后手勝。
  3. 如果該數(shù)(除1和本身外)的因數(shù)大于等于三個(gè),易證明,先手總可以制造第二種情況,先手勝。
#include#include#includeusing namespace std;
int main() {int n;
    cin >>n;
    int flag = 0;
    int sq = (int)sqrt((double)n);
    for (int i = 2; i<= sq; i++) {while(n % i == 0) {n /= i;
            flag++;
        }
        if (flag == 2 && n == 1) {cout<< 2<< endl;
            return 0;
        }
    }
    cout<< 1<< endl;
    return 0;
}
復(fù)雜度分析

時(shí)間復(fù)雜度為 O ( n ) O(\sqrt{n}) O(n ?)。

第四題 題目描述

題目鏈接

題解

這道題還是要先讀懂題意,開(kāi)始誤以為題目要求就是26進(jìn)制轉(zhuǎn)換,后來(lái)才發(fā)現(xiàn)要求字母按升序排列。并且要注意判斷字符串是否滿(mǎn)足在字母表中這一要求,若不滿(mǎn)足需要輸出0!!!
洛谷及各種平臺(tái)有很多關(guān)于數(shù)位dp及本題其他解法的題解。下面給出一種數(shù)位dp的代碼。

#include#include 
using namespace std;

char arr[10];
long long ans, sum[30][10];
int num;
int main(void)
{scanf("%s",&arr);
    if(strlen(arr) >6){cout<< 0<< endl;
        return 0;
    }
    for(int i = 0; i< strlen(arr); i ++){if(arr[i]< 'a' || arr[i] >'z'){cout<< 0<< endl;
            return 0;
        }
    }
    for(int i = 1; i< strlen(arr); i ++){if(arr[i - 1] >= arr[i]){cout<< 0<< endl;
            return 0;
        }
    }
    for(int i = 1; i<= 26; i ++) sum[i][1] = 1;
    for(int j = 2; j<= 6; j ++){for(int i = 27 - j; i >0; i --){sum[i][j] = sum[i + 1][j - 1] + sum[i + 1][j];
        }
    }
    for(int j = strlen(arr) - 1; j >= 0; j --){num ++;
        for(int i = 1; i<= arr[j] - 'a' + 1; i ++){ans += sum[i][num];
        }
    }
    cout<< ans<< endl;
    return 0;
}
復(fù)雜度分析

時(shí)間復(fù)雜度為 O ( C ? n ) O(C·n) O(C?n)。
其中n為輸出單詞長(zhǎng)度。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱(chēng):CSDN競(jìng)賽第14期題解-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.yijiale78.com/article18/csijdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站制作面包屑導(dǎo)航網(wǎng)站改版企業(yè)網(wǎng)站制作自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)