题解:P10329 [UESTCPC 2024] Add
Add
题意
将序列进行一系列的操作,输出对 \(a_{1}\) 的期望值。
题目中操作说的比较明了,再次就不特殊声明了。
思路
据题意所知,每一个 \(n\) 应该对应了一个固定的答案。
于是我就想到可以打表,就打出了下面的式子。
n=1时 ans=1
n=2时 ans=5
n=3时 ans=14
n=4时 ans=30
n=5时 ans=55
我发现这些数不一般,仔细观察后,发现这些数是平方数的和。
即 \(1^{2}+2^{2}+3^{2}+\dots +n^{2}\)。
那么只要计算并化简即可。
答案证明
将 \(a_{x}\) 代入到 \(a_{y}\) 中得贡献为 \(2x^{2}+2xy\)。
则总贡献为 \(1(2x^{2}+2xy)+2(2x^{2}+2xy)+3(2x^{2}+2xy)+\dots+(x-1)(2x^{2}+2xy)=x^{3}-x\)。
于是答案为 \(1( \frac{x^{3}-x }{x-1})+2( \frac{x^{3}-x }{x-1})+\dots +x( \frac{x^{3}-x }{x-1})\)。
则答案化简后为为 $\frac{n(n+1)(2n+1)}{6} $。
代码
#include<bits/stdc++.h>
using namespace std;
const long long mod=998244353;
long long t,a,b,n;
int main(){
cin>>t;
while(t--){
cin>>n;
a=(n*n+n)/2,b=2*n+1;
if(a%3)b/=3;
else a/=3;
cout<<(a%mod)*b%mod<<endl;
}
return 0;
}
题解:P10329 [UESTCPC 2024] Add的更多相关文章
- [LeetCode 题解]: Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- 【题解】【链表】【Leetcode】Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- leetcode 题解 Add Two Numbers(两个单链表求和)
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- leetcode题解2. Add Two Numbers
题目: You are given two non-empty linked lists representing two non-negative integers. The digits are ...
- 《LeetBook》LeetCode题解(2):Add Two Numbers [M]
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
- [LeetCode] Add Two Numbers题解
Add Two Numbers: You are given two non-empty linked lists representing two non-negative integers. Th ...
- LeetCode题解——Add Two Numbers
题目: 两个数字求和,数字用链表表示,每一个结点代表一位.链表顺序与数字顺序相反,即表头存放数字的最低位. 解法: 分别遍历两个链表的每个结点,对两个结点求和即可.要维护一个变量保存每次相加之后的进位 ...
- Lintcode221 Add Two Numbers II solution 题解
[题目描述] You have two numbers represented by a linked list, where each node contains a single digit. T ...
- LeetCode 题解之Add Digits
1.问题描述 2.问题分析 循环拆分数字,然求和判断. 3.代码 int addDigits(int num) { ) return num; int result = num; do{ vector ...
- LeetCode题解之Add Strings
1.题目描述 2.问题分析 直接按照加法运算规则运算即可,注意进位问题. 3.代码 string addStrings(string num1, string num2) { if( num1.emp ...
随机推荐
- MindSponge分子动力学模拟——多路径分子模拟(2024.05)
技术背景 在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用.定义分子系统.计算单点能和迭代器等等 ...
- Android 13 - Media框架(29)- MediaCodec(四)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了如何通过 onInputBufferAvailable 和 getInputBuffer 获取到 input buffer inde ...
- Java爬虫-爬取疫苗批次信息
今年3月份开始,就接到通知, 根据<关于开展有关人群第二剂次脊髓灰质炎灭活疫苗补种工作的通知>国疾控卫免发[2024]1号文件要求,在2016年3月1日至2019年9月30日之间出生的儿童 ...
- MySQL 导出一条数据的插入语句
1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一 ...
- C# 利用Autofac批量接口注入依赖【学习记录】
背景: 本人在一位大佬的Colder框架中看到了这个接口注入,然后呢就想学习一下ioc思想与di设计模式.此写法给我的感觉就是 非常的 优雅 ,优雅永不过时.关于接口注入的概念和ioc和di具体是什么 ...
- lxl学长讲课笔记
lxl 学长讲课笔记 常数种可能性的状态 通过预先处理多种状态的信息,从而快速的转换状态. 经典操作:flip. 分析信息的思路 利用线段树 利用线段树的时候,如何合并两个分支区间的信息,我们需要有如 ...
- CSP-S2023 题解
CSP-S 2023 题解 密码锁 发现总状态数只有 \(10^5\) 个,枚举 \(O(n)\) 暴力判断即可,复杂度 \(O(10^5 n)\). 或者每一个状态只对应了 \(81\) 个状态,枚 ...
- IDEA:java: Compilation failed: internal java compiler error
java: Compilation failed: internal java compiler error 解决方法: 1.打开菜单 ,File - Project Structure - Proj ...
- Mysql主机环境导入导出数据
mysql数据库,在主机环境下导出数据为csv文件. 命令:select * into outfile '/mysql/11.csv' from 表; 可能会报错:ERROR 1290 (HY000) ...
- 网站_域名_DNS_端口_web访问过程
网站基本概念 服务器:能够提供服务器的机器,取决于机器上所安装的服务软件 web服务器:提供web服务(网站访问),需要安装web服务软件,Apache,tomcat,iis等 域名 (Domain ...