Content

设 \(S_k\) 为直线 \(f(x)=kx+k-1\),直线 \(f(x)=(k+1)x+k\) 与 \(x\) 轴围成的三角形的面积。现在给出 \(t\) 组询问,每组询问给定一个整数 \(n\),求 \(\sum\limits_{i=1}^n S_i\)。结果用分数表示。

数据范围:\(1\leqslant t\leqslant 2\times 10^6.0\leqslant n\leqslant 2\times 10^6\)。

Solution

很简单的一道找规律题目。

我们发现,形如 \(f(x)=kx+k-1\) 的直线都会经过 \((-1,-1)\) 这个点。我们再稍微画几个图就能够发现,题目所要求的东西,无非就是以 \((0,0),(-1,-1)\) 以及最后一个 \(S_i\),也就是 \(S_n\),被约束的后一条直线 \(f(x)=(n+1)x+n\) 与 \(x\) 轴的点为三个顶点的三角形的面积罢了。而且很容易发现,我们的三角形如果以在 \(x\) 轴上的边为底边的话,它的高自然就是 \(1\)。再说,这条 \(x\) 轴上的边也很容易求出来:只需要求 \(f(x)=(n+1)x+n\) 这条直线与 \(x\) 轴的交点,再取个绝对值就好了。我们很容易求出上面所说的那条直线与 \(x\) 的交点为 \((-\dfrac{n}{n+1},0)\)。所以那条底边的长度就是 \(\dfrac{n}{n+1}\)。

因此,这道题目的答案,也就是 \(\sum\limits_{i=1}^nS_i=\begin{cases}0&n=0\\\dfrac{n}{2(n+1)}&n>0\end{cases}\)。注意:

  • \(n=0\) 的时候,显然无法构成一个三角形,因此面积为 \(0\)。
  • 注意约分,直接将分子和分母同时除以它们的最大公约数(也就是 \(\gcd\{n,2(n+1)\}\))就好。

只是一时兴起想做道题目,不意味着正式回归。

但是,请等着我。(本文章原文写于 2020 年 12 月 27 日——笔者注

Code

请注意 \(\textsf{NOI}\) 系列赛事不支持 algorithm 库的 __gcd 函数。建议自己写个 gcd 函数,反正又不难,对吧?

什么,要 gcd 函数?下面:

int gcd(int a, int b) {return !b ? a : gcd(b, a % b);} //数据类型根据实际情况适当调整

下面的是正式的代码,注意直接拿这个代码编译是不会通过的。

#include <bits/stdc++.h>
using namespace std; int t, n; int main() {
scanf("%d", &t);
while(t--) {
scanf("%d", &n);
if(!n) puts("0");
else printf("%d/%d\n", n / gcd(n, 2 * (n + 1)), 2 * (n + 1) / gcd(n, 2 * (n + 1)));
}
return 0;
}

LuoguP7127 「RdOI R1」一次函数(function) 题解的更多相关文章

  1. 「POI2011 R1」Conspiracy

    「POI2011 R1」Conspiracy 解题思路 : 问题转化为,将点集分成两部分,其中一部分恰好组成一个团,其中另一部分恰好组成一个独立集. 观察发现,如果求出了一个解,那么答案最多可以在这个 ...

  2. LOJ #2541. 「PKUWC 2018」猎人杀(容斥 , 期望dp , NTT优化)

    题意 LOJ #2541. 「PKUWC 2018」猎人杀 题解 一道及其巧妙的题 , 参考了一下这位大佬的博客 ... 令 \(\displaystyle A = \sum_{i=1}^{n} w_ ...

  3. LOJ #2540. 「PKUWC 2018」随机算法(概率dp)

    题意 LOJ #2540. 「PKUWC 2018」随机算法 题解 朴素的就是 \(O(n3^n)\) dp 写了一下有 \(50pts\) ... 大概就是每个点有三个状态 , 考虑了但不在独立集中 ...

  4. 「GXOI / GZOI2019」简要题解

    「GXOI / GZOI2019」简要题解 LOJ#3083. 「GXOI / GZOI2019」与或和 https://loj.ac/problem/3083 题意:求一个矩阵的所有子矩阵的与和 和 ...

  5. 【题解】#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT)

    [题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现, ...

  6. 「POJ 3666」Making the Grade 题解(两种做法)

    0前言 感谢yxy童鞋的dp及暴力做法! 1 算法标签 优先队列.dp动态规划+滚动数组优化 2 题目难度 提高/提高+ CF rating:2300 3 题面 「POJ 3666」Making th ...

  7. [LOJ 2022]「AHOI / HNOI2017」队长快跑

    [LOJ 2022]「AHOI / HNOI2017」队长快跑 链接 链接 题解 不难看出,除了影响到起点和终点的射线以外,射线的角度没有意义,因为如果一定要从该射线的射出一侧过去,必然会撞到射线 因 ...

  8. Note -「动态 DP」学习笔记

    目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...

  9. 前端构建工具之gulp(一)「图片压缩」

    前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

随机推荐

  1. 花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

    本文所有内容均节选自<设计模式就该这样学> 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称&l ...

  2. 多线程02.继承Thread类

    package chapter2; /** * 1.使用static虽然完成了当前的功能. * 但是static的生命周期比较长,需要在所有线程执行完成后才会结束. * 还有号没有按照顺序进行打印 * ...

  3. setoolkit的钓鱼实验

    1.在kali中打开setoolkit 2.在菜单中选择第一个进入社会工程学攻击 3.选择第二个模块属于网站攻击向量 4.选择第五个模块,进行web劫持攻击 5.选择第二个,进行网站克隆 6.发现访问 ...

  4. 面试官:Java 线程如何启动的?

    摘要:Java 的线程创建和启动非常简单,但如果问一个线程是怎么启动起来的往往并不清楚,甚至不知道为什么启动时是调用start(),而不是调用run()方法呢? 本文分享自华为云社区<Threa ...

  5. 数值分析:矩阵奇异值分解(Numpy实现)

    1. 奇异值分解(SVD) (1)奇异值分解 已知矩阵\(\bm{A} \in \R^{m \times n}\), 其奇异值分解为: \[\bm{A} = \bm{U}\bm{S}\bm{V}^T ...

  6. Oracle、MySQL关机操作步骤

    一.Oracle数据库单机关机(eg:LEAP系统) 先关闭使用数据库的应用系统,再关闭数据库 关闭数据库执行以下命令 1.关闭Oracle数据库监听器:(使用操作系统下管理Oracle的账户,关闭监 ...

  7. EXCEL excel中运用ctrl+D、ctrl+enter、ctrl+E批量填充数据

    在excel中,利用鼠标拖动可以快速向下或者向右填充序列或者复制单元格.但是利用快捷键也可以实现多种填充方式,本文就为大家介绍一些ctrl系列快捷键的填充,一起来看看吧. 封面tu 一,ctrl+D/ ...

  8. PhantomJS的安装和使用

    PhantomJS是一个无界面的.可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作.CSS选择器.JSON.Canvas以及SVG.Selenium支持PhantomJS,这样 ...

  9. 19. awk 命令详解

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  10. 论文解读(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》

    论文题目:<GraRep: Learning Graph Representations with Global Structural Information>发表时间:  CIKM论文作 ...