NOI2012 Day2
NOI2012 Day2
迷失游乐园
题目描述:给出一个\(n\)个点的图,边数为\(n-1\)或\(n\)。从某个点出发,每次等概率地随机选一个相连的并且没有经过过的点,直到不能走为止,问期望路径长度为多少。(开始时等概率选一个点为起点)
solution:
设期望长度为\(Len\),每个点的度为\(d\),则
\[Len[i]=\sum_{j与i相连} \frac{Len[j]+dis[i][j]}{d[i]}\]
如果是一棵树,那么可以记\(f[i]\)为从\(i\)号的祖先走到\(i\)号点往下走的期望长度,\(g[i]\)为从\(i\)号点的子树走到\(i\)号点往上走的期望长度。
\[f[i]=\sum_{j \in son(i)} \frac{f[j]+dis[i][j]}{d[i]-1}\]
\[g[i]=\frac{g[fa(i)]+f[fa(i)]-\frac{f[i]+dis[i][j]}{d[fa(i)]-1}+dis[i][j]}{d[i]-1}\]
\[ans=\sum_{i=1}^{n} \frac{(f[i]+g[i])*(d[i]-1)}{d[i]}\]
其中,在计算\(g\)的时候要计算出它的父亲不进入该子树的期望长度,所以式子有点长。
如果有一个环,那么先把环找出来,对于环上的每个点的树都按上面的算出\(f\),\(g\)不能在像上面这样先算,因为只有一棵树时,根是无法向上走的,但现在根可以走到环上的其它点的树,所以要先把环上的点的\(g\)算出来。
枚举环上的点\(i\),然后枚举顺逆时针(这样就相当于删去环上的一条边),这就变成了一棵以\(i\)为根的一棵树,求从\(i\)往下走的期望长度(类似于\(f\))。求出环上的点的\(g\)后,就可以像上面一样处理环上的每一点的树。
时间复杂度:\(O(n)\)
美食节
题目描述:有\(n\)种菜品,每种菜品有\(p[i]\)个学生预订,共有\(m\)个厨师制作这\(n\)种菜,厨师按要求的顺序制作,每次做一人份,每个厨师制作同一道菜的时间未必相同每个同学的等待时间为所有厨师开始做菜起,到自己那份菜品完成为止,求学生最短总等待时间。
solution:
这题主要在于能否逆向思考问题,如果卡在顺序上,那么就解不出这道题了。我们应该考虑每道菜的贡献。设一位厨师一共制作\(k\)道菜,那么第一道菜对时间的贡献为(做菜时间$ * k\(),第二道菜为\)(k-1)$,最后一道为\(1\),所以可以求厨师的最后一道菜是什么?倒数第二道才是什么?……以此来构图(最小费用网络流)
可以采用动态加点,首先每位厨师做一道菜(最后一道),哪位厨师做满了,就加点连向这位厨师与对应的菜品,这时新加的边的费用为(\(*2\)),以此类推,直到完成任务为止。
时间复杂度:\(?\)
NOI2012 Day2的更多相关文章
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- BZOJ 2879: [Noi2012]美食节
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1834 Solved: 969[Submit][Status] ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- java day2一个模拟双色球的代码
package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
- 冲刺阶段 day2
day2 项目进展 今天本组五位同学聚在一起将项目启动,首先我们对项目进行了规划,分工,明确指出每个人负责哪些项目.由负责第一部分的组员开始编程,在已经搭建好的窗体内,对系部设置进行了编写,本校共六个 ...
- NOI2012 : 迷失游乐园
终于补完NOI2012了好开心~ 题目大意:给定一棵树或者环套外向树,求出从中随机选一条简单路径的期望长度,环上点数不超过20. 设 d[x]表示x的度数,ch[x]表示x孩子个数 up[x]表示x向 ...
随机推荐
- EditText默认不弹出软键盘
#EditText默认不弹出软键盘# 网上关于EditText默认情况下不弹出软键盘,当手触摸到EditText,获取焦点时候,才会弹出软键盘,貌似都不能用,其实,在oncreate()方法中,加上 ...
- I/O浅析
1.为什么需要I/O? 因为程序需要从别的文件中获取内容或者程序要将自身的内容传入到文件中. 2.流种类的概述 1.字节流和字符流 字节流的基础单位是byte 字符流 ...
- IO-03. 求整数均值
/** *A3-IO-03. 求整数均值(10) *C语言实现 *测试已通过 */ #include "stdio.h" int main() { int a,s,d,f; sca ...
- 常用在线工具及API网址总结
1.小图标在线查找 https://www.iconfinder.com/ 2.在线做图,Flowchart流程图,BPMN图,Org组织结构图等 http://www.processon.com/ ...
- Egret的若干局限
Egret是个好东西,整套workflow用下来,特别顺手,对于移动端游戏的开发来说,选择Egret无疑是个不二的选择. 当然,小学语文课上老师就教过一种写作手法,欲扬先抑,笔者今天倒过来,来说说Eg ...
- aix5.1 5.2 5.3 6.1 7.1运维技术总结
++++++++++++++++++++++++++++ + Ruiy 20014-10 zz + +Technology Area; + Tel:150 55198367 + QQ:5160 591 ...
- SSH登陆服务器的简单命令
SSh 用户名@目标Ip: 回车输入密码:
- SQL Server 获取服务器信息
最近做了一个小工具,里面涉及到一些取SQL Server 服务器信息的一些东西,找了好久,找到一个不错的,贴出来分享. 系统函数 SERVERPROPERTY ( propertyname ) 包含要 ...
- C#编程规范
C#编程规范 Version 1.0 目录 第一章 概述.... 4 规范制定原则.... 4 术语定义.... 4 Pascal 大小写.... 4 Camel 大小写.... 4 文件命名组织 ...
- iOS图片模糊效果
增加 CoreImage.framework CoreGraphic.framework 等库 在使用时引入:#import <Accelerate/Accelerate.h> ,支持 ...