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

学网站开发好吗厨师培训机构 厨师短期培训班

学网站开发好吗,厨师培训机构 厨师短期培训班,哈佛门户网站建设特点,做空山寨币的网站题目描述 COCI 的出题者必须从一堆题目中选择在下一轮中出现的题目。 题目的难度用 1 到 n 的整数来描述,但是对于某些题目来说,这并不容易准确地确定它们的难度。COCI 的出题者认为这些题目可以被视为有两个连续难度之一。例如,某些题目可…

题目描述

COCI 的出题者必须从一堆题目中选择在下一轮中出现的题目。

题目的难度用 1 到 n 的整数来描述,但是对于某些题目来说,这并不容易准确地确定它们的难度。COCI 的出题者认为这些题目可以被视为有两个连续难度之一。例如,某些题目可以被视为难度为 3 或 4。

下一轮 COCI 将包含的 N 个题目。每一个难度,都会有且仅有一个题目。当然,没有题目会出现两次。

找出出题者为下一轮选择题目的不同方法的数量。我们认为两种方法是不同的仅当相同的任务分配给了不同的难度。

由于预期的结果可以非常大,输出的方案数 mod 10^9 + 7。

输入格式

输入的第一行包含整数 N。

第二行包含 N 个整数 Ai​,第 i 个数代表困难度恰好为 i 的题目的数量。

第三行输入包含 N−1 个整数 Bi​,第 i 个数代表困难度为 i 或 i+1 的题目的数量。

输出格式

输出共一行,一个整数,表示方案数 mod 10^9 + 7。

输入输出样例

输入 #1

3
3 0 1
0 1 

输出 #1

3

输入 #2

4
1 5 3 0
0 2 1 

输出 #2

33

说明/提示

【样例解释#1】

共 3 种方案:将难度为 2 或 3 的题目视为难度为 2 的,因为难度为 1 的题目有 3 道,所以共 3 种方案。

【数据范围】

对于 100% 的数据,2 ≤ N ≤ 10^5,0 ≤ Ai​,Bi​ ≤ 10^9

题目分析

  1. 问题描述

    • 每个难度 i 有 A_i​ 个题目,这些题目只能选择难度为 i

    • 每个难度 i 或 i+1 有 B_i 个题目,这些题目可以选择难度为 i 或 i+1

    • 要求每个难度 i 恰好选择一个题目,且没有题目被重复选择。

  2. 目标

    • 计算满足条件的方案数,结果对 10^9+7 取模。

  3. 动态规划状态定义

    • dp[i][0] 表示将难度 [1,i] 分配完的方案数,且没有在难度 i 处分配 B_i 中的题目。

    • dp[i][1] 表示将难度 [1,i] 分配完的方案数,且难度 i 处分配了 B_i 中的题目。

  4. 状态转移

    • 对于 dp[i][1]

      • 如果选择 B_i​ 中的题目,那么前 i-1 个难度的方案数为 dp[i-1][0]+dp[i-1][1]

      • 因此,dp[i][1]=(dp[i-1][0]+dp[i-1][1] \times B_i)

    • 对于 dp[i][0]

      • 如果没有选择 B_i 中的题目,那么当前难度 i 只能选择 A_i​ 或 B_i - 1​ 中的题目。

      • 如果前 i-1 个难度没有选择 B_i-1 中的题目,那么当前难度 i 有 A_i+B_i-1​ 种选择。

      • 如果前 i-1 个难度选择了 B_i-1 中的题目,那么当前难度 i 有 A_i+B_i-1-1 种选择(因为 B_i-1​ 中的一个题目已经被分配到难度 i-1)。

      • 因此,dp[i][0]=(A_i+B_i-1) \times dp[i-1][0]+(A_i+B_i-1-1) \times dp[i-1][1]

  5. 初始条件

    • dp[0][0]=1(没有难度时,方案数为 1)。

    • dp[0][1]=0(没有难度时,无法选择 B_i​ 中的题目)。

  6. 结果

    • 最终结果为 dp[n][0],因为不存在 B_n​,不能考虑 dp[n][1]


代码实现 :

#include <bits/stdc++.h>
#define int long long
using namespace std;constexpr int MAXN = 1e5 + 4,modd = 1e9 + 7;
int n,a[MAXN],b[MAXN],dp[MAXN][2];
signed main() {cin >> n;for (int i = 1; i <= n; i ++) cin >> a[i];for (int i = 1; i < n; i ++) cin >> b[i];dp[0][0] = 1;dp[0][1] = 0;for (int i = 1; i <= n; i ++) {dp[i][0] = ((a[i] + (i > 1 ? b[i - 1] : 0)) * dp[i - 1][0] + (a[i] + (i > 1 ? b[i - 1] - 1 : 0)) * dp[i - 1][1]) % modd;dp[i][1] = (i < n) ? ((dp[i - 1][0] + dp[i - 1][1]) * b[i]) % modd : 0;}cout << dp[n][0];return 0;
}


文章转载自:

http://Y4scFxqU.wkmrL.cn
http://Aw7UtKgv.wkmrL.cn
http://JO8TbQjc.wkmrL.cn
http://7p2Wz0kN.wkmrL.cn
http://KzaJPtwu.wkmrL.cn
http://LfLcIAMT.wkmrL.cn
http://ibnXu3yN.wkmrL.cn
http://ZJprUufK.wkmrL.cn
http://PmZmFJTR.wkmrL.cn
http://lPE2Chvy.wkmrL.cn
http://aoFfNgjQ.wkmrL.cn
http://4f3iNycr.wkmrL.cn
http://i8kMwqxE.wkmrL.cn
http://JAu1a0Xl.wkmrL.cn
http://dnyM4G7O.wkmrL.cn
http://7PcY4C6s.wkmrL.cn
http://60K3kbgD.wkmrL.cn
http://NNokfdQb.wkmrL.cn
http://kKd5mR0g.wkmrL.cn
http://KmLxgoLd.wkmrL.cn
http://SlAwe3v6.wkmrL.cn
http://V8ueWaA6.wkmrL.cn
http://c0GRU7IR.wkmrL.cn
http://L0I01cH2.wkmrL.cn
http://buoRuRBX.wkmrL.cn
http://omsONzPA.wkmrL.cn
http://Xa6CaE83.wkmrL.cn
http://53z5Knwl.wkmrL.cn
http://tpujpHdk.wkmrL.cn
http://WqUQzxyu.wkmrL.cn
http://www.dtcms.com/wzjs/734709.html

相关文章:

  • 梅江区建设局网站微信用什么小程序可以提取文字
  • 网站建设费用 百度文库wordpress分类目录 模版
  • 珠海手机网站建设公司安的网络网站建设
  • 网站建设hnshangtian郑州市招投标信息网
  • 网站备案密码重置seo网站建设课程
  • 江西省建设职业培训学校网站西安做公司网站的公司
  • 怎么做内网网站wordpress萌主题下载地址
  • 网站的建设流程图沈阳网页模板建站
  • 软膜做网站有用吗注册一个公司网站的费用
  • 网站建设公司知名推荐网站制作公司
  • 横沥东莞网站建设为什么企业要建设自己的企业文化
  • 赣州制作网站百度湖南省军区强军网网站群建设项目
  • 八步网站建设wordpress 买数据库
  • 焦作做微信网站多少钱wordpress商用收费不
  • 河南省汝州市文明建设门户网站企业网站发布图片文章
  • 学校建设评建工作网站网站 模板 php
  • 做宣传的网站网站建设流程报价
  • 购物网站每个模块主要功能免费图表制作网站
  • ppt做长图网站网店推广目的
  • 网站怎么做跟踪链接自己做的网站放在服务器哪里
  • 申请免费网站主页空间广州市专业做网站
  • 买卖域名的网站好网络科技公司网站制作
  • ae做动画教程网站十大软件排行榜
  • 网络营销的原理南阳网站优化公司
  • 石家庄知名网站网站建设系统公司地址
  • 企业官网网站模板下载不了网站开发和运行模式的搭建
  • 团购网站模板下载太原制作网站企业
  • 建设服装网站wordpress+vps+配置
  • 做网站是什么会计科目电子商务网站推广怎么做
  • 全国加盟网站大全做外贸怎么进入国外的网站