首页 > 其他分享 >梦熊第二届省选挑战赛 T2 炫酷原神 genshin 唐氏记录

梦熊第二届省选挑战赛 T2 炫酷原神 genshin 唐氏记录

时间:2024-08-25 19:36:40浏览次数:4  
标签:原神 剪贴板 pw Ctrl 省选 T2 si long add

需要复制一段文字,具体来说给定一个字符串 si,然后你有一个剪贴板,初始为空,和一个初始为空的字符串 t,然后对于所有 1 到 n 的 i,小水母会依次进行如下操作:

  • "Ctrl + C" 操作,将剪贴板的内容修改为 si。
  • "Ctrl + V" 操作,将剪贴板的内容添加到 t 末尾。
    每次 "Ctrl + C" 操作和 "Ctrl + V" 操作都只有一半概率成功。

求最终串 t 的期望权值,其定义为多少个子串只有一种字符。Q 次单点修改 si,你需要输出每次修改后的答案。(n,Q<=2e5)

记得往简单了想。

对于一个字符,最好是求以每个位置结尾,向前最长连续段期望长度。

(强制结尾思想的完全运用。)

枚举这个字符。对于每个位置 i,要求它必须 Ctrl-V,此时剪贴板内字符显然必须为 si,这个概率①容易计算。

//NOI-MRA-3004 zhouziqi
//pw[i]:=2**i
//ipw[i]:=pw[i]**(-1)
void DP(char c, int op) {
    for (int i = 1; i <= n; i ++) {
        sum[i] = sum[i - 1];
        if (s[i] == c) {
            add(sum[i], pw[i - 1]);
        }
    }

    for (int i = 1, s0 = 0, s1 = 0; i <= n; i ++) {
        int f = ((long long){sum[i]} * ipw[i + 1]  //①
              + ((long long){sum[i]} * s0 + s1) % P * ipw[i << 1]) % P;
        if (op > 0) {
            add(ans, f);
        } else {
            add(ans, P - f);
        }

        int mul = (long long){pw[i]} * f % P;
        add(s0, mul);
        add(s1, (long long){pw[i] - sum[i] + P} * mul % P);
    }
}

标签:原神,剪贴板,pw,Ctrl,省选,T2,si,long,add
From: https://www.cnblogs.com/Zaunese/p/18379381

相关文章

  • P7515 [省选联考 2021 A 卷] 矩阵游戏 题解
    DescriptionAlice有一个\(n\timesm\)的矩阵\(a_{i,j}\)(\(1\lei\len\),\(1\lej\lem\)),其每个元素为大小不超过\({10}^6\)的非负整数。Bob根据该矩阵生成了一个\((n-1)\times(m-1)\)的矩阵\(b_{i,j}\)(\(1\lei\len-1\),\(1\lej\lem-1\)),每个......
  • 原神4.8版本重点培养和抽到角色数据表:修改了添加倒计时.隐藏了抽到角色数据表删除按钮
    <!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>原神4.8版本抽到角色和重点培养数据表<......
  • Ros2 Moveit2 编译安装报错解决方案 - By not providing "Findgz_sim_vendor.cmake" i
    moveit_resources---stderr:gz_ros2_controlCMakeErroratCMakeLists.txt:27(find_package):Bynotproviding"Findgz_sim_vendor.cmake"inCMAKE_MODULE_PATHthisprojecthasaskedCMaketofindapackageconfigurationfileprovidedby"gz......
  • P10404 「XSOI-R1」原神数 题解
    一篇题解需要一张头图。容易发现超过十位的数都不是原神数,因为只有十个数字,不可能保证十一个位置互不相同。同时恰好十位的数也不可能是原神数,因为数位互不相同的十位数的数位和为\(45\),被\(3\)整除,一定是\(3\)的倍数。于是把原神数的范围缩小到\([1,10^9)\)。显然不......
  • 【LLM & RAG & text2sql】大模型在知识图谱问答上的核心算法详细思路及实践
    前言本文介绍了一个融合RAG(Retrieval-AugmentedGeneration)思路的KBQA(Knowledge-BasedQuestionAnswering)系统的核心算法及实现步骤。KBQA系统的目标是通过自然语言处理技术,从知识图谱中提取和生成精确的答案。系统的实现包括多个关键步骤:mention识别、实体链接及排序、属......
  • YC327B [ 20240821 CQYC NOIP 模拟赛 T2 ] 括号串(bracket)
    题意给定\(S\in\{(,),?\}\)。定义深度为括号嵌套的子序列的最大长度除以\(2\)。求出将\(?\)替换为括号的所有括号串的深度之和,对\(998244353\)取模。\(n\le10^6\)。Sol考虑如何把每次贡献只计算一次。不难想到在括号的中心点计算。可以发现,若当前左右括号......
  • 「代码随想录算法训练营」第四十四天 | 图论 part2
    200.岛屿数量题目链接:https://leetcode.cn/problems/number-of-islands/description/文章讲解:https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html题目难度:中等题目状态:看题解思路一:深搜版方法dfs:参数:接受一个字符网格grid和当前坐标(r,c)。功能:......
  • Ros2 Moveit2 - Robot Model and Robot State
    RobotModelandRobotState 在本节中,我们将向您介绍用于在MoveIt中使用运动学的C++API。RobotModel和RobotState类RobotModel 和 RobotState 类是提供对机器人运动学访问权限的核心类。RobotModel 类包含所有链接和关节之间的关系,包括从URDF加载的关节限制属......
  • ROS2 Moveit2 - URDF 和 SRDF
    URDFMoveIt2从URDF(统一机器人描述格式)开始,这是用于在ROS和ROS2中描述机器人的原生格式。在本教程中,您将找到URDF的资源、重要提示以及MoveIt2特定要求的列表。URDF资源URDFROSWiki页面-URDF ROSWiki页面是关于URDF的大部分信息的来源。URDF教程-......
  • mormot2 json操作
    mormot2json操作procedureTcrud.select;vardb:Tdb;pool:Tdbpool;jo:Tdocvariantdata;i:integer;beginjo.init;trytrypool:=GetDBPool(DBID);db:=pool.Lock;fori:=0tohigh(sqls)dobeginDB.sele......