CW 模拟赛 T2.神力

news/2024/10/21 19:47:59

题面

之前别的学校模拟赛的题吧, 显然是没有上 oj 的
挂个 pdf
题面下载

算法

概率类型的题目, 这一题看着像概率 dp, 是不会的

先按照一般的思路, 从前往后考虑操作
\(f_{i, j}\) 为考虑了前 \(i\) 步操作, 当前位置为 \(j\) 的概率

考虑状态转移
对于操作的每一个位置, 显然其会被之前的位置所影响, 也显然可以影响后面的位置

\[f_{i, j} = \sum \left[f_{i - 1, j} \times P_{dont \text{ } move} + f_{i - 1, j - Move_i} \times \left(1 - P_{dont \text{ } move} \right)\right] \]

当然实现的时候最好使用刷表法

但是写出来之后是 \(\rm{WA} \text{ } 12pts\) 的, \(\rm{why}\)?
画表分析一下, 当一条路径重复经过了同一个点, 那么这个 dp 方程将会两次计算这种情况对这个点的贡献, 考虑去重

人类智慧发现, 倒推操作时, 即使现在重复经过了一个点, 也不会影响结果(事实上我不知道为什么)

于是完成

代码

#include <bits/stdc++.h>
using namespace std;
#define int long longconst int N = 5005, MOD = 1e9 + 7;int qpow(int x, int y)
{int cnt = 1;for (; y; y >>= 1){if (y & 1)cnt = cnt * x % MOD;x = x * x % MOD;}return cnt;
}int n, p, a[N], dp[N][N * 2], ans;signed main()
{cin >> n >> p;p = p * qpow(100, MOD - 2) % MOD;int ip = (1 - p + MOD) % MOD;for (int i = 1; i <= n; i++)cin >> a[i];dp[0][n] = 1;for (int i = 1; i <= n; i++){for (int j = n - i + 1; j <= n + i - 1; j++){dp[i][j] = (dp[i][j] + p * dp[i - 1][j]) % MOD;dp[i][j + a[n - i + 1]] = (dp[i][j + a[n - i + 1]] + ip * dp[i - 1][j]) % MOD;}dp[i][n] = 1;}for (int i = 0; i <= 2 * n; i++)cout << dp[n][i] << " ";cout << "\n";return 0;
}/*
5 83
1 -1 -1 1 1
*/

总结

dp 推不出来? 考虑换一下顺序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74318.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

面试题速刷 - 知识广度2

有哪些前端攻击?如何预防? XSS 跨站脚本攻击预防:尖括号替换,Vue中用插值{}不会发生XSS攻击。 CSRF 跨站请求伪造预防:服务端严格控制跨域,验证机制二次确认 SameSite禁止第三方cookie 点击劫持演示一下:预防: 1.判断两个iframe域名是否一致 2.让当前网页只在自己ifram…

【小 w 的代数】(提供一种 n^2 log 的解法)

前言:卖点记录 CTH 的发言CTH:你这真是 n^3 的 CTH:我也不知道你线段树优化个啥,\(n^3 \log n\) CTH:你优化到哪了啊 CTH:你从赛时打这个题到现在 11 个小时了,你从 \(n^3\) 打到 \(n^3\log n\) 了 CTH:再怎么着,我也不会一道题调三天 CTH:我一直都说这么打这么打,你…

CSS速刷 - 预处理器

预处理器是什么?less Sass 预处理器有啥功能?嵌套,反映了层级和约束 变量和计算,减少了重复代码 Extend和Mixin代码片段,就像具备同一个功能的函数。 循环,适用于复杂有规律的样式 import CSS文件模块化1. less嵌套 Node写的,通过npm发布。 &:同一层级2. Sass嵌套 输…

模拟赛总结(三)

2024.9.16 重新定义饮料为一大杯冰沙 胃:这把生死局(指抿一口就开始起反应...) 早上就不停反呕,下午整这一出真是笑嘻了 T1 不相邻集合 以为贪心假的,结果对了 就是对新加的数看看有没有左邻右舍被取过,没有就计入答案 code T2 线段树 暴力\(20\) 考虑到线段树开点方式,…

CentOS7下安装Mysql8.4

一、检查 先检查下有没有安装过MySql ps ajx | grep mysql #检查 是否有 mysql 的进程 ps ajx | grep mariabd #检查 是否有 mariabd 的进程如果有,先停掉 systemctl stop mysqld #关闭进程再看是否有Mysql安装包 rpm -qa | grep mysql如果有,批量化删除安装包 rpm -qa …

高等数学 7.5可降阶的高阶微分方程

目录一、\(y^{(n)} = f(x)\) 型的微分方程二、\(y = f(x, y)\) 型的微分方程三、\(y = f(y, y)\) 型的微分方程 一、\(y^{(n)} = f(x)\) 型的微分方程 微分方程 \[y^{(n)} = f(x) \tag{1} \]的右端仅含有自变量 \(x\) 。容易看出,只要把 \(y^{(n - 1)}\) 作为新的未知函数,那…

GD-WLAN登录页面抓包及curl模拟方法

摘要: 校园网Web认证界面点击登录时会发送一个 Post 请求,密码使用时间戳作为密钥进行 RC4 加密(后经验证,时间戳可为任意值),服务器根据密钥解密并验证账户与密码,验证通过便可以正常上网。因而可以采用curl等工具模拟 Post 请求,完成登录。实现路由器、服务器、手机、…