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

P3750 [六省联考 2017] 分手是祝愿题解

P3750 [六省联考 2017] 分手是祝愿题解

Link

思路

比较神经。

首先题目中每个操作都不可以被替代,也就是说,不在原来的最优解中的操作做了一次,就要再做一次才可以。

发现这个东西的期望和步数有关系,考虑将步数定义在状态中。

\(f_i\) 表示目前有最优解有 \(i\) 步,要从第 \(i\) 步进行到 \(i-1\) 步的期望为 \(f_i\)

那么转移为:

\[f_i = \frac{i}{n}+\frac{n-i}{n}(f_{i+1}+f_i+1) \]

即:

\[f_i=\frac{n+(n-i)f_{i+1}}{i} \]

然后就可以转移了。

最后的答案处理也很简单,做一个前缀和即可。

代码:

#include <bits/stdc++.h>
#define FASTIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int N = 1e5 + 5;
const int Md = 100003;
int n, k, a[N], cnt;
ll f[N];
ll qpow(ll a, ll b) {ll ret = 1;while (b) {if (b & 1) ret = (ret * a) % Md;a = (a * a) % Md;b >>= 1;}return ret;
}
int main() {FASTIO;cin >> n >> k;for (int i = 1; i <= n; ++i) cin >> a[i];for (int i = n; i >= 1; --i) {if (a[i]) {++cnt;for (int j = 1; j * j <= i; ++j) {if (i % j == 0) {a[j] ^= 1;if (i / j != j) a[i / j] ^= 1;}}}}f[n + 1] = 0;for (int i = n; i >= 1; --i) f[i] = (f[i + 1] * (n - i) % Md + n) % Md * qpow(i, Md - 2) % Md; ll sum = 0;if (cnt <= k) sum = cnt;else {for (int i = cnt; i > k; --i)sum = (sum + f[i]) % Md;sum = (sum + k) % Md;}for (int i = 1; i <= n; ++i)sum = (sum * i) % Md;cout << sum << '\n';return 0;
}

总结

这题的思路挺神经的,说实话没有见过将这种最优步数转为期望步数,然后放在状态中的做法,感觉很妙。

http://www.jsqmd.com/news/440557/

相关文章:

  • 【算法面试必刷】200. 岛屿数量
  • 搞懂这两个组件,Spring 配置问题少一半!
  • 3.5 Spring Boot的配置文件
  • RASPI裸机7(exceptions)(TODO)
  • 【电力系统】储能调峰调频模型优化求解附Matlab代码
  • 00.状态码
  • 2026年热门的侧装缓冲滑轨厂家推荐:钢珠缓冲滑轨/抽屉缓冲滑轨/骑马抽缓冲滑轨值得信赖的生产厂家 - 行业平台推荐
  • 2026年知名的无油空压机品牌推荐:往复式空压机/活塞往复式空压机/直联便携式空压机源头厂家推荐几家 - 行业平台推荐
  • Go 加密性能极限优化实战手册
  • 详细介绍:spring boot项目欢迎页设置方式
  • Skills搭建全流程,看完你的Skills就牛了!存一下吧!
  • 北京的 Clara ,她是如何从一个小白开始做出海独立站的
  • 2026年DeepSeek推广公司有哪些?联系方式与服务对比一览 - 品牌2026
  • ngx_http_index_set_index
  • 2026年知名的废气处理公司推荐:西安废气处理/陕西废气处理工程制造厂家哪家靠谱 - 行业平台推荐
  • 力扣 第491场周赛(A~D)
  • 00.HTTP 常见状态码
  • C语言联合体&枚举
  • Any Video Downloader:免费全能视频下载利器,8K高清一键保存
  • 2026年比较好的轻钢龙骨公司推荐:防腐轻钢龙骨/装配式轻钢龙骨实力厂家如何选 - 行业平台推荐
  • 【小白笔记】功能函数与主函数的布局
  • 短视频运营资源合集
  • C++游戏开发之旅 24
  • 2026年知名的单轨吊马达公司推荐:气动单轨吊车/单轨吊气动葫芦实力工厂推荐 - 行业平台推荐
  • 体态矫正资源合集
  • 【2026年最新600套毕设项目分享】基于SpringBoot+Vue的知识产权管理系统(14060)
  • 【小白笔记】迭代与递归的区别
  • Mac双开微信终极指南:一台电脑轻松登录两个微信账号 - 指南
  • 在Revit中创建并导入文字渲染模型的步骤详解
  • 北京DeepSeek推广公司有哪些?2026年GEO服务商能力与定位解析 - 品牌2026