http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1009&cid=832

Problem Description

In the world line 1.048596%

“雪啊。”

“雪是红色的。”

像坏掉的复读机一样,梓川咲太只能把闪烁的思绪断断续续的说出来。

“这,是梦吧。”

从口中滑出的却是这样的话。

回过神的时候,天空即将被冰冷黑暗的天空吞没,而自己已经站在湘南台站附近的图书馆的门口。那是第一次遇见樱岛麻衣的地方,是一切的开端。

无所谓了,已经没有可以称为家而能回去的地方了。就在梓川咲太开始自暴自弃的躺在地上任由黑暗吞噬的时候。

眼前突然出现了穿着白大褂的年轻女子,在昏暗的路灯下,随风飘扬的似乎是红色的秀发。

“不要去轻易的改变过去。”开口便是这么难懂的话。

“打个比方,对于一个长度为n,所有元素都为0的数列。每次操作都选取一个位置,使得从这个位置往后都变成1,4,9,16...i^2 ”

“不可思议啊,为什么我一直在,为什么你们,一直在让我做这种数学题。”梓川咲太快濒临崩溃了。

“为了拯救樱岛麻衣和牧之原翔子。这样的理由够充分吗?”那位女子的一句话,让咲太的精神从深海下看到一束光。

“你能计算出经过这么多次操作以后变得面目全非的数列的和吗?”

“不可随便改变过去,就刚才那个比方来说,如果有很多次这样的操作,那么这个数列的和也很难计算吧。”

“可你现在就是面临这个问题哦。计算出那个数列的和,你一定能够知道答案。”这是只有拥有确信的心的人才能说出来的话。

“算出来以后呢。”梓川咲太还需要最后一块拼图。

“去找牧之原翔子吧,一切因她而始,也必定一切因她而终。”

时间的流动在慢慢的将咲太唤回现实。

“许多失败了的未来,无法挽回的过去,但是肯定在这之后,会有连接到......”

熟悉的话语再次传来。但话语的主人已经消失在夜空里。

Input

第一行输入一个数字T(T<=10)表示数据有多少组;

每一组数据第一行包含两个整数n(1<=n<=1e9),Q(Q<=5e4),分别表示数列的长度以及操作的个数。

接下来的Q个数按照操作的时间顺序给出每次操作选择的位置.

Output

输出一个数字表示这个数列的和,由于答案可能很大,所以你需要将答案mod 123456789。

Sample Input

1 3 2 3 1

Sample Output

14

思路:

这道题有多次询问,我们可以将询问都存起来,然后倒着执行,因为后一个操作会覆盖前面的操作因此,最后一个执行的一定没有被覆盖,而倒数第二个的操作,有两种可能一是在上一个操作的区间内部,那么我们就跳过这一次操作。二是他的操作区间比最后一次还要长,那么这次操作区间就是,从这次的起点开始,到上一次的中点结束。就这段区间的和,就可以借助公式了。

这里的数会很大,因此我们需要借助取余操作,一开始想的是求逆元,但是发现这里求不出逆元,后来经zxz大佬的提醒想起了另一种做法。就是可以用这个公式x/d%k=x%(d*k)/d。

ac代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<map>
#include<string.h>
#define ll long long
#define ull unsigned long long
#define mod 123456789
using namespace std;
ll cal(ll x)
{return (((x*(x+1))%(mod*6)*(2*x+1))%(mod*6))/6;
}
int n;
int a[1010101],num[1010101];
int main()
{int t;scanf("%d",&t);while(t--){    int  q,n;scanf("%d%d",&n,&q);for(int i=0;i<q;i++){cin>>a[i];}ll ans=0,ed=n;for(int i=q-1;i>=0;i--){if(a[i]<ed){ans=(ans+cal(ed-a[i]+1))%mod;ed=a[i]-1;}}cout<<ans%mod<<endl;}return 0;
}

【2018年广东工业大学文远知行杯新生程序设计竞赛】灰暗而空虚的景色β相关推荐

  1. 2018年广东工业大学文远知行杯新生程序设计竞赛 1001 文远知行β

    Problem Description "上一个国家的人真的是好心呢." 在山脉群之间,是一片宽广平坦的大地.被草木覆盖的绿意,顺着灰色的山间延伸. 摩托车(注:两轮的车子,尤其是 ...

  2. 2018年广东工业大学文远知行杯新生程序设计竞赛 1006 那天的延长线在今天β...

    Problem Description In the world line 1.048596% "梓川......今天是第几次了?" 双叶理央正在摆弄虹吸式咖啡壶,她看梓川咲太的目 ...

  3. 2018年广东工业大学文远知行杯新生程序设计竞赛 1006 那天的延长线在今天β

    Problem Description In the world line 1.048596% "梓川......今天是第几次了?" 双叶理央正在摆弄虹吸式咖啡壶,她看梓川咲太的目 ...

  4. 2018年广东工业大学文远知行杯新生程序设计竞赛 1010 温柔的手彼此相系β

    Problem Description In the world line 1.048596% 回到了比过去还遥远的过去,拯救了牧之原翔子和樱岛麻衣后,世界重归平静. 时间转眼就到了正月新年.梓川咲太 ...

  5. 2018年广东工业大学文远知行杯新生程序设计竞赛 1004 明日会吹明日的风β

    Problem Description In the world line 1.048596% "为了帮助笨蛋梓川利用程序来解决青春期症候群的问题,我觉得有必要你给你普及一下C语言的内存知识 ...

  6. 2018年广东工业大学文远知行杯新生程序设计竞赛 1007 活在无尽梦境的后续 β...

    Problem Description In the world line 1.048596% --咲太小弟,我认为啊,人生是为了变温柔而存在的. --为了达到『温柔』这个目标,我努力活到现在. 在梓 ...

  7. 2018年广东工业大学文远知行杯新生程序设计竞赛 1012 只有我不在的世界β

    Problem Description In the world line 1.048596% 现在可不是失落的时候,自己还有能够依靠的人. 麻衣一定会找到我的--梓川咲太如此坚信着. 所以,他不会就 ...

  8. 2018年广东工业大学文远知行杯新生程序设计竞赛 1007 活在无尽梦境的后续 β

    Problem Description In the world line 1.048596% --咲太小弟,我认为啊,人生是为了变温柔而存在的. --为了达到『温柔』这个目标,我努力活到现在. 在梓 ...

  9. 2018年广东工业大学文远知行杯新生程序设计竞赛 1013 在那天的雪停息之前β

    Problem Description In the world line 1.048596% 麻衣的鲜血逐渐将洁白而冰冷的绒毯染成鲜红...... 鲜红...... 究竟是多少次看到这样的情境呢?梓 ...

最新文章

  1. 数字货币EOS半年时间暴跌90%多,还可追捧吗?
  2. 【问题解决】ESP32 Brownout detector was triggered,log报错Brownout解决方法
  3. Java获取近七天的数据条数,及页面实现折线图(附前后端代码)
  4. 【Linux网络编程】并发服务器之多线程模型
  5. pstools psexec 执行文件
  6. 错误消息 parent.relativePath points at wrong local POM的处理方法
  7. Arm架构下VUE环境的安装
  8. MATLAB求线性代数的参数范围,MATLAB科学计算04(线性代数问题求解一)
  9. 2020教育OMO模式落地应用研究报告
  10. Atom飞行手册翻译: 3.6 图标
  11. app 模拟器抓包 burpsuite_来看黑客是如何使用Proxifier+burpsuite代理https协议数据包...
  12. java 编码格式 utf 8_关于java生成UTF-8编码格式文件的诡异问题
  13. 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》—第3章3.4节识别在线设备...
  14. docker 定时重启脚本_群晖docker容器定时自动重启
  15. 全国职称计算机题库视频,全国职称计算机考试题库模拟训练—windowsXP
  16. ts视频合并---P站
  17. 已发送邮件如何撤回?
  18. PHP笔记03-数组1
  19. 人脸核身--第二篇--启用 H5人脸认证
  20. C++中的dynamic_cast和dynamic_pointer_cast

热门文章

  1. 贪心——绝对值不等式——货仓选址
  2. 当前中国计算机硬件发展情况,中国计算机硬件技术发展与展望.doc
  3. 7种延迟加载javascript方法(转)
  4. 基于Predictive Parsing的ABNF语法分析器(十二)——alternation、concatenation、group和option
  5. unity中的渲染优化技术
  6. 第二十章 : 正则表达式
  7. webpack转化es6语法
  8. ElasticSearch(2)
  9. 中英互译词典(二叉搜索树)
  10. android 错误中英互译,中英文翻译器应用的官方Android版本v3.1.1