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

Educational Codeforces Round 161 (Rated for Div. 2)

這篇具有很好參考價(jià)值的文章主要介紹了Educational Codeforces Round 161 (Rated for Div. 2)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Educational Codeforces Round 161 (Rated for Div. 2),算法,c++,數(shù)據(jù)結(jié)構(gòu),codeforces

Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2)

A. Tricky Template

題意:開(kāi)始沒(méi)看懂。。。給出長(zhǎng)度均為n的三個(gè)字符串a(chǎn)bc,字符串s與模板t匹配的條件為:當(dāng)模板位置字符為小寫(xiě)時(shí), s i s_i si? t i t_i ti?必須相同,大寫(xiě)時(shí)二者必須不同。這里注意,字符匹配過(guò)程是不區(qū)分大小寫(xiě)的,’C‘與’c’是相同的。
現(xiàn)在需要找出一個(gè)模板t,使得t與字符串a(chǎn)和b匹配,且與c不匹配,是否能找到。

思路:只要字符串c存在一個(gè)位置的字符與a和b都不同即可。

AC code:

void solve() {
    cin >> n;
    string a, b, c; cin >> a >> b >> c;
    for (int i = 0; i < n; i ++) {
        if (a[i] != c[i] && b[i] != c[i]) {
            cout << "YES" << endl;
            return;
        }
    } cout << "NO" << endl;
}

B. Forming Triangles

題意:有n根棍,任取三根組成三角形,有多少種可能,現(xiàn)給出n個(gè)整數(shù) a i a_i ai?,第i根棍的長(zhǎng)度為(2^ a i a_i ai?)。

思路:組成的三角形一定是等腰三角形,才能滿(mǎn)足任意兩邊之和大于第三邊這樣的三角形定理:

  • 三條邊相等:長(zhǎng)度相同的棍,任取仨
  • 兩條邊相等,長(zhǎng)度相同的棍,任取倆,注意,第三條邊只能去找比當(dāng)前相同的兩根棍嚴(yán)格小的邊才能組成三角形

AC code:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-803803.html

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define pb emplace_back
#define fast() ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
using namespace std;
 
typedef long long LL;
typedef pair<char, int> PCI;
typedef pair<int, int> PII;
const int N = 2e5+10, M = 2001;
const int INF = 0x3f3f3f3f3f, mod = 998244353;
int T, n;
int a[N];
 
int sum(int x) {
    if (x < 3) return 0;
    return x * (x - 1) * (x - 2) / 6;
}
int sum2(int x) {
    if (x < 2) return 0;
    return  x * (x - 1) / 2;
}
 
void solve() {
    map<int, int> mp;
    cin >> n;
    for (int i = 1; i <= n; i ++) {
        int x; cin >> x;
        mp[x] ++;
    }
    int ans = 0;
    for (auto [x, y] : mp) {
        ans += sum(y);//任取仨
    }
    int now = 0;
    for (auto [x, y] : mp) {
        ans += sum2(y) * now;//二帶一
        now += y;
    }
    cout << ans << endl;
}
 
signed main() {
    fast();
    
    T = 1;
    cin >> T;
    while (T --) {
        solve();
    }
    return 0;
}

C. Closest Cities

題意:有n座城市,按順序給出每個(gè)城市的坐標(biāo) a i a_i ai?,我們定義一個(gè)城市到另一個(gè)最近城市的距離為兩城市坐標(biāo)差的絕對(duì)值,最近城市有且只有一個(gè)。一個(gè)城市到最近城市花費(fèi)為一枚硬幣,否則花費(fèi)硬幣數(shù)為兩城市的距離。
給出t個(gè)查詢(xún),每次查詢(xún)城市A->B的最小花費(fèi)。

思路:

  • 首先給出城市是按照坐標(biāo)大小排列的,意味著一個(gè)城市的最近城市有且只有一個(gè)并且相鄰;

  • 當(dāng)我們的路徑上存在最近城市這條路時(shí),我們的硬幣花費(fèi)就為1,假設(shè)路徑不存在最近城市,那么我們的花費(fèi)直接就是兩城市的距離?,F(xiàn)在每當(dāng)路徑上存在一段最近城市距離,我們的花費(fèi)就會(huì)減少(這兩個(gè)最近城市的距離再-1)枚硬幣。

  • 然后一個(gè)城市到達(dá)另一個(gè)城市可以分兩種情況去討論,我們定義城市A<城市B:

    • A->B:一個(gè)前綴和,計(jì)算可以省去的硬幣數(shù);
    • B->A:一個(gè)后綴和,計(jì)算可以省去的硬幣數(shù);
  • 則兩城市間的最小花費(fèi)為,兩城市的距離 - 可以省去的硬幣數(shù)

AC code:

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define pb emplace_back
#define fast() ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
using namespace std;
 
typedef long long LL;
typedef pair<char, int> PCI;
typedef pair<int, int> PII;
const int N = 2e5+10, M = 2001;
const int INF = 0x3f3f3f3f3f, mod = 998244353;
int T, n;
int a[N];
 
void solve() {
    cin >> n;
    vector<int> l(n + 1, 0), r(n + 1, 0);
    a[0] = -INF;
    for (int i = 1; i <= n; i ++) {
        cin >> a[i];
        if (i == 1) {
            continue;
        }
        l[i] = l[i - 1];
        if (a[i] - a[i - 1] < a[i - 1] - a[i - 2]) l[i] += (a[i] - a[i - 1]) - 1;
    }
    a[n + 1] = INF;
    for (int i = n - 1; i >= 1; i --) {
        r[i] = r[i + 1];
        if (a[i + 1] - a[i] < a[i + 2] - a[i + 1]) r[i] += (a[i + 1] - a[i]) - 1;
    }
    int t; cin >> t;
    while (t --) {
        int x, y; cin >> x >> y;
        if (x < y) {
            cout << a[y] - a[x] - (l[y] - l[x]) << endl;
        } else {
            cout << a[x] - a[y] - (r[y] - r[x]) << endl;
        }
    }
 
}
 
signed main() {
    fast();
    
    T = 1;
    cin >> T;
    while (T --) {
        solve();
    }
    return 0;
}

到了這里,關(guān)于Educational Codeforces Round 161 (Rated for Div. 2)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Educational Codeforces Round 148 (Rated for Div. 2) 題解

    總結(jié):5.21下午VP一場(chǎng),死在了A題,給我wa崩潰了,浪費(fèi)了差不多一個(gè)小時(shí),BC還挺順暢,雖然C題是在結(jié)束后不久交上去的。。。。 思路:其實(shí)思路很簡(jiǎn)單, “ The string s a palindrome ”, 題目已經(jīng)說(shuō)了所給的為回文字符串,所以直接判斷一半 有幾種字符 即可(開(kāi)始的時(shí)候計(jì)算整

    2024年02月06日
    瀏覽(18)
  • Educational Codeforces Round 154 (Rated for Div. 2)(A—D)

    從1到9,每個(gè)數(shù)后面都可以加一個(gè)數(shù)構(gòu)成一個(gè)含有兩個(gè)數(shù)的質(zhì)數(shù),只需要從s[1]~s[9]中找到一個(gè)數(shù)與s[0]構(gòu)成質(zhì)數(shù)即可 觀察樣例即可發(fā)現(xiàn)兩個(gè)字符串只要在相同位置都有 01 存在就能成功實(shí)現(xiàn)轉(zhuǎn)換后兩個(gè)字符串相等 可以先假設(shè)字符串是可以成立的,那么接下來(lái)就判斷它什么時(shí)間是

    2024年02月10日
    瀏覽(35)
  • Educational Codeforces Round 154 (Rated for Div. 2)(A—C)

    從1到9,每個(gè)數(shù)后面都可以加一個(gè)數(shù)構(gòu)成一個(gè)含有兩個(gè)數(shù)的質(zhì)數(shù),只需要從s[1]~s[9]中找到一個(gè)數(shù)與s[0]構(gòu)成質(zhì)數(shù)即可 觀察樣例即可發(fā)現(xiàn)兩個(gè)字符串只要在相同位置都有 01 存在就能成功實(shí)現(xiàn)轉(zhuǎn)換后兩個(gè)字符串相等 可以先假設(shè)字符串是可以成立的,那么接下來(lái)就判斷它什么時(shí)間是

    2024年02月10日
    瀏覽(23)
  • Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist

    Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist

    ?一開(kāi)始肯定要排個(gè)序,b相同時(shí)t大的在前邊,不同時(shí)b大的在前面。 然后想最多只能選k個(gè)的限制,可以這樣想,每次用到的b只能用已選到的最小的值,那可以把每個(gè)b都枚舉一遍,然后每一次選時(shí)長(zhǎng)最長(zhǎng)的,且b大于等于當(dāng)前的b的那k個(gè)不就好了嗎,時(shí)間復(fù)雜度也才O(n),然

    2024年02月12日
    瀏覽(19)
  • Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思維)

    Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思維)

    C. Digital Logarithm 給兩個(gè)長(zhǎng)度位 n n n 的數(shù)組 a a a 、 b b b ,一個(gè)操作 f f f 定義操作 f f f 為, a [ i ] = f ( a [ i ] ) = a [ i ] a[i]=f(a[i])=a[i] a [ i ] = f ( a [ i ]) = a [ i ] 的位數(shù) 求最少多少次操作可以使 a 、 b a、b a 、 b 兩個(gè)數(shù)組變得完全相同 性質(zhì): 對(duì)于任何數(shù),經(jīng)過(guò)兩次操作我們一定可以

    2024年02月20日
    瀏覽(19)
  • 【每日一題】—— B. Ternary String (Educational Codeforces Round 87 (Rated for Div. 2))

    【每日一題】—— B. Ternary String (Educational Codeforces Round 87 (Rated for Div. 2))

    ??博客主頁(yè): PH_modest的博客主頁(yè) ??當(dāng)前專(zhuān)欄: 每日一題 ??其他專(zhuān)欄: ?? 每日反芻 ?? C++跬步積累 ?? C語(yǔ)言跬步積累 ??座右銘: 廣積糧,緩稱(chēng)王! 題目大意:給你一串由1、2、3組成的數(shù)組,讓你求一個(gè)最短的子串,要求這個(gè)子串包含1、2、3 題目鏈接:B. Ternary String

    2024年02月16日
    瀏覽(19)
  • Educational Codeforces Round 157 (Rated for Div. 2) F. Fancy Arrays(容斥+組合數(shù)學(xué))

    題目 稱(chēng)一個(gè)長(zhǎng)為n的數(shù)列a是fancy的,當(dāng)且僅當(dāng): 1. 數(shù)組內(nèi)至少有一個(gè)元素在[x,x+k-1]之間 2. 相鄰項(xiàng)的差的絕對(duì)值不超過(guò)k,即 t(t=50)組樣例,每次給定n(1=n=1e9),x(1=x=40), 求fancy的數(shù)組的數(shù)量,答案對(duì)1e9+7取模 思路來(lái)源 靈茶山艾府群 官方題解 題解 看到 至少 的字眼,首先想到容斥,

    2024年02月05日
    瀏覽(21)
  • Educational Codeforces Round 145 Div. 2 題解

    目錄 A. Garland(簽到) 題面翻譯 思路: 代碼 B. Points on Plane(數(shù)學(xué)) 題面翻譯 思路: 代碼 C. Sum on Subarray(構(gòu)造) 題面翻譯: 思路: 代碼 D. Binary String Sorting 題面翻譯 思路: 代碼 You have a garland consisting of?4?colored light bulbs, the color of the?i-th light bulb is?si. Initially, all the l

    2023年04月09日
    瀏覽(17)
  • Educational Codeforces Round 147 div2題解

    目錄 A. Matching(簽到) 思路: 代碼:? B. Sort the Subarray(簽到) 思路: 代碼: C. Tear It Apart(枚舉) 思路: 代碼: D. Black Cells(模擬) 思路: ?代碼一: 代碼二:(模仿自\\\"AG\\\"佬) An?integer template?is a string consisting of digits and/or question marks. A positive (strictly greater than?0) in

    2023年04月21日
    瀏覽(20)
  • Educational Codeforces Round 134 (Div.2) D 題解

    D. Maximum AND 給定兩組序列 (a) (b) ,長(zhǎng)度為 (n) ,現(xiàn)有一新序列 (c) ,長(zhǎng)度也為 (n) 。 其中, (c_i = a_i oplus b_i) 。 定義 (f(a,b) = c_1c_2……c_n) 。 現(xiàn)在你可以隨意編排 (b) 序列的順序,求 (f(a,b)) 的最大值。 以下位運(yùn)算均是二進(jìn)制。 由于按位與的運(yùn)算結(jié)果是越來(lái)越小的

    2024年02月06日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包