Processing math: 100%
博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

[JZOJ 5860] 荒诞

思路:
头皮发麻的操作...

理解一下题意会发现:排名为i的前缀正好是第i个前缀。

所以问题就变成了求1>len的平方和,注意取模即可。

#include <bits/stdc++.h>
using namespace std;
int n;
const int mod = 1e9+7;
long long ans;
char s[1000010];
int main () {
	freopen("absurdity.in","r",stdin);
	freopen("absurdity.out","w",stdout);
	cin >> n;
	scanf("%s",s+1);
	int len = strlen(s + 1);
	for(int i = 1;i <= len; ++i) {
		ans = ans + ((long long)i * i % mod);
		ans %= mod;
	}
	printf("%lld\n",ans);
	return 0;
}

posted @   Allorkiya  阅读(139)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件
点击右上角即可分享
微信分享提示