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

系统的网站建设教程电商网站建设教案

系统的网站建设教程,电商网站建设教案,建网站资料,购物网站建设项目策划书【DP】【期望】\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上。在第 \(i\)#xff08;\(1 \leq i \leq n\)#xff09;个时间段上#xff0c;两节内容相同的课程同时在不同的地点进行#xff0c;其中#xff0c;牛牛预先被安排在教室 \(c_i\)上课… 【DP】【期望】\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上。在第 \(i\)\(1 \leq i \leq n\)个时间段上两节内容相同的课程同时在不同的地点进行其中牛牛预先被安排在教室 \(c_i\)上课而另一节课程在教室 \(d_i\)进行。 在不提交任何申请的情况下学生们需要按时间段的顺序依次完成所有的 \(n\)节安排好的课程。如果学生想更换第 \(i\)节课程的教室则需要提出申请。若申请通过学生就可以在第 $i $个时间段去教室 \(d_i\) 上课否则仍然在教室 \(c_i\)上课。 牛牛发现申请更换第\(i\)节课程的教室时申请被通过的概率是一个已知的实数 \(k_i\)并且对于不同课程的申请被通过的概率是互相独立的。 所有的申请只能一次性提交并且每个人只能选择至多 \(m\)节课程进行申请。 牛牛所在的大学有 \(v\)个教室有 \(e\) 条道路。每条道路连接两间教室并且是可以双向通行的。由于道路的长度和拥堵程度不同通过不同的道路耗费的体力可能会有所不同。 当第 \(i\)\(1 \leq i \leq n-1\)节课结束后牛牛就会从这节课的教室出发选择一条耗费体力最少的路径前往下一节课的教室。 现在牛牛想知道申请哪几门课程可以使他因在教室间移动耗费的体力值的总和的期望值最小。 输入格式 第一行四个整数 \(n,m,v,e\)。 第二行 \(n\) 个正整数第 \(i\)\(1 \leq i \leq n\)个正整数表示 c\(c_i\)即第\(i\)个时间段牛牛被安排上课的教室保证 \(1 \le c_i \le v\)。 第三行 \(n\) 个正整数第 \(i\)\(1 \leq i \leq n\)个正整数表示 \(d_i\)即第 $i $个时间段另一间上同样课程的教室保证 \(1 \le d_i \le v\)。 第四行 \(n\) 个实数第 \(i\)\(1 \leq i \leq n\)个实数表示 \(k_i\)即牛牛申请在第 \(i\)个时间段更换教室获得通过的概率。保证 \(0 \le k_i \le 1\)。 接下来 \(e\) 行每行三个正整数 \(a_j, b_j, w_j\)表示有一条双向道路连接教室 \(a_j, b_j\)通过这条道路需要耗费的体力值是 \(w_j\)保证 \(1 \le a_j, b_j \le v\) \(1 \le w_j \le 100\)。 保证 \(1 \leq n \leq 2000\)\(0 \leq m \leq 2000\)\(1 \leq v \leq 300\)\(0 \leq e \leq 90000\)。 保证通过学校里的道路从任何一间教室出发都能到达其他所有的教室。 保证输入的实数最多包含 \(3\)位小数。 输出格式 输出一行包含一个实数四舍五入精确到小数点后恰好\(2\)位表示答案。你的输出必须和标准输出完全一样才算正确。 测试数据保证四舍五入后的答案和准确答案的差的绝对值不大于 \(4 \times 10^{-3}\)。 如果你不知道什么是浮点误差这段话可以理解为对于大多数的算法你可以正常地使用浮点数类型而不用对它进行特殊的处理 样例 3 2 3 3 2 1 2 1 2 1 0.8 0.2 0.5 1 2 5 1 3 3 2 3 1 2.80 提示 道路中可能会有多条双向道路连接相同的两间教室。 也有可能有道路两端连接的是同一间教室。请注意区分\(n,m,v,e\)的意义, \(n\)不是教室的数量, \(m\)不是道路的数量。\(Solution\) 考虑DP。状态怎么设显然第几节课需要在状态里。还要保证最多换\(m\)次因此次数也要在状态里。那么怎么从上一节课转移呢显然如果我们不知道上一节课在哪个教室上的就无法转移。因此还要在加一维记录当前是否申请换教室。 因此状态就是\(f[i][j][k], 1 \leq i \leq n, 0 \leq j \leq m, 0 \leq k \leq 1\)表示前\(i\)节课换了\(j\)次教室第\(i\)次换或不换的期望。 至于转移则比较简单了 f[i][j][0] min(f[i - 1][j][0] w[c[i]][c[i - 1]], f[i - 1][j][1] w[c[i]][d[i - 1]] * k[i - 1] w[c[i]][c[i - 1]] * (1 - k[i - 1])); f[i][j][1] min(f[i - 1][j - 1][0] w[c[i]][c[i - 1]] * (1 - k[i]) w[d[i]][c[i - 1]] * k[i],f[i - 1][j - 1][1] w[d[i]][d[i - 1]] * k[i - 1] * k[i] w[c[i]][c[i - 1]] * (1 - k[i - 1]) * (1 - k[i]) w[c[i - 1]][d[i]] * (1 - k[i - 1]) * k[i] w[d[i - 1]][c[i]] * k[i - 1] * (1 - k[i])); 如图为当前不选择换教室 如图为当前选择换教室 这道题还有几点需要主意的在预处理部分。具体看代码 #include iostream #include cstring #include cstdio using namespace std; long long read(){long long x 0; int f 0; char c getchar();while(c 0 || c 9) f | c -, c getchar();while(c 0 c 9) x (x 3) (x 1) (c ^ 48), c getchar();return f? -x:x; }int n, m, V, E, c[2002], d[2002], w[305][305]; double f[2002][2002][2], k[2002], ans; int main(){memset(w, 63, sizeof w);//距离初始化n read(); m read(); V read(); E read();for(int i 1; i n; i) c[i] read();for(int i 1; i n; i) d[i] read();for(int i 1; i n; i) scanf(%lf, k[i]);for(int i 1; i E; i){int x read(), y read(), z read();w[x][y] w[y][x] min(w[x][y], z);//有可能重边}for(int l 1; l V; l)for(int i 1; i V; i)for(int j 1; j V; j)w[i][j] min(w[i][j], w[i][l] w[l][j]);//floyed最短路for(int i 1; i V; i) w[i][i] w[i][0] w[0][i] 0;//初始化for(int i 1; i n; i) f[i][0][0] f[i - 1][0][0] w[c[i]][c[i - 1]], f[i][0][1] 1e9;//初始化处理一个也不申请的情况for(int i 1; i n; i)for(int j 1; j m; j){f[i][j][0] min(f[i - 1][j][0] w[c[i]][c[i - 1]], f[i - 1][j][1] w[c[i]][d[i - 1]] * k[i - 1] w[c[i]][c[i - 1]] * (1 - k[i - 1]));f[i][j][1] min(f[i - 1][j - 1][0] w[c[i]][c[i - 1]] * (1 - k[i]) w[d[i]][c[i - 1]] * k[i],f[i - 1][j - 1][1] w[d[i]][d[i - 1]] * k[i - 1] * k[i] w[c[i]][c[i - 1]] * (1 - k[i - 1]) * (1 - k[i]) w[c[i - 1]][d[i]] * (1 - k[i - 1]) * k[i] w[d[i - 1]][c[i]] * k[i - 1] * (1 - k[i]));}double ans f[n][0][0];for(int i 1; i m; i) ans min(ans, min(f[n][i][1], f[n][i][0]));//更新答案printf(%.2lf, ans);return 0; } 转载于:https://www.cnblogs.com/kylinbalck/p/11258482.html
http://www.pierceye.com/news/519337/

相关文章:

  • dede 手机站 怎么获取跳转网站安卓软件开发环境
  • 个人网站做什么类型好中国网络安全官网
  • 怎样优化网站排名上传到服务器的网站打开是空白
  • 我的世界做皮肤网站企业网站风格
  • 京东网站建设的基本情况做哪类网站赚钱
  • 淘宝上网站建设续费个人网站做什么类型的
  • 牙克石网站建设wordpress 跳过ftp
  • 中国建设银行官网站e路通下载店铺设计图纸及效果图大全
  • 福州网站推广公司烟台网络公司有哪些
  • 福建省建设注册管理中心网站那些做面点的网站好
  • 天津网站建设方案托管wordpress 批量删除
  • 网站后台管理系统域名在线设计房屋装修
  • 郑州网站建设工作室wordpress 编辑器字号
  • 内容聚合网站开发教程WordPress文章首页缩进
  • saas云建站平台源码新冠2024中国又要封城了
  • 济南网站建设认可搜点网络滨州网站建设
  • 政务公开及网站建设意见网站的策划方案怎么写
  • 网站培训制度郑州建网站哪个公司好
  • 网站建设优化怎么做微信公众平台开发网站
  • 网站建设的什么是网站建设的第一阶段公司简介概况怎么写
  • 玛伊网站做兼职加入要多少钱装修房子的app软件哪个好
  • 免费空间asp网站公众号编辑器排行榜
  • 鲜花培训网站建设网站建设技术部奖惩制度
  • 国内优秀设计网站站长营销型网站建设 案例
  • 织梦网站维护唐山网站建设哪家专业
  • 网上打字兼职正规网站深圳各区房价一览表
  • 怎样建设网站是什么怎么看网站空间多大
  • 如何备份网站的手机版免费申请微网站
  • 淘宝不允许 网站建设wordpress页面无法编辑器
  • 个人怎么做课程网站seo神马网站推广器