C++语法 存储类说明符
C++语法 存储类说明符 存储类说明符用于定义 C++ 程序中变量/函数的范围(可见性)和生命周期。 关键字 含义 auto (C++11 前)这是默认的存储类说明符,通常可以省略不写。auto 指定的变量具有自动存储期,即它们的生命周期仅限于定义它们的块 extern 用于声明具有外部链接的变量或函数,它们可以在多个文件之间共享。详见 link static 用于定义静态变量,表示该变量的作用域仅限于当前文件或当前函数内,不会被其他文件或函数访问。 mutable (C++11 起)表示类中的成员变量可以在 const 成员函数中被修改。 thread_local (C++11 起)用于定义具有线程局部存储期的变量,每个线程都有自己的独立副本。线程局部变量的生命周期与线程的生命周期相同。 register (C++17 前)用于定义寄存器变量,表示该变量被频繁使用,可以存储在CPU的寄存器中,以提高程序的运行效率。 实例: #include <iostream> // 全局变量,具有外部链接,默认存储类为extern in...
洛谷P3750 [六省联考 2017] 分手是祝愿 题解
洛谷P3750 [六省联考 2017] 分手是祝愿 题解 题目链接:P3750 [六省联考 2017] 分手是祝愿 题意: 有一个长度为 \(n\) 的 01 串,下标编号 \(1\) 到 \(n\)。对位置 \(p\) 操作一次可以使所有编号为 \(p\) 的约数的位置 \(0\) 变 \(1\),\(1\) 变 \(0\)。目标是使所有位置变成 \(0\)。B 君先随机操作若干次,等到当前局面可以在 \(k\) 次操作以内达成目标时就使用最优策略,达成目标后结束操作。求期望操作次数。 这个期望可能很大,但是 B 君发现这个期望乘以 \(n\) 的阶乘一定是整数,所以他只需要知道这个整数对 \(100003\) 取模之后的结果。 输入格式: 第一行两个整数 \(n, k\)。 接下来一行 \(n\) 个整数,每个整数是 \(0\) 或者 \(1\),其中第 \(i\) 个整数表示第 \(i\) 个灯的初始情况。 输出格式: 输出一行,为操作次数的期望乘以 \(n\) 的阶乘对 \(100003\) 取模之后的结果。 数据范围: 对于 \(100\%\) 的测试点,\(1 \...
C++语法 extern 关键字
C++语法 extern 关键字 懒得写了,到处去搬资料过来。 变量声明向编译器保证变量以给定的类型和名称存在 这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译 变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。 当你使用多个文件且只在其中一个文件中定义变量时,变量声明就显得非常有用。 你可以使用 extern 关键字在任何地方声明一个变量。(但是定义变量的文件在程序连接时必须是可用的) 注意,变量的声明不等于变量的定义。 虽然你可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。 在C语言中,修饰符 extern 用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。 1. extern修饰变量的声明 如果文件 a.c 需要引用 b.c 中变量 int v,就可以在 a.c 中声明 extern int v ,然后就可以引用变量 v。 这里需要注意的是,被引用的变量 v 的链接属性必须是外链接(external)的 也就是说 a.c 要引用到 v,不只是取决于在a.c中声明 ex...
C++语法 enum类型(枚举类型)
C++语法 enum类型(枚举类型) enum { red, green, blue } c; enum { id = 10, val = 1000, what } tmp; enum 类型可以比较方便地将 特定标识符 与 值 对应上,便于阅读。 介绍: 枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。 所谓”枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。 创建枚举,需要使用关键字 enum。枚举类型的一般形式为: enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数] } 枚举变量; 如果枚举没有初始化,即省掉=整型常数时, 则从第一个标识符开始。 如果枚举没有枚举名,则无法通过 typename::value 调用标识。 例如,下面的代码定义了一个颜色枚举,变量 c 的类型为...
洛谷P1291 [SHOI2002] 百事世界杯之旅 题解
洛谷P1291 [SHOI2002] 百事世界杯之旅 题解 题目链接:P1291 [SHOI2002] 百事世界杯之旅 题意: 假设有 \(n\) 个不同的球星名字,每个名字出现的概率相同,平均需要买几瓶饮料才能凑齐所有的名字呢? 输入格式: 输入只有一行一个整数,表示不同球星名字的个数 \(n\)。 输出格式: 输出凑齐所有的名字平均需要买的饮料瓶数。如果是一个整数,则直接输出,否则应该直接按照分数格式输出,例如五又二十分之三应该输出为: 3 5-- 20 第一行是分数部分的分子,第二行首先是整数部分,然后是由减号组成的分数线,第三行是分母。减号的个数应等于分母的位数。分子和分母的首位都与第一个减号对齐。 分数必须是不可约的。 数据范围: 对于全部的测试点,保证 \(2 \leq n \leq 33\)。 这道题和 SP1026 FAVDICE - Favorite Dice 基本上是同一道题。 那么这篇题解来讲讲另一种解法吧(其实是另一种推式子的方法)。 设 \(f_i\) 为买到任意 \(i\) 种名字的期望花费,考虑转移 \[ f_i = \frac{i}{n}...
Matery 主题 Hexo 7.0.0以上 代码高亮问题
Matery 主题 Hexo 7.0.0以上 代码高亮问题 本人已更换主题,该文章不再维护。 本人在随便更新到 Hexo 7.2.0 后,代码框全部变成了这个鸟样子 我的博客主题是几年前的那个版本,也就是 v2.0.0 。 实际上这几年主题官方有在更新和修bug,不过没有发 Releases 。 好,那么现在该怎么办呢。首先打开根目录的 _config.yml ,找到你的代码高亮配置,把它改成 syntax_highlighter: prismjs # or highlight.js highlight: enable: false line_number: true auto_detect: false tab_replace: '' wrap: true hljs: false prismjs: enable: true preprocess: true line_number: false tab_replace: '' 主要变动是第一行,Hexo 7.0.0 以上需要这一行,另外经过我的测试,下面的 enable 仍需保留。 ...
洛谷P1110 [ZJOI2007] 报表统计 题解
洛谷P1110 [ZJOI2007] 报表统计 题解 题目链接:P1110 [ZJOI2007] 报表统计 题意: 小 Q 的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小 Q 希望可以帮妈妈分担一些工作,作为她的生日礼物之一。 经过仔细观察,小 Q 发现统计一张报表实际上是维护一个非负整数数列,并且进行一些查询操作。 在最开始的时候,有一个长度为 \(n\) 的整数序列 \(a\) ,并且有以下三种操作: INSERT i k:在原数列的第 \(i\) 个元素后面添加一个新元素 \(k\);如果原数列的第 \(i\) 个元素已经添加了若干元素,则添加在这些元素的最后(见样例说明)。 MIN_GAP:查询相邻两个元素的之间差值(绝对值)的最小值。 MIN_SORT_GAP:查询所有元素中最接近的两个元素的差值(绝对值)。 于是小 Q 写了一个程序,使得程序可以自动完成这些操作,但是他发现对于一些大的报表他的程序运行得很慢,你能帮助他改进程序么? 输入格式: 第一行包含两个整数,分别表示原数列的长度 \(n\) 以及操作的次数 \(m\)。 第二行为 \(...
note[17]
note[17] 题:任意一个星形,五个三角形,外接圆交于五点 \(K,L,M,N,O\) 。求证:这五点共圆。 证明: 作辅助线 \(JN,IN,DN\) 。 因为 \(J,I,N,E\) 四点共圆,所以 \(\angle EJN = \angle EIN\) (圆周角等于两倍圆心角) 因为 \(J,N,D,H\) 四点共圆,所以 \(\angle EIN = \angle NDH\) (四点共圆的性质,对角互补) 则 \(\angle EJN = \angle NDH\) ,因此 \(J,N,D,B\) 四点共圆。同理可知 \(J,D,B,K\) 四点共圆。 所以 \(J,N,D,B,K\) 五点共圆。再作辅助线 \(KB,KL,KN,ML,MN,LG,HM\) 。 因为 \(\angle LMH = 180^{\circ} - \angle LGH = \angle LGB = \angle BKL\) 又因为 \(\angle NMH = \angle NDH = 180^{\circ} - \angle BKN = 180^{\circ} - \an...
小蓝书 3.1 题解
小蓝书 3.1 题解 传送门:小蓝书 3.1 例题 例1 函数 \(y = \dfrac{2x^2 \cos\left(\frac{\pi}{2} - x\right)}{1+x^2},~x\in \left[-\frac{3\pi}{4},0\right) \cup\left(0,\frac{3\pi}{4}\right]\) ,图像大致是?(选择题) 解: 首先 \(\cos(\frac{\pi}{2}-x) = \sin x\) ,即 \[ f(x) = \dfrac{2x^2\sin x}{1+x^2},~x\in \left[-\frac{3\pi}{4},0\right) \cup\left(0,\frac{3\pi}{4}\right] \] 然后考察其是否为奇函数(显然是) \[ f(-x) = -\dfrac{2x^2\sin x}{1+x^2} \] 再考察单调性 \[ f^{\prime}(x) = \frac{2x}{(1+x^2)^2}\cdot[(x+x^3)\cos x + 2\sin x] \] 于是 \(\frac{\pi}{2} >0...
小蓝书 3.1
小蓝书 3.1 本章节的基础内容非常简单。 本章节主要是例题,难度其实也不高。 传送门 小蓝书 3.1 题解
UOJ134 【UR #9】App 管理器 题解
UOJ134 【UR #9】App 管理器 题解 题目链接:#134. 【UR #9】App 管理器 题意: iOS 用户和 Android 用户一定对 App 管理器不会陌生。 “啊啊啊!手机空间又不够了” 买了低端机的 cxy 欲哭无泪。 cxy 常有的文件格式一共有 \(n\) 种,分别编号为 \(1, \cdots, n\)。 cxy 有 \(m\) 个 App,分别编号为 \(1, \cdots, m\)。其中 \(i\) 号 App 可以把 \(a_i\) 号文件格式转换成 \(b_i\) 号文件格式,或者把 \(b_i\) 号文件格式转换成 \(a_i\) 号文件格式。 App 管理器最近推出了一个新功能:卸载一半!于是 cxy 决定把每个 App 都卸载一半。 对于 \(i\) 号 App,你可以决定你卸载哪一半: 把 \(a_i\) 号文件格式转换成 \(b_i\) 号文件格式。 把 \(b_i\) 号文件格式转换成 \(a_i\) 号文件格式。 cxy 希望,把所有 App 都卸载一半之后并不影响使用。即,对于任意两个文件格式 \(i, j\),仍能通...
随机变量
随机变量 一、相关概念 在研究具体的随机现象时我们通常着重关注以下要素: 样本空间 \(\Omega\) ,指明随机现象所有可能出现的结果。 事件域 \(\mathcal{F}\) ,表示我们所关心的所有事件。 概率 \(P\) ,描述每一个事件发生的可能性大小。 我们将三元组 \((\Omega,\mathcal{F},P)\) 称为一个概率空间。 给定概率空间 \((\Omega,\mathcal{F},P)\) ,定义在样本空间 \(\Omega\) 上的函数 \(X : \Omega \to \mathbb{R}\) 若满足:对任意 \(t \in \mathbb{R}\) 有 \[ \{\omega \in \Omega: X(\omega) \leq t\} \in \mathcal{F} \] 则称 \(X\) 为随机变量。 示性函数 对于样本空间 \(\Omega\) 上的事件 \(A\) ,定义随机变量 \[ I_A(\omega)= \begin{cases}1, & \omega \in A \\ 0, & \omega \n...

![洛谷P3750 [六省联考 2017] 分手是祝愿 题解](/qwq/img/p209.webp)


![洛谷P1291 [SHOI2002] 百事世界杯之旅 题解](/qwq/img/p207.webp)

![洛谷P1110 [ZJOI2007] 报表统计 题解](/qwq/img/p112.webp)
![note[17]](/qwq/img/p157.webp)







