首页 > 其他分享 >「解题报告」[ARC114E] Paper Cutting 2

「解题报告」[ARC114E] Paper Cutting 2

时间:2023-05-29 22:04:29浏览次数:45  
标签:h1 ARC114E Paper int d% Cutting w2 ans 一条线

Kaguya 随机点了一道题,结果还挺 educational,写一下。

不过好像挺套路的。

首先第一件事,发现从现有的线段里选一个隔开这个东西太丑了。我们考虑转化一下题意。我们仍然在原矩形上划线,但是划完线后并不割开,而是一直在原矩形上操作。可以发现,这个操作是和原来的操作是等价的,因为我们可以看做是每次选了一条线,如果这个线已经不在当前矩形上了就重新选一个,容易发现这个操作的选中每一条线的概率是和原来相等的。

同时,发现原问题的操作次数等价于这个矩形缩小了多少次,那么根据期望的线性性,我们可以将期望拆为对于每一条线,矩形的边界在某一时刻变为这一条线的概率之和

那么我们枚举每一条线,然后考虑选中它的概率。设上下左右分别有 \(u, d, l, r\) 条可以选的线,总线段数为 \(s\)。假设我们枚举的是左边的第 \(i\) 条线,那么不难发现每次选中其它线的概率为 \(\dfrac{u+d+r+i-1}{s}\)。那么某一时刻选中这条线的概率就是 \(\displaystyle \sum_{j=0}^{\infty} \left(\dfrac{u+d+r+i-1}{s}\right)^j \frac{1}{s} = \frac{1}{s-(u+d+r+i-1)}\)。直接对这个东西求和即可,复杂度 \(O(n \log n)\) 或 \(O(n)\)。

#include <bits/stdc++.h>
using namespace std;
const int P = 998244353;
int h, w;
int h1, h2, w1, w2;
int l, r, u, d, s;
int qpow(int a, int b) {
    int ans = 1;
    while (b) {
        if (b & 1) ans = 1ll * ans * a % P;
        a = 1ll * a * a % P;
        b >>= 1;
    }
    return ans;
}
int main() {
    scanf("%d%d%d%d%d%d", &h, &w, &h1, &w1, &h2, &w2);
    l = min(h1, h2) - 1;
    r = h - max(h1, h2);
    u = min(w1, w2) - 1;
    d = w - max(w1, w2);
    s = h + w - 2;
    int ans = 1;
    for (int i = 1; i <= l; i++) {
        ans = (ans + qpow(s - r - u - d - i + 1, P - 2)) % P;
    }
    for (int i = 1; i <= r; i++) {
        ans = (ans + qpow(s - l - u - d - i + 1, P - 2)) % P;
    }
    for (int i = 1; i <= u; i++) {
        ans = (ans + qpow(s - r - l - d - i + 1, P - 2)) % P;
    }
    for (int i = 1; i <= d; i++) {
        ans = (ans + qpow(s - r - u - l - i + 1, P - 2)) % P;
    }
    printf("%d\n", ans);
    return 0;
}

标签:h1,ARC114E,Paper,int,d%,Cutting,w2,ans,一条线
From: https://www.cnblogs.com/apjifengc/p/17441757.html

相关文章

  • Paper Reading: Adaptive Neural Trees
    目录研究动机文章贡献自适应神经树模型拓扑与操作概率模型与推理优化实验结果模型性能消融实验可解释性细化阶段的影响自适应模型复杂度优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文......
  • Game on Paper 题解
    题目传送门一道模拟题。如果每涂一个格子就判断整个矩阵,那时间复杂度显然会炸。我们每涂一个格子,影响的应该只是以这个格子为中心的\(3\times3\)矩阵,判断以这些点为中心的话会不会涂出\(3\times3\)的矩阵即可。Code#include<bits/stdc++.h>#definelllonglong#d......
  • Paper Reading: forgeNet a graph deep neural network model using tree-based ensem
    目录研究动机文章贡献本文方法图嵌入深度前馈网络forgeNet特征重要性评估具体实现模拟实验合成数据生成实验评估实验结果真实数据应用BRCA数据集microRNA数据Healthyhumanmetabolomics数据集优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重......
  • Questions Whlie Reading A Research Paper
    Givemeabriefsummaryofthebackgroundandcontextoftheresearch.Givemeabriefsummaryofthebackgroundandcontextoftheresearch.Whataretheresearchquestionsaddressedinthepaper.Whataretheresearchquestionsaddressedinthepape......
  • 基于反向神经网络BP的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的
    基于反向神经网络BP的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的模型评价指标,可以直接拿来替换数据做分析,同时各种指标都可以输出,方便记录,如果不会替换数据,可以帮忙替换数据。ID:9730666506696657......
  • 基于随机森林的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的模型评
    基于随机森林的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的模型评价指标,可以直接拿来替换数据做分析,同时各种指标都可以输出,方便记录,如果不会替换数据,可以帮忙替换数据,该货品属于虚拟产品,一经售出,概不退货。ID:4135666903581785......
  • Ubuntu 20.04 实装我的世界 Paper 服务器
    0x01-环境需求一台能上网、有公网IP的服务器ssh客户端(可选,如果是云服务器则必须)Linux使用经验(可选)0x02-下载装好系统,先更新:sudoaptupdatesudoaptupgrade去PaperMC网站选好版本,点击下载,再用ftp传到服务器。0x03-首次启动因为核心是.jar文件......
  • 【Call for papers】2023年CCF人工智能会议信息汇总(持续更新)
    本博文是根据2022年CCF会议推荐的人工智能领域相关会议目录撰写。一、截稿时间总览截稿时间的总时间轴内容将会持续更新......往年投稿及录用情况及链接详见图片后面的内容。二、会议详细目录由于一些会议的投稿时间还没公开,因此根据往年投稿时间在表格中使用 ~符号表示大概的投......
  • Codeforces 1799H - Tree Cutting(树形 dp)
    思考的时候一直卡在不会在低于\(O(n)\)的时间内储存一个连通块的\(siz\)有关的信息,看了洛谷题解之后才发现我真是个小丑。树形DP。对于一条我们需要操作的边\((i,fa_i)\),我们将其分为保留子树和删除子树两种类型,对于删除子树,我们在判定其是否合法时候改为判定删除的连通块......
  • [CEOI2021] Newspapers
    模拟赛没有判\(n=1\),喜提\(0\)分。感谢每个subtask都放\(n=1\)的善良出题人。看到题感觉A的操作好像比较弱小,唯一的用处似乎只能用来排除B在哪些位置,那这样就有一个暴力了,直接记录当前还有哪些点上可能有B,然后直接跑bfs,就可以通过第一档分了。看到第二档分似乎比较......