HDU5086Revenge of Segment Tree(数论)

题目链接

题目大意:给出长度为n的数组。然后要求累计里面的每一个子串的和。

解题思路:枚举起点和终点,推断每一个数属于多少条线段。那么这个数就要被加这么多次。能够得出每一个位置被加次数的公式: i (n - i + 1);那么结果就是累计(arr[i] i) mod * (n - i + 1) % mod,注意两个数相乘可能会超出long long型的数。

代码:

#include <cstdio>
#include <cstring>typedef long long ll;const int maxn = 1e6;
const ll mod = 1e9 + 7;ll arr[maxn];int main () {int T, n;scanf ("%d", &T);while (T--) {scanf ("%d", &n);    for (int i = 1; i <= n; i++)scanf ("%I64d", &arr[i]);ll ans = 0;for (int i = 1; i <= n; i++) ans = (ans + (arr[i] * i % mod) * (n - i + 1) % mod) % mod;printf ("%I64d\n", ans);    }return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

HDU5086Revenge of Segment Tree(数论)相关推荐

  1. C++Persistent segment tree持久段树的实现算法(附完整源码)

    C++Persistent segment tree持久段树的实现算法 C++Persistent segment tree持久段树的实现算法完整源码(定义,实现,main函数测试) C++Persi ...

  2. C语言实现段树segment tree(附完整源码)

    C语言实现段树segment tree 段树结构体定义 实现以下6个接口 完整实现和main测试源码 段树结构体定义 typedef struct segment_tree {void *root; ...

  3. Segment Tree

    Leetcode上一道题,给定一个整数数组,要实现: 求[i, j]所有元素的和,0 <= i <= j <= n - 1,sumRange(i, j) 数组的元素会被修改, upd ...

  4. 【线段树】Segment Tree

    Segment Tree 时间限制: 1 Sec  内存限制: 512 MB 提交: 107  解决: 23 [提交] [状态] [命题人:admin] 题目描述 Mcginn opens the c ...

  5. HDURevenge of Segment Tree(第二长的递增子序列)

    HDURevenge of Segment Tree(第二长的递增子序列) 题目链接 题目大意:这题是求第二长的递增子序列. 解题思路:用n^2的算法来求LIS,可是这里还要记录一下最长的那个序列是否 ...

  6. Segment Tree Beats 区间最值问题

    Segment Tree Beats 区间最值问题 线段树一类特殊技巧! 引出:CF671C Ultimate Weirdness of an Array 其实是考试题,改题的时候并不会区间取最值,区 ...

  7. poj 2892 Tunnel Warfare (Splay Tree instead of Segment Tree)

    poj.org/problem?id=2892 poj上的一道数据结构题,这题正解貌似是Segment Tree,不过我用了Splay Tree来写,而且我个人认为,这题用Splay Tree会更好写 ...

  8. codeforces EDU segment tree

    本文以codeforces EDU segment tree为资料 content introdcution problems & solutions A. Sign alternation ...

  9. BZOJ.4695.最假女选手(线段树 Segment tree Beats!)

    题目链接 区间取\(\max,\ \min\)并维护区间和是普通线段树无法处理的. 对于操作二,维护区间最小值\(mn\).最小值个数\(t\).严格次小值\(se\). 当\(mn\geq x\)时 ...

最新文章

  1. 计算机网络 陆魁军 ppt,计算机网络的应用基础概述.doc
  2. python微信机器人部署服务器_玩法收藏/云服务器/零基础微信机器人实践( Python )...
  3. Redis工作笔记-spring-data-redis的基本使用
  4. 结构化数据抽取成三元组_干货丨AI在数据防泄漏中的应用——知识图谱之知识抽取...
  5. 操作系统锁的实现方法有哪几种_java 偏向锁、轻量级锁及重量级锁synchronized原理...
  6. 一次频繁Full GC问题排查过程分享
  7. 【转】关于浮点数的精度与取值范围的问题
  8. 离线CSDN网页打开跳转首页的解决方法
  9. 数据结构C语言版 学习整理
  10. 延时消抖c语言,蓝桥杯练习(二)按键的使用和延时消抖
  11. 路由器的虚拟服务器干嘛用的,dmz和虚拟服务器(tp路由器虚拟服务器能干嘛)...
  12. Snaker-Designer在Eclipse中的安装和使用
  13. 服务器主板2个芯片供电端短路了,笔记本主供电短路维修思路
  14. Mac版Sublime Text3搭建c语言环境
  15. CAD镜像一个实体对象
  16. VSCode,插件安装失败,解决方法
  17. 【个人网站搭建】GitHub pages+hexo框架下为next主题添加分类及标签
  18. hadoop 错误锦集
  19. 快递取件码生成软件_一种分布式的取件码生成方法技术
  20. 空中网参展2018CJ 军武游戏盛宴即将拉开帷幕

热门文章

  1. elasticsearch问题解决之分片副本UNASSIGNED
  2. “fatal error C1010”错误解决的三种方法
  3. 解决matplotlib的中文问题
  4. 如何在Node.js上的Express.js中获取GET(查询字符串)变量?
  5. 电脑经常死机是什么原因
  6. 电脑重装系统需要全盘格式化吗?这个事项需要看情况
  7. 电脑一直弹出传奇游戏网页弹窗怎么办
  8. python分割文件为小文件_Python实现将一个大文件按段落分隔为多个小文件的简单操作方法...
  9. java date eee_java将 Date原始格式EEE MMM dd HH:mm:ss Z yyyy转成指定格式
  10. python命名时可以使用中文吗_Python命名约定