【AtCoder】【ARC077F】SS

从A100到H100:揭秘NVIDIA新一代GPU在生物制药与气候模拟中的性能飞跃 本文深入探讨了NVIDIA H100 GPU在生物制药与气候模拟领域的性能飞跃。通过Hopper架构的动态执行引擎、第四代Tensor Core和TMA技术,H100显著提升了分子动力学模拟和气候模型的运算效率。水冷服务器的协同设计进一步优化了散热性能,使得长期稳定运算成为可能。这些突破不仅加速了科研进程,还大幅降低了能耗成本。 阅读详情

Description

给出对于字符串的函数F(x),表示在字符串后面加至少一个字符,使得新串由两个一样的字符串组成,如:f(aaabbb)=aaabbbaaabbb

求对原串进行了无限次f()后的串,从第l位到第r位,每个字母出现了对少次
保证原串是由两个相同的串组成。

Solution

设原串为SS,由两个字符串S组成,
考虑第一次变化:
肯定是找出最短的T,使得T是S最短的border,也就是S是由T重复多次组成的(可以爆出去),
F(SS)=STST
那么就继续对新串ST求出T’,可以证明,除非|S|是|T|的倍数(不爆出去即可组成),T’=S一定成立
F(STST)=STT’STT’=STSSTS
可以继续推下去,发现:这一轮的T’,一定等于上上一轮的的整个串,构成的类似于斐波那契的东西,下面列举出每轮的T’:
T
S
ST
STS
……
对应的每次变化后的串(特殊情况除外):
SS
STST
STSSTS
STSSTSTSST
……

求答案肯定先拆成1~r和1~(l-1),
接下来就很好做了,像倍增一样做即可,因为前面的不会变,所以统计完毕直接减掉即可,

Code

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
#define efo(i,q) for(int i=A[q];i;i=B[i][0])
using namespace std;
typedef long long LL;
const int N=200500;
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n,ans;
int a[N],nx[N];
LL b[N][30],bv[N];
LL Ans[30];
void Doit(LL q,LL K)
{
    if(q<=n)
    {
        fo(i,1,q)Ans[a[i]]+=K;
        return;
    }
    fo(i,1,N)if(bv[i]>q)
    {
        fo(j,0,25)Ans[j]+=b[i-1][j]*K;
        Doit(q-bv[i-1],K);
        return;
    }
}
int main()
{
    int q;
    char ch=' ';
    for(ch=getchar();ch<='z'&&ch>='a';ch=getchar())a[++n]=ch-'a';
    n>>=1;
    q=0;
    fo(i,2,n)
    {
        for(;q&&a[q+1]!=a[i];q=nx[q]);
        if(a[q+1]==a[i])++q;
        nx[i]=q;
    }
    m=n-nx[n];
    fo(i,1,n)++b[0][a[i]];
    fo(i,0,25)b[1][i]=b[0][i];
    fo(i,1,m)++b[1][a[i]];
    bv[0]=n,bv[1]=n+m;
    fo(i,2,1000)
    {
        bv[i]=bv[i-1]+bv[i-2];
        fo(j,0,25)b[i][j]=b[i-1][j]+b[i-2][j];
    }
    LL l,r;
    scanf("%lld%lld",&l,&r);
    Doit(r,1);
    Doit(l-1,-1);
    fo(i,0,25)printf("%lld ",Ans[i]);
    return 0;
}
高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解 在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对 阅读详情

相关推荐

Windows Server远程桌面断开后,PyWinAuto/按键精灵脚本失效?试试这个‘会话保持’的终极配置

本文深入解析Windows Server远程桌面断开后导致PyWinAuto/按键精灵脚本失效的问题,提供会话保持的终极配置方案。通过转换到控制台会话(console模式)和调整组策略,确保自动化程序在断开连接后持续稳定运行,适用于Windows Server各版本。

weixin_28738165的博客 227

【ARC077F】SS

Description      如果某个串可以由两个一样的串前后连接得到,我们就称之为“偶串”。比如说“xyzxyz”和“aaaaaa”是偶串,而“ababab”和“xyzxy”则不是偶串。    ​   对于一个非空串\(S\),我们定义\(f(S)\)是在\(S\)后面添加一些字符得到的最短偶串。比如\(f(\)'abaaba'\()=\)'abaababaab'。容易证明,对于一个非空串\...

weixin_30800807的博客 221

动态刷新曲线_【GhPython应用】利用反射刷新Image sampler组件

【版权声明】| 作者:月之眼|案例图片来源:Sergiu Radu Pop的facebook| 如有侵权,请联系大水牛平台|如果觉得文章不错,欢迎分享效果展示利用python刷新Image sampler组件,主要的思路就是X输入端:输入要切换的图片路径,我的案例中输入了9张图片。然后通过100毫秒切换一张图片显示,来达到动态显示效果。代码分析run输入端类型:bool (I...

weixin_42393829的博客 531

【ARC077F】SS kmp+打表找规律

Description ​ 如果某个串可以由两个一样的串前后连接得到,我们就称之为“偶串”。比如说“xyzxyz”和“aaaaaa”是偶串,而“ababab”和“xyzxy”则不是偶串。 ​ 对于一个非空串SS,我们定义f(S)f(S)是在SS后面添加一些字符得到的最短偶串。比如f(f('abaaba')=)='abaababaab'。容易证明,对于一个非空串SS,f(S)f(S)是唯一的 ​ 现...

weixin_30468137的博客 223

腾讯开源CubeSandbox:为Agent打造可随时丢弃的安全沙箱环境

在人工智能与自动化技术快速发展的今天,智能体(Agent)在执行复杂任务时往往需要独立、完整的计算环境,但环境失控带来的安全风险一直是落地瓶颈。为解决这一痛点,可丢弃式沙箱技术应运而生。它通过轻量虚拟化原理实现环境秒级重建,并严格隔离宿主资源,即使Agent执行了恶意或误操作,也不会波及其他系统。这种技术价值在于平衡了灵活性与安全性,使开发者敢于赋予Agent更多自主操作权限。目前,这类技术已广泛应用于AI编程、自动化测试、数字员工、恶意代码分析等真实场景,成为Agent可靠运行的基石。腾讯开源的CubeS

weixin_42539414的博客 250

【ESP32】ESP32连接JY61P并通过WIFI发送给电脑

ESP32S连接JY61P并通过WIFI把姿态数据发送给电脑1.采用Arduino IDE编译器;需要安装ESP32的开发板管理器;2.电脑接受数据是基于python的;

Doudou_Nai的博客 1131

[arc077f]SS

前言有趣的字符串题。 我是不是推出了什么和大家看起来不一样实质上一样的东西。题目大意定义AA表示两个一样的字符串A接在一起。 定义F(SS)=TT,TT是长度最小的满足条件的字符串且SS是TT的前缀。 给你小写字母串SS,求F10100(SS)F^{10^{100}}(SS)的区间[l,r]每个字母出现次数。有趣这显然是一道和border相关的题。 然后可以发现只考虑S的变化就行,不需要考虑

不来也不去的一只失忆蝴蝶 1843

MTK眼中6G物理层与无线协议的进化之路

提议统一波束和小区级的测量、报告和切换框架/流程,进一步减少移动性切换过程中的中断,采用可扩展框架/流程,允许在不同移动性场景中进行部分用户设备配置更新以实现快速切换,支持用户设备发起的移动性(同步/切换)以降低延迟和因信令交换导致的失败,设计移动性RS以实现空闲状态下的节能和连接状态下的无缝用户体验,实现5G/6G间的无缝互操作移动性,为固定无线接入(FWA)提供潜在增强,构建统一的跨层移动性框架以降低复杂度、减少中断和失败。为适应多样化的流量类型,需要灵活的帧结构和高层时间对齐。

asd199086的博客 1745

[AtCoder ARC077 .F] [字符串] [乱搞] SS

翻译下题解…可以发现一次变化是f(SS)=STSTf(SS)=STST,其中TT是S的一个前缀,|T||T|是S的最小周期 那么我们就只需要考虑变化g(S)=STg(S)=ST,因为不断变化1010010^{100}次的话,后面的部分就可以省去设TT的长度为dd,SS的长度是nn 可以证明如果d|nd|n,那么g(ST)=STTg(ST)=STT 否则,g(ST)=STSg(ST)=STS那么

CE玩家 1061

FISCO BCOS 系列(一)—— 搭建第一个区块链网络&配置控制台指南

本文详细介绍了FISCO BCOS区块链网络的搭建与配置过程,包括环境准备、单机四节点网络搭建、控制台配置使用等核心内容。从系统要求、依赖安装开始,逐步指导如何通过脚本快速搭建区块链网络,配置控制台连接,并演示了账户管理、合约部署调用等基础操作。同时提供了多节点网络配置、常见问题解决方案以及生产环境安全建议,为开发者提供了从入门到进阶的完整指南。

分享AI、区块链技术及应用,未来已来 807

低功耗设计-Power Switch

power gating与power switch cell

m0_61544122的博客 1万+

[AtCoder Regular Contest 077] F: SS (arc077F)

原题链接 https://arc077.contest.atcoder.jp/tasks/arc077_d Description 定义偶串为这个字符串前一半和后一半相同(abadabad) 定义函数f(S)表示在S这个字符串后加上最短的串(不能为空),加上以后变成偶串 加完以后得到的串 给出S 求小写字母a~z分别在 f(f(f(….f(S)…))) 的串中[L,R]这个区...

Never give in. 452

视频理解与处理——OpenClaw视频能力深度解析(2026视频版)

本文介绍了OpenClaw视频理解与处理的核心技术,重点分析了视频预处理流程。通过VideoProcessor类实现视频加载、帧采样、尺寸调整和归一化等基础处理功能,支持本地和在线视频源处理,为后续视频分析任务提供标准化输入。预处理模块采用均匀采样和标准化方法优化视频数据,确保动作识别、场景分析等高级应用的准确性,展现了OpenClaw强大的视频处理能力。

一键难忘的博客 464

Atcoder arc077 F - SS

题目来源看数据范围,显然字符串变化是有规律的。 给定字符串GG,前后对称,我们只考虑G的部分。 对于字符串G。变换一次 我们使得新加进来的字符最少,共用的部分越长越好(后缀)。 划分字符串G分为两部分,最长公共后缀(next)记为T,前面的部分记为S。 多写几组数据发现,对于一个字符串,可能变化为STTTTTTTTTTT,也有可能是一种斐波那契式的变换。新的字符串由之前两个组成。而这两种变换

luoyuef的博客 403

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Atcoder ARC 077 F - SS KMP 字符串 周期

题意: 定义一个f(s)f(s)为将字符串s后面加上长度最小的串,使得新串仍时一个形如AA的串。在操作无限次后求[L,R]\left[L,R\right]中各个字母出现的次数。保证原串形如AA。 数据范围: 2≤|S|≤2×1052≤|S|≤2×10^5 1≤l≤r≤10181≤l≤r≤10^{18} 算法: 问AK爷怎么做,被怒D这不是傻逼题吗。 考虑串是怎么

Cherries 1342

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【好题总结】atcoder好题选做

学习ShichengXiao’s的笔记 一下是简单的小结和感想 ARC 098F 找性质,定经过顺序,然后DP 注意要把多的贡献的定义搞清楚。因为知道了选点的先后顺序,可以dfs递归其他联通块。然而是不能直接暴力dfs的,因为这不是点分,每次找根不是重心,直接dfs会TLE。 还要注意每个联通块的根不是直接和上一层根相连的点。 可以倒过来做,每次合并,用并查集维护,更加好写。 根据定义,每个联通块...

执子之手,与子偕老 1968

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Atcoder ARC115 F - Migration

ARC115F Migration 题解

CCX_CoolMint的博客 162

ARC062F AtCoDeerくんとグラフ色塗り / Painting Graphs with AtCoDeer Burnside 引理

题目传送门 https://atcoder.jp/contests/arc062/tasks/arc062_d 题解 首先对整张图做 Tarjan 点双。 对于一个点双,如果是由一条边构成的,那么很显然就是 \(K\) 种方案。 如果是由一个单环构成,可以直接使用 Burnside 引理,假设这个环的长度为 \(l\),则这个单环的贡献就是 \(\frac{\sum \limits_{i...

weixin_30455023的博客 282

【AtCoder】【ARC064F】Rotated Palindromes

Description 求有多少个序列满足以下条件: 1. 序列有n位; 2. 序列的每位为1~m之间的整数; 3. 这个序列经过旋转以后可以变成一个回文串; Solution 这是一个悲惨的故事…..想了一天多,一直在想怎么减掉不合法的,最后一怒之下瞄了一眼(真的就是瞄一眼)标程,咦标称是直接统计耶,下一瞬间: WOC这不是大水题吗 对于每个回文串,假设它旋转了x次以后第一...

705

ARC094F Normalization

原题链接:https://beta.atcoder.jp/contests/arc094/tasks/arc094_d Normalization Problem Statement You are given a string SSS consisting of ‘a’,’b’ and ‘c’. Find the number of strings that can be possib...

ShadyPi的IT笔记 600

[容斥 状压DP] Atcoder ARC093 F - Dark Horse

wwwww比赛的时候题目看错了 假设我们确定的1的位置,那么接下来的每一轮,1都会和一段长度为2的幂的区间里,标号最小的人pk。 把1固定在1位置(求出最终方案数后乘上 2n2n2^n 就是答案),那么就相当于区间 [2,2][2,2][2,2],[3,4][3,4][3,4],[5,8][5,8][5,8]…[2n−1+1,2n][2n−1+1,2n][2^{n-1}+1,2^n] 里的最小...

CE玩家 856

AtCoder Regular Contest 060(D - 桁和 / Digit Sum,数学规律)

题目描述: D - 桁和 / Digit Sum Time Limit: 2 sec / Memory Limit: 256 MB Score :500500points Problem Statement For integersb(b≥2)b(b≥2)andn(n≥1)n(n≥1), let the functionf(b,n)f(b,n) be define...

又菜又爱玩 346

AtCoder Regular Contest 100

C.傻逼题 #include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #define gc getchar() #define lint long long #define debug(x) cerr&lt;&lt;#x&lt;&lt;"="&

Mys_C_K的博客 353

常用算法代码模板与题单 | 0 - 模拟(更新于2026.10.7)

这篇文档其实是我自己学习路上的一份“复习笔记”。之前看了不少教程,零零散散记了一堆代码片段和小技巧,时间久了就容易忘,翻起来也麻烦。所以干脆花时间整理了一下,把常用的模板、容易踩的坑、还有一些个人觉得挺实用的小技巧都归到了一起。 如果你也在学类似的东西,或许能帮你省下一些翻找的时间;如果有哪里写得不清楚或不对,也欢迎随时指正交流。 希望这份整理也能对你有一点点帮助~ ✨

团爸讲算法 1461

AtCoder Grand Contest 019 B - Reverse and Compare

题意: 可以选择一个子串翻转一次 能得到多少个不同的串做法: 考虑一个串的首尾是相同的字母 假设它的长度为n 那么翻转[1,n] 等价于 翻转[2,n-1] 所以忽略掉翻转[1,n]的情况问题就转化为求有多少对相同的字母 总共可翻转的选择减去这些情况就是答案#include <iostream> #include <algorithm> #include <sstream> #incl

sb的博客 407

atcoder reguler contest 089 E graph xy

构造一个满足下列条件的有向图: 1. 顶点数不超过 300300300,其中有一个源点 SSS 和一个汇点 TTT 2. 没有重边和自环 3. 顶点由 111 至 NNN 编号 4. 每条边的权值 ∈[0,100]∈[0,100]\in [0, 100],也可以是一个标签 XXX 或 YYY 5. 对于给定的每一对满足 x∈[1,A],y∈[1,B]x∈[1,A],y∈[1,B]x \i...

tata_d2的博客 482
上一篇: 【UOJ 351】新年的叶子
下一篇: 【AtCoder】【AGC009E】Eternal Average
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值