日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021 年百度之星·程序设计大赛 - 初赛三

發(fā)布時(shí)間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021 年百度之星·程序设计大赛 - 初赛三 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)字游戲

存在至少一種方案,當(dāng)且僅當(dāng) min≤ave≤maxmin \le ave \le maxminavemax 并且 min?(n?1)+max≤ave?n≤min+max?(n?1)min * (n-1)+max \le ave * n \le min + max * (n - 1)min?(n?1)+maxave?nmin+max?(n?1)。

https://paste.ubuntu.com/p/NMXwPBWqBF/

網(wǎng)格路徑

因?yàn)榈谝徊街荒軓?(1,1)(1,1)(1,1) 走到 (1,2)(1, 2)(1,2)(2,1)(2, 1)(2,1),所以不相交路徑最多只有兩條。我們可以用如下方法構(gòu)造兩條路徑:

  • 對(duì)于第一條路徑,每次能向右走(走完以后可以順利走到終點(diǎn))就先向右走,不能向右走就向下走;
  • 對(duì)于第二條路徑,每次能向下走(走完以后可以順利走到終點(diǎn))就先向下走,不能向下走就向右走;
    接下來判斷一下這兩條路徑是否存在以及是否相交就可以啦!
  • https://paste.ubuntu.com/p/b76XRkk593/

    蟲族基地

    分如下幾種情況考慮:

  • (1,1)(1, 1)(1,1) 被第一個(gè)蟲族基地占領(lǐng)了;
  • (n,m)(n, m)(n,m) 被第二個(gè)蟲族基地占領(lǐng)了;
  • 1 個(gè)蟲族基地?cái)U(kuò)張,占領(lǐng)了完整的一列;
  • 2 個(gè)蟲族基地?cái)U(kuò)張,并且領(lǐng)地切斷了所有 (1,1)(1, 1)(1,1)(n,m)(n, m)(n,m) 的路徑;
    在這些代價(jià)中取最小值即可。
  • https://paste.ubuntu.com/p/HQrq6x6595/

    環(huán)上游走

    暴力 dfs就可以過啦(如果當(dāng)前走到的格子之前沒走到過,就繼續(xù)走,否則就回溯)!

    https://paste.ubuntu.com/p/KTPdKn6rCH/

    懷舊游戲

    f[i][j][k][l]f[i][j][k][l]f[i][j][k][l] 表示先手手上的數(shù)字是 i,ji, ji,j,后手手上的數(shù)字是 k,lk, lk,l 時(shí),先手的勝負(fù)情況。初始先手必?cái)〉那闆r比較好處理(kkklll 是 0,意味著先手已經(jīng)輸了),接著反向 bfs,對(duì)于一個(gè)狀態(tài),如果它存在一個(gè)先手必?cái)〉暮罄m(xù)狀態(tài),則這個(gè)狀態(tài)先手必勝;如果它所有的后續(xù)狀態(tài)都是先手必勝的,則這個(gè)狀態(tài)先手必?cái) ?br /> 對(duì)于無法確定勝負(fù)的狀態(tài),都是平局。

    https://paste.ubuntu.com/p/M9KJzDCBZy/

    消消樂

    先處理完所有的終止?fàn)顟B(tài)(填滿 8 個(gè)格子的不可以消除的狀態(tài)),這些狀態(tài)最后的期望得分都是 0。對(duì)于每個(gè)消完以后的狀態(tài) xxx(從初始的 8 個(gè)格子開始消,在新方塊出現(xiàn)前的狀態(tài)),我們可以枚舉新方塊的顏色情況,同時(shí)也知道了每種情況下消完以后的狀態(tài) yyy 是啥樣,以及得到了多少分,同時(shí)我們也知道從 xxx 變成 yyy 的概率,我們把期望方程列出來,高斯消元即可。

    https://paste.ubuntu.com/p/XtKPn9mwVC/

    二叉樹

    f[i][j]f[i][j]f[i][j] 表示以 iii 為根的子樹,這棵子樹進(jìn)出的點(diǎn)的數(shù)目為 jjj 時(shí)(jjj 可正可負(fù),表示點(diǎn)是凈移入還是凈移出)在子樹 iii 中花費(fèi)的最小代價(jià)。對(duì)于每個(gè) iii,由于它只能有 2 個(gè)兒子,所以我們需要再做一次背包來計(jì)算 fff

    https://paste.ubuntu.com/p/6z8VTF78rF/

    數(shù)據(jù)結(jié)構(gòu)

    將區(qū)間視為平面上的點(diǎn),如果一種顏色在區(qū)間內(nèi)出現(xiàn)至少一次,需要考慮取答案對(duì)應(yīng)的區(qū)間為:

  • 區(qū)間內(nèi)相鄰兩次出現(xiàn)之間。
  • 區(qū)間左端點(diǎn)到區(qū)間內(nèi)第一次出現(xiàn)。
  • 區(qū)間內(nèi)最后一次出現(xiàn)到區(qū)間右端點(diǎn)。
  • 可以用掃描線加線段樹解決。

    https://paste.ubuntu.com/p/M2bmSqysgW/

    總結(jié)

    以上是生活随笔為你收集整理的2021 年百度之星·程序设计大赛 - 初赛三的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。