LOJ 2145 100pts

这题。。。BT啊

首先我们很容易想出\(dp(msk)\)表示现在灯开关的情况是\(msk\),期望通过多少步走到终结态。

很明显\(dp(msk)=\frac{1}{n} \times \sum_{i=1}^n dp(msk\ xor\ M_i)\)。

其中\(M_i\)表示把\(i\)这个灯按下之后会改变哪些灯的状态。

然后发现这个转移是有环的。。。所以高斯消元。

然后很开心地发现这个复杂度是\(O(2^3n)\)的,

所以看看是不是可以合并某些状态。

观察得如果两个\(msk\)达到终结态需要的最少按的次数是相同的,那么他们的\(dp\)值也是相同的。

所以考虑改变状态为\(dp(i)\)表示最少要开关多少次灯来把当前状态变成终结态时期望的步数。

观察得转移是\(dp(i)=\frac{i}{n}dp(i-1)+\frac{n-i}{n}dp(i+1)+1\)。

很遗憾这个还是有环的。。。所以高斯消元。

这个复杂度就是\(O(n^3)\)的了,可以拿\(60pts\)(因为最后乘\(n!\)会爆炸)。

根据定义\(dp(n)=dp(n-1)+1\)。

那么我们看看\(dp(n-1)=???\)

根据定义\(dp(n-1)=\frac{n-1}{n}dp(n-2)+\frac{1}{n}dp(n)+1\)

\(=\frac{n-1}{n}dp(n-2)+\frac{1}{n}dp(n-1)+\frac{1}{n}+1\)

所以\(\frac{n-1}{n}dp(n-1)=\frac{n-1}{n}dp(n-2)+\frac{1}{n}+1\)

所以\(dp(n-1)=dp(n-2)+\frac{n+1}{n-1}\)。

那么我们可以假设\(dp(i)=dp(i-1)+c(i)\)。

那么根据定义\(dp(i)=\frac{i}{n}dp(i-1)+\frac{n-i}{n}dp(i+1)+1\),

\(=\frac{i}{n}dp(i-1)+\frac{n-i}{n}(dp(i)+c(i+1))+1\),

所以\(\frac{i}{n}dp(i)=\frac{i}{n}dp(i-1)+\frac{n-i}{n}c(i+1)+1\),

简化得\(dp(i)=dp(i-1)+\frac{(n-i)c(i+1)+n}{i}\)。

所以\(c(i)=\frac{(n-i)c(i+1)+n}{i}\)。

做完了。。。

【LOJ 2145】「SHOI2017」分手是祝愿的更多相关文章

  1. LOJ #2145. 「SHOI2017」分手是祝愿

    题目链接 LOJ #2145 题解 一道画风正常的--期望DP? 首先考虑如何以最小步数熄灭所有灯:贪心地从大到小枚举灯,如果它亮着则修改它.可以求出总的最小步数,设为\(cnt\). 然后开始期望D ...

  2. loj2145 「SHOI2017」分手是祝愿

    记 \(f_i\) 是从要做 \(i\) 步好操作变成要做 \(i-1\) 步好操作的期望操作次数. 显然 \(f_i=i/n \times 1 + (1-i/n) \times (1 + f_{i+ ...

  3. loj #2143. 「SHOI2017」组合数问题

    #2143. 「SHOI2017」组合数问题   题目描述 组合数 Cnm\mathrm{C}_n^mC​n​m​​ 表示的是从 nnn 个互不相同的物品中选出 mmm 个物品的方案数.举个例子, 从 ...

  4. LOJ #2141. 「SHOI2017」期末考试

    题目链接 LOJ #2141 题解 据说这道题可以三分(甚至二分)? 反正我是枚举的 = = 先将t和b数组排序后计算出前缀和, 然后枚举最晚的出成绩时间,每次可以O(1)直接计算调整到该时间所需的代 ...

  5. LOJ #2142. 「SHOI2017」相逢是问候(欧拉函数 + 线段树)

    题意 给出一个长度为 \(n\) 的序列 \(\{a_i\}\) 以及一个数 \(p\) ,现在有 \(m\) 次操作,每次操作将 \([l, r]\) 区间内的 \(a_i\) 变成 \(c^{a_ ...

  6. Loj #2192. 「SHOI2014」概率充电器

    Loj #2192. 「SHOI2014」概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: 「采用全新纳米级加工技术,实现元件与导线能否通电完 ...

  7. Loj #3096. 「SNOI2019」数论

    Loj #3096. 「SNOI2019」数论 题目描述 给出正整数 \(P, Q, T\),大小为 \(n\) 的整数集 \(A\) 和大小为 \(m\) 的整数集 \(B\),请你求出: \[ \ ...

  8. Loj #3093. 「BJOI2019」光线

    Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ...

  9. Loj #3089. 「BJOI2019」奥术神杖

    Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ...

随机推荐

  1. CSS中默认被继承的属性

    在CSS中,所有属性都可以被继承,只需要显式的设置属性值为inherit即可.如果不设置该属性,CSS大部分属性默认不会从父元素继承而是设置初始值(initial value),但是有一部分属性,默认 ...

  2. Salesforce 大量数据部署的最佳实践

    本文参考自官方文档.原文链接 大量数据部署对Salesforce的影响 当用户需要在Salesforce中部署大量数据的时候,部署的过程往往会变慢.这时就需要架构师或开发者设计出更好的过程来提高大量数 ...

  3. git 入门教程之远程仓库

    远程仓库 如果说本地仓库已经足够个人进行版本控制了,那么远程仓库则使多人合作开发成为可能. 如果你只是打算自己使用git,你的工作内容不需要发布给其他人看,那就用不到远程仓库的概念. git 是分布式 ...

  4. matlab练习程序(神经网络分类)

    注:这里的练习鉴于当时理解不完全,可能会有些错误,关于神经网络的实践可以参考我的这篇博文 这里的代码只是简单的练习,不涉及代码优化,也不涉及神经网络优化,所以我用了最能体现原理的方式来写的代码. 激活 ...

  5. mssql sqlserver in 关键字在值为null的应用举例

    转自:http://www.maomao365.com/?p=6873 摘要: 下文通过案例分析in 关键字在值为null的应用举例, 分析出not in关键字在null值产生的异常信息 如下所示: ...

  6. ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6  将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0    将 ...

  7. 分布式:Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...

  8. dialog 关闭 清除

    div.dialog({ close: function () { $(this).dialog('destroy').remove(); } });

  9. Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】

    前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pi ...

  10. 在Lua中提示UnityEngine.dll的方法

    我的环境 安装最新的 EmmyLua-1.2.1及以上版本 IDEA 2017.1.2 及以上版本 关于EmmlyLua的介绍可查看我之前的文章:Lua代码提示和方法跳转 说明:本文方法摘自 Emmy ...