当前位置: 首页 > news >正文

国外虚拟服务器网站建筑模型设计网站建设

国外虚拟服务器网站,建筑模型设计网站建设,pc网站和移动网站,安卓app下载官方正式版题目链接 思想 显然我们后面的决策是跟前一步相关的#xff0c;因此我们可以考虑DP#xff0c;可以用一个15维的数组来进行转移#xff0c;但是这样显然回mle#xff0c;所以我们考虑如何压缩状态#xff0c;由于1Ci51 C_i 51Ci​5#xff0…题目链接 思想 显然我们后面的决策是跟前一步相关的因此我们可以考虑DP可以用一个15维的数组来进行转移但是这样显然回mle所以我们考虑如何压缩状态由于1Ci51 C_i 51Ci​5所以我们可以有dp数组: dp[a1][a2][a3][a4][a5][last]dp[a_1][a_2][a_3][a_4][a_5][last]dp[a1​][a2​][a3​][a4​][a5​][last]a1a_1a1​表示可以涂1块木块的有多少种颜色以此类推lastlastlast表示上一次用的是可以涂lastlastlast个木块的颜色。 接下来就是考虑dp方程的转移了。 举个例子 假设上一次用的颜色是可以涂5个块的那么下一步的状态转移就会变成 suma1∗dp[a1−1][a2][a3][a4][a5][1]a2∗dp[a11][a2−1][a3][a4][a5][2]a3∗dp[a1][a21][a3−1][a4][a5][3](a4−1)∗dp[a1][a2][a31][a4−1][a5][4]a5∗dp[a1][a2][a3][a41][a5−1][5]sum a_1 * dp[a_1 - 1][a2][a3][a_4][a_5][1] a_2 * dp[a_1 1][a_2 - 1][a_3][a_4][a_5][2] a_3 * dp[a_1][a_2 1][a_3 - 1][a_4][a_5][3] (a4 - 1) * dp[a_1][a_2][a_3 1][a_4 - 1][a_5][4] a5 * dp[a_1][a_2][a_3][a_4 1][a_5 - 1][5]suma1​∗dp[a1​−1][a2][a3][a4​][a5​][1]a2​∗dp[a1​1][a2​−1][a3​][a4​][a5​][2]a3​∗dp[a1​][a2​1][a3​−1][a4​][a5​][3](a4−1)∗dp[a1​][a2​][a3​1][a4​−1][a5​][4]a5∗dp[a1​][a2​][a3​][a4​1][a5​−1][5] 之所以a4−1a_4 - 1a4​−1是因为上一步选的是5所以转移过来的时候a41a_4 1a4​1这里面有一个是跟上一个块同颜色的所以需要减去其他情况同理。 考虑到数据比较小并且这个dp方程有点难转移因此我们可以考虑用记忆化搜索来进行dp转移。 代码 /*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include bits/stdc.h #define mp make_pair #define pb push_back #define endl \nusing namespace std;typedef long long ll; typedef unsigned long long ull; typedef pairint, int pii;const double pi acos(-1.0); const double eps 1e-7; const int inf 0x3f3f3f3f;inline ll read() {ll f 1, x 0;char c getchar();while(c 0 || c 9) {if(c -) f -1;c getchar();}while(c 0 c 9) {x (x 1) (x 3) (c ^ 48);c getchar();}return f * x; }void print(ll x) {if(x 10) {putchar(x 48);return ;}print(x / 10);putchar(x % 10 48); }const int mod 1e9 7;ll dp[20][20][20][20][20][10]; int n, a[10];ll dfs(int a1, int a2, int a3, int a4, int a5, int last) {if(dp[a1][a2][a3][a4][a5][last]) return dp[a1][a2][a3][a4][a5][last];ll ans 0;if(a1) ans (ans 1ll * (a1 - (last 2)) * dfs(a1 - 1, a2, a3, a4, a5, 1)) % mod;if(a2) ans (ans 1ll * (a2 - (last 3)) * dfs(a1 1, a2 - 1, a3, a4, a5, 2)) % mod;if(a3) ans (ans 1ll * (a3 - (last 4)) * dfs(a1, a2 1, a3 - 1, a4, a5, 3)) % mod;if(a4) ans (ans 1ll * (a4 - (last 5)) * dfs(a1, a2, a3 1, a4 - 1, a5, 4)) % mod;if(a5) ans (ans 1ll * a5 * dfs(a1, a2, a3, a4 1, a5 - 1, 5)) % mod;return dp[a1][a2][a3][a4][a5][last] ans; }int main() {// freopen(in.txt, r, stdin);// freopen(out.txt, w, stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);n read();for(int i 1; i n; i) {int x read();a[x];}for(int i 1; i 5; i) dp[0][0][0][0][0][i] 1;print(dfs(a[1], a[2], a[3], a[4], a[5], 0));return 0; }
http://www.zqtcl.cn/news/935355/

相关文章:

  • 网站的建设费用预算策划书wdcp网站备份
  • 济南制作公司网站网站设计的实例
  • 网站建设需要的文案一个网站的后台怎么做
  • 电影网站建设模板营销方式都有哪些
  • 书店商城网站建设方案未央免费做网站
  • 北京房产网北京二手房企业网站seo方案案例
  • 大连品牌官网建站二级建造师最好的网站
  • python开发工具搜索引擎优化的英语简称
  • 做产品代理上哪个网站好东莞公司网上推广
  • 专业制作网站公司上海广告公司联系方式
  • 古交市网站建设公司四川省建设厅电子政务网站
  • 清河网站建设费用50万做网站
  • 怎么找网站的根目录平台类网站营销方案
  • 网站关键词 价格生成山西建设工程备案网站
  • 网站开发入哪个会计科目设计师自己的网站
  • php做网站界面代码定制网页设计报价
  • 重庆智能模板建站wordpress+widget+开发
  • vps网站空间时尚网站首页设计
  • 美容行业网站建设方案网站建设需求背景
  • 贵阳做网站找哪家好长沙部分风险区域调整
  • 设计网站 常用微信网站建设口碑好
  • 网站建设加盟列举网络推广的方式
  • 大连博硕网站建设dw做网站背景音乐
  • 江苏省建设执业网站北京做胃镜哪好德胜门网站I
  • 南京网站开发南京乐识好郑州宣传片制作多少钱
  • 昆明网站制作方案定制wordpress图片广告
  • 宜宾seo网站建设辽宁专业网站建设大全
  • 同一产品做多个网站网页打不开的解决方法
  • 手机建个人网站c 做网站开发实例
  • 做网站竞价没有点击率教你用模板做网站