[JLOI2012]时间流逝】的更多相关文章

BZOJ2784: [JLOI2012]时间流逝 https://lydsy.com/JudgeOnline/problem.php?id=2784 分析: 挺有意思的一道题. 注意到状态数是\(P(T)\),由于\(T\le 50\),这个总数不会很大. 于是我们暴力搜状态再\(dp\). 由于\(dp\)转移有从儿子到父亲这样的,我们用树上高斯消元就行了. 特别需要注意的是每次随机产生的能量圈是在能够吃到的范围内随机的. 代码: #include <cstdio> #include <…
Description: 你有n个食物,每个食物有\(a_i\)的价值,你每天有\(p_i\)的几率被抢走一个最小价值的食物,否则可以等概率获得所有食物中价值小于你拥有的食物中最大价值中的一个,问总价值达到T价值的期望天数 Hint: \(n,T \le 50\) Solution: 发现数据范围很小 考虑搜出所有状态 设\(dp[i]\)表示达到总能量为\(i\)的期望天数 转移方程: \(dp[i]=p*dp_{last}+(1-p)*\frac{1}{|next|}\sum dp_{nex…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2784 一个状态可以加很多个能量圈,但减少能量圈的情况只有一种.所以可以用树来刻画. 然后就变成树上高斯消元的套路了.注意根节点的 P 等于 0 . 发现不是要求 dp[ 1 ] 就必须在那个式子里设出 a*dp[ 1 ] 之类的. 据说树上的点大概有 1.2*106 个.大概就是贝尔数吧. #include<cstdio> #include<cstring> #include…
题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力爆搜了. 设\(dp_i\)为状态为\(i\)时达到目标的期望天数. 则\(dp_i=1+p*dp_{last_i}+(1-p)*\frac{1}{|next_i|}*\sum dp_{next_{i}}\) 其中\(last_{i}\)表示\(i\)删掉\(min\)的状态,\(next_{i}\…
题面 题意:(感觉题面写的题意是错的?)有\(n\)种能量不同的圈,设当前拥有的圈的集合为\(S\),则: 1,每天有\(p\)概率失去一个能量最小的圈.特别的,如果\(S = \varnothing\),那么这个概率为0. 2,否则将得到一个满足\(能量 \le S_{min}\)的圈. 求\(S\)内的能量和大于\(T\)的期望天数. 题解:出于期望要倒推的考虑,我们设\(f[i]\)表示从状态\(i\)到合法状态的期望. 一个能量和大于\(T\)的状态为合法状态,显然有\(f[合法状态]…
来自lyd课件 发现s和last(s),next(s)成树结构,然后把式子化简成kx+b的形式,做树形dp即可 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,t,a[105]; double p,q; struct qwe { double k,b; qwe(double K=0,double B=0) { k=K,b=B; } }; qwe dfs(…
目录 动态规划 序列DP 背包问题 状态压缩以及拆分数 期望概率DP 马尔可夫过程 一类生成树计数问题 平方计数 动态规划 序列DP 有些问题: 求长度为\(l\)的上升子序列个数 形如一个值域的前缀和的形式,还要支持插入,所以可以用树状数组优化DP,\(O(n^2logn)\)求解([BZOJ4361]isn) ​ 求最长上升子序列长度 两种做法,前者拓展性更强 设\(f[i]\)表示到第\(i\)个位置的最长上升子序列长度,则\(f[i]=max(f[j]+1),j<=i\&\&…
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noip前的杂题训练,我也很无奈啊 做完了的扔最后,欢迎好题推荐 这么多题肯定是完不成了,能多做一道是一道吧 DP yyb真是强得不要不要的辣:http://www.cnblogs.com/cjyyb/category/1036536.html [ ] [SDOI2010]地精部落 https://www…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
2783: [JLOI2012]树 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 588  Solved: 347 Description 数列 提交文件:sequence.pas/c/cpp 输入文件:sequence.in 输出文件:sequence.out 问题描述: 把一个正整数分成一列连续的正整数之和.这个数列必须包含至少两个正整数.你需要求出这个数列的最小长度.如果这个数列不存在则输出-1. 输入格式: 每行包含一个正整数n. 每个文件…