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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hihoCoder 1367 等式填空

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hihoCoder 1367 等式填空 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

明確題意

等號左邊是由'+'和'?'組成的算式,其中處于某個整數(即便這個整數只有一位)首位的'?'可以填入1-9中的某個數字,其余'?'可以填入0-9中的某個數字。
SOURCE

這里未明確等號左邊有幾個整數(至少有一個)。讀題時我未能仔細理解這句話的含義,根據樣例誤認為有且僅有兩個整數相加。另外,等號右邊的非負整數,題目雖未明確是否有前導零,可以認為沒有(不應該在這里糾結題意)。

做題的第一步是讀題,誠哉斯言!

解法

數位DP。

將等號右邊的非負整數的數位,按從低位到高位的順序從1開始編號。

$dp[i][j]$:滿足前 $i$ 位且對第 $i+1$ 位的進位是 $j$ 的方案數

$n$ 個正整數相加, 每一位向前一位的進位都小于 $n$

狀態轉移便轉化成了組合計數問題。

將 $n$ 個相同的球放進 $m$ 個不同的盒子里,每個盒子里最多放 $9$ 個球。在這 $n$ 個盒子中指定 $k$ 個,其中每個盒子里至少放一個球。求方案數。

由于放進的球數有上限,并不能用擋板法。

做法:枚舉分配到 $k$ 個非空盒子的球的總數,分別計算兩類盒子的放置方案數,這兩個計數問題都可采用簡單的DP解決。

總復雜度:$O(n^2+mn^3)$,$n$ 是等號左邊的數(加數)的個數,$m$ 是等號右邊數(和)的位數。

練習題

hihoCoder 1076 與鏈

Implementation

#include <bits/stdc++.h> using namespace std;const int N=105;long long dp[N][50]; const int mod=1e9+7;char s[N]; int c[2][50][500];void prep(int n) {c[1][0][0]=c[0][0][0]=1;for(int i=1; i<=n; i++){for(int j=i; j<=9*i; j++){for(int k=1; k<=min(9, j-i+1); k++){c[1][i][j]+=c[1][i-1][j-k], c[1][i][j]%=mod;}}for(int j=0; j<=9*i; j++){for(int k=0; k<=min(9, j); k++){c[0][i][j]+=c[0][i-1][j-k], c[0][i][j]%=mod;}}} }vector<int> a;int main() {int ma=0;for(; ; ){int len;scanf("%*[?]%n%[=+]", &len, s);a.push_back(len);ma=max(ma, len);if(s[0]=='='){break;}}int n;scanf("%s%n", s+1, &n);if(n<ma){puts("0");return 0;}prep(a.size());reverse(s+1, s+n+1);dp[0][0]=1;int carry=a.size();for(int i=1; i<=n; i++){int cnt1=0, cnt2=0;for(auto x: a){cnt1+=x==i;cnt2+=x>i;}for(int j=0; j<carry; j++)for(int k=0; k<carry; k++){int tot=s[i]-'0'+10*j-k;long long sum=0;for(int l=cnt1; l<=tot; l++){sum+=(long long)c[1][cnt1][l]*c[0][cnt2][tot-l];sum%=mod;}dp[i][j]+=dp[i-1][k]*sum;dp[i][j]%=mod;}}cout<<dp[n][0]<<endl;return 0; }

轉載于:https://www.cnblogs.com/Patt/p/6403556.html

總結

以上是生活随笔為你收集整理的hihoCoder 1367 等式填空的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天看天天做 | 精品日韩一区 | 麻豆社 | 乱子伦视频在线看 | 伊人久久久久久久久久久久久 | 日韩电影在线观看中文字幕 | 欧美一级免费大片 | 国产精品国产三级国产播12软件 | 国产剧情在线一区 | 99福利视频 | 瑟瑟视频免费看 | 天天色天天射综合网 | 欧美一级特黄aaaaaa | 97在线播放免费观看 | 成人动漫在线观看免费 | 亚洲免费资源 | 一曲二曲三曲在线观看中文字幕动漫 | 男生女生羞羞网站 | 国产日韩欧美一区 | 久久成人国产精品 | 一区二区三区网站 | 天海翼中文字幕 | 日韩在线不卡视频 | 中文字幕免费一区 | 男女视频免费观看 | 欧美视频一区二区三区在线观看 | 欧美一级网 | 操碰av| 麻豆影视国产在线观看 | 九九日韩 | 成人91在线观看 | 黄色片免费看 | 日本成人三级电影 | 成人夜视频| 黑人巨大精品欧美一区二区免费 | 日韩综合一区二区 | 成年免费在线观看 | 欧美日韩国产中文 | 手机在线精品视频 | 免费在线观看污 | 亚洲国产精彩视频 | 欧美日韩高清一区 | 交专区videossex非洲 | 天堂网av中文字幕 | 激情春色网 | 捆绑中国女人hd视频 | 一本一道人人妻人人妻αv 九一在线视频 | 亚洲国产无码精品 | 免费黄色一级 | 欧美日韩美女 | 黄色一毛片 | 9191在线视频| 污污污www精品国产网站 | 久久久久久av | 最新欧美大片 | 国产经典三级 | 亚洲欧美日韩国产成人精品影院 | 精品国产精品国产偷麻豆 | 一区二区三区不卡在线 | 新91av| 日韩成人不卡 | 国语一区二区 | 国产视频一二三 | 国产人成视频在线观看 | 乱lun合集小可的奶水 | 蜜桃在线一区二区 | 亚洲综合黄色 | 欧美天堂在线观看 | 五月天丁香婷 | 婷婷五月综合激情 | 欧洲一区二区在线 | 97se亚洲综合 | 人人妻人人澡人人爽人人精品 | 男生裸体视频 | 999久久久国产精品 韩国精品一区二区 | 亚洲一区观看 | 男人天堂2019 | 色网网站 | 亚洲一区二区在线电影 | 男人的天堂avav | 精品久久久久久久久久久久久久久久久 | 青青青国内视频在线观看软件 | 插久久| 一区久久| 久草在在线视频 | 黄色美女视频网站 | 国产老熟女伦老熟妇露脸 | 国产噜噜噜噜久久久久久久久 | 四虎色 | 香蕉视频国产 | 欧美日韩xxxx | 中文字幕精品久久久久人妻红杏ⅰ | 成人国产av一区二区三区 | 毛片网在线观看 | 前任攻略在线观看免费完整版 | 操出白浆视频 | 亚洲性xxxx| 亚洲h动漫 | 久久精品在线免费观看 |