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

Educational Codeforces Round 139 (Rated for Div. 2)

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

Educational Codeforces Round 139 (Rated for Div. 2)

Problem - 1766E - Codeforces

顯然我們可以把0序列的貢獻(xiàn)單獨(dú)算: i*(n-i+1)?

考慮只存在1,2,3的情況.

首先通過(guò),觀察到一個(gè)重要性質(zhì):

最多只有三種序列.

  1. 含有3或純1或純2型.
  2. 純1或純2型
  3. 純2或純1型

我們每次添加元素的操作,只跟上一個(gè)位置序列的最后一個(gè)元素有關(guān)

每個(gè)位置最多有3種類(lèi)型的序列,所以每個(gè)位置的狀態(tài)數(shù)是很有限的,這個(gè)很重要!

設(shè) dp[i][j][k][l] 表示 以i為右端點(diǎn)的且當(dāng)前序列狀態(tài)為 (j,k,l) 的區(qū)間數(shù)量.

轉(zhuǎn)移:

當(dāng)前位置為? b[i],? 枚舉上一個(gè)位置的狀態(tài)(j,k,l)

轉(zhuǎn)移方程為:

?

Educational Codeforces Round 139 (Rated for Div. 2)

?

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

#include <bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
#define int long long
#define endl '\n'
#define bit(x) (1ll << x)
using namespace std;
const int N = 3 * 1e3 + 5;
const int inf = 1e16;
int dp[7][7][7][7];
void solve()
{
    int n;
    cin >> n;
    vector<int> a(n + 1), b(n + 1);
    int ans = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> b[i];
    }
    int now = 0;
    int nex = 0;
    for (int i = 1; i <= n; i++)
    {
        dp[now][0][0][0]++;
        if (b[i] == 0)
        {
            ans += i * (n - i + 1);//單獨(dú)統(tǒng)計(jì)0序列的貢獻(xiàn),其他狀態(tài)由上一個(gè)轉(zhuǎn)移,沒(méi)變
        }
        else
        {
            nex = now^1;
            for (int j = 0; j <= 3; j++)
                for (int k = 0; k <= 3; k++)
                    for (int l = 0; l <= 3; l++)
                    {
                         dp[nex][j][k][l] = 0;
                    }
                       
            for (int j = 0; j <= 3; j++)
            {
                for (int k = 0; k <= 3; k++)
                {
                    for (int l = 0; l <= 3; l++)
                    {
                        if (j == 0 || (j & b[i]))//當(dāng)j == 0 (開(kāi)新序列)或 b[i]于j有交集(維護(hù)序列最后一個(gè)值)
                        {
                            dp[nex][b[i]][k][l] += dp[now][j][k][l];
                        }
                        else if (k == 0 || (k & b[i]))//同上
                        {
                            dp[nex][j][b[i]][l] += dp[now][j][k][l];
                        }
                        else
                        {
                            dp[nex][j][k][b[i]] += dp[now][j][k][l];
                        }
                    }
                }
            }
            now = nex;
        }
        for (int j = 0; j <= 3; j++)
        {
            for (int k = 0; k <= 3; k++)
            {
                for (int l = 0; l <= 3; l++)
                {
                   ans += dp[now][j][k][l] * ((j > 0 ? 1 : 0) + (k > 0 ? 1 : 0) + (l > 0 ? 1 : 0));
                }
            }
        }
    }
    cout << ans << endl;
}
q
signed main()qq
{
    /*ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);*/
    int t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}q

到了這里,關(guān)于Educational Codeforces Round 139 (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 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日
    瀏覽(22)
  • 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 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 161 (Rated for Div. 2) E. Increasing Subsequences 動(dòng)態(tài)規(guī)劃逼近,二進(jìn)制拆分補(bǔ)充,注意嚴(yán)格遞增

    Problem - E - Codeforces 目錄 推薦視頻: 題意: 細(xì)節(jié)(我踩得沒(méi)什么價(jià)值的坑): 思路: 對(duì)樣例3 (X = 13)做解釋?zhuān)?—————— 總思路: —————— 動(dòng)態(tài)規(guī)劃逼近: —————— 二進(jìn)制拆分補(bǔ)充剩余: 核心代碼:? E_嗶哩嗶哩_bilibili 其實(shí)有一些細(xì)節(jié)說(shuō)的不是特別清楚好

    2024年02月22日
    瀏覽(23)
  • Educational Codeforces Round 161 (Rated for Div. 2) E題 動(dòng)態(tài)規(guī)劃逼近,二進(jìn)制拆分補(bǔ)充,注意嚴(yán)格遞增strictly increasing

    Problem - E - Codeforces 目錄 推薦視頻: 題意: 細(xì)節(jié)(我踩得沒(méi)什么價(jià)值的坑): 思路: 對(duì)樣例3 (X = 13)做解釋?zhuān)?—————— 總思路: —————— 動(dòng)態(tài)規(guī)劃逼近: —————— 二進(jìn)制拆分補(bǔ)充剩余: 核心代碼:? E_嗶哩嗶哩_bilibili 其實(shí)有一些細(xì)節(jié)說(shuō)的不是特別清楚好

    2024年01月24日
    瀏覽(17)
  • 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)紅包