- 博客(39)
- 收藏
- 关注
原创 AtCoder Beginner Contest 370
贪心思路:每一次的修改后,所得到的字符串必须是所有修改选择中字典序最小的。由于数据范围不大,暴力即可。没被毁掉,直接标记为毁掉即可,否则就要找到上下左右四个方向上最近的墙并摧毁。维护每行每列未被毁的格点即可。重点在于如何找到某一个方向上最近的墙。按照题目说的意思模拟即可。
2024-09-07 23:57:16
487
原创 Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices
单量子门并不受这一限制的影响,而对于多量子门,如CNOT门,参与运算的量子位必须直接相连。
2022-08-23 23:15:41
496
1
原创 UVA 11624 Fire
Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze.Given Joe’s location in the maze and which squares of the maze are on fire, you must d
2022-03-03 14:58:38
441
原创 基于osgEarth的简单数字地球
TIFF文件TIFF为图像格式,以tif为后缀,是一种位图格式。同BMP一样,包含文件头、信息头、数据区。地球纹理和高程图用到了TIFF。用Global Mapper打开高程图可导出等高线。Shape文件Shape文件是以shp为后缀的二进制文件。用arcview打开可以看到其信息为点线面的几何图形,还包括几何图形的坐标,同样也是一张数据表。OSG文件OSG文件是以osg后缀的文本文件。使用osgviewer *.osg可快速浏览osg文件定义的模型。OSG文件内规定了模型的
2022-03-02 14:54:38
1094
原创 高精度算法模板
高精度算法模板#include<string>#include<iostream>#include<vector>#include<cstring>using namespace std;struct BigInteger{ static const int BASE=100000000; //和WIDTH保持一致 static const int WIDTH=8;//八位一存储,如修改记得修改输出中的%08d bool sign;//符号
2022-03-02 14:52:54
156
原创 分段矩阵快速幂
小 C 的数学题题目描述已知某函数 f(n)f(n)f(n)的定义如下:f(n)={1,n≤2f(n−1)+f(n−2)+⌊log2n⌋,n≥3{\displaystyle f(n)={\begin{cases}1,&{n\le2}\\ f(n-1)+f(n-2)+\lfloor log_2n\rfloor,&{n\ge 3}\end{cases}}}f(n)={1,f(n−1)+f(n−2)+⌊log2n⌋,n≤2n≥3求函数 f(n)f(n)f(n)的值,为了防止数据过大,
2022-03-02 14:50:56
243
原创 浅谈分层图
分层图概述一般建图时会给定节点数 nnn 和边数 mmm,然后可以写出利用邻接矩阵、邻接表、链式前向星等等建图的代码。在构建了一张图的基础上,我们将图再复制 kkk 份,形成了k+1k+1k+1 层图,这就是所谓分层图。可以将分层图理解为多个平行的图。一般模型的是:在一张图上,可以进行 kkk 次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。我们可以构建 k+1k+1k+1 层图,做出一次决策可能意味着跨越层级,一般将决策前的状态和决策后的状态之间连接一条权值为决策代价的边,表示付出该
2022-03-02 14:48:41
611
原创 非线性方程的数值解
二分法求解 f(x)=0f(x)=0f(x)=0,首先取一段区间 [a,b][a,b][a,b],若 f(a)f(b)≤0f(a)f(b)\le0f(a)f(b)≤0,说明 [a,b][a,b][a,b] 区间上存在零点。通过不断地把函数零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值。假设 a0=aa_0=aa0=a,b0=bb_0=bb0=b,第 kkk 步迭代的零点区间为 [ak,bk][a_k,b_k][ak,bk],近似解为 xk=ak+bk2x_k=\frac
2022-02-20 21:20:36
486
原创 单源最短路径
贝尔曼-福特算法(Bellman–Ford algorithm)贝尔曼-福特算法是求解单源最短路径问题的一种算法,由 Richard Bellman\text{Richard Bellman}Richard Bellman 和 Lester Ford\text{Lester Ford}Lester Ford 创立的。有时候这种算法也被称为 Moore-Bellman-Ford\text{Moore-Bellman-Ford}Moore-Bellman-Ford 算
2022-02-20 21:18:01
414
原创 单调队列详解
单调队列概述定义顾名思义,单调队列是队列内元素为单调递增或递减的队列。单调队列的特点单调队列内的元素满足单调性,队列为双端队列,STL\text{STL}STL 提供了类模板 deque\text{deque}deque 。由于 deque\text{deque}deque 速度较慢,一般用数组模拟双端队列。维护方式通过双端队列头和尾的进出维护队列内元素的单调性。有删除队头、删除队尾、将元素推入队列三种操作。维护队列内元素的单调性的本质是,每次操作都将没有潜力的元素从队列中去除,而将有潜力的元
2022-02-18 09:42:47
997
原创 车票管理系统
开发环境使用 Visual Studio 2019\text{Visual Studio 2019}Visual Studio 2019 开发,程序直接在 cmd\text{cmd}cmd 界面运行。题目应用场景一车站每天有 nnn 个发车班次,每个班次都有一班次号 1,2,3⋯n1,2,3\cdots n1,2,3⋯n,固定发车时间,固定的路线(起始站、终点站),大致的行车时间、固定的额定载客量。某一天得车次如下表所述。班次发车时间起点站终
2022-02-17 20:28:39
1546
原创 “华为杯”中国矿业大学程序设计学科竞赛
A-细胞分裂题目描述CB不光是ACM大佬,同时也是生物领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。CB博士手里现在有N种细胞,编号从1~N,一个第i种细胞经过1秒钟可以分裂为Si个同种细胞(Si为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入MMM个试管,形成MMM份样本,用于实验。CB博士的试管数MMM很大,普通的计算机的基本数据类型无法存储这样大的MMM值,但万幸的是,MMM总可以表示为m1m_1m1
2022-02-17 20:26:18
971
原创 MIPS RAM设计实验
实验目的理解主存地址基本概念,理解存储位扩展基本思想,并能利用相关原理构建能同时支持字节、半字、字访问的存储子系统。主要任务Logisim\text{Logisim}Logisim 中 RAM\text{RAM}RAM 组件只能提供固定的地址位宽,数据输出也只能提供固定的数据位宽,访问时无法同时支持字节/半字/字三种访问模式,实验要求利用 444 个 888 位的 RAM\text{RAM}RAM 组件进行扩展,设计完成既能按照 888 位、也能按 161616 位、也能按照 323232 位进行读写
2022-02-17 04:45:00
12497
3
原创 MySQL数据管理
外键如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。年级ID在年级表中是主键,在学生表中是外键。如果不使用外键,学生表的grade字段插入了一个值,但是这个值在年级表中并没有,这个时候,数据库允许插入,并不会对插入的数据做关系检查。然而在设置外键的情况下,插入学生表grade字段的值必须要求在年级表的ID字段能找到。 同时,如果要删除
2022-02-17 00:27:12
476
原创 MIPS运算器设计实验
实验目的理解 ALU\text{ALU}ALU 的基本构成,掌握 Logisim\text{Logisim}Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的 323232 位加法器、 Logisim\text{Logisim}Logisim 中的运算组件构造指定规格的 ALU\text{ALU}ALU 单元。主要任务利用前面实验封装好 323232 位加法器以及 Logisim\text{Logisim}Logisim 平台中现有运算部件,构建一个 323232 位
2022-02-17 00:25:49
4397
1
原创 MIPS寄存器文件设计实验
实验目的学生了解 MIPS\text{MIPS}MIPS 寄存器文件基本概念,进一步熟悉多路选择器、译码器、解复用器等 Logisim\text{Logisim}Logisim 组件的使用,并利用相关组件构建 MIPS\text{MIPS}MIPS 寄存器文件。主要任务利用 Logisim\text{Logisim}Logisim 平台构建一个简化的MIPS寄存器文件,内部包含 444 个 323232 位寄存器。R1#R_1\#R1# 为第 111 个读寄存器的编号,R2#R_2\#R2# 为第
2022-02-17 00:22:50
8228
2
原创 JDBC(以MySQL为例)
简介JDBC用于在Java程序中操作数据库。JDBC提供一套访问各类数据库通用的API,不同的数据库厂商会根据各自的数据库特点去实现这些接口。以MySQL为例,需要导入对应版本的jar包才能使用JDBC,如mysql-connector-java-8.0.28.jar(下载)基本步骤加载驱动(Class.forName)建立连接(DriverManager)并返回连接(Connection)创建语句对象(Connection 创建一个 Statement 或 PreparedStatemen
2022-02-17 00:14:49
104
原创 Leetcode 10 正则表达式匹配
给你一个字符串 sss 和一个字符规律 ppp,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符;'*' 匹配零个或多个前面的那一个元素;所谓匹配,是要涵盖 整个字符串 sss 的,而不是部分字符串。示例 1输入:s=s =s="aa" p=p =p= "a"输出:false解释:"a" 无法匹配 "aa" 整个字符串。示例 2输入:s=s =s= "aa" p=p =p= "a*"输出:true解释:因为 '*' 代表可以匹配零个或多个前面的那一个元
2022-02-17 00:13:11
143
原创 KMP算法
朴素的模式匹配算法 主串为S=“abcdefgab”S=\text{“abcdefgab”}S=“abcdefgab”,我们要匹配T=“abcdex”T=\text{“abcdex”}T=“abcdex”。定义两个指针 i,ji,ji,j,分别指向字符串S,TS,TS,T。最初,i,ji,ji,j 指向两个字符串的头,将两个字符串的头对其,开始同步向后移动两个指针,当 i=j=6i=j=6i=j=6 时,发现s[i]≠t[j]s[i]\ne t[j]s[i]=t[j],这时就将 TTT 相对 SS
2022-02-17 00:10:51
299
原创 单调队列
欢迎访问个人博客单调队列概述定义 顾名思义,单调队列是队列内元素为单调递增或递减的队列。单调队列的特点 单调队列内的元素满足单调性,队列为双端队列,STL\text{STL}STL 提供了类模板 deque\text{deque}deque 。由于 deque\text{deque}deque 速度较慢,一般用数组模拟双端队列。维护方式 通过双端队列头和尾的进出维护队列内元素的单调性。有删除队头、删除队尾、将元素推入队列三种操作。 维护队列内元素的单调性的本质是,每次操作都将没有潜力
2020-07-13 23:33:12
199
原创 Tarjan缩点算法
欢迎访问个人博客概述强连通分量 强连通图(Strongly Connected Graph\text{Strongly Connected Graph}Strongly Connected Graph)是指在有向图 GGG 中,如果对于每一对 vi,vjv_i,v_jvi,vj,vi≠vjv_i≠v_jvi=vj,从 viv_ivi 到vjv_jvj和从 vjv_jvj 到 viv_ivi 都存在路径,则称 GGG 是强连通图。有向图中的极
2020-07-12 23:28:51
2321
原创 UVA11806 Cheerleaders
欢迎访问个人博客 In most professional sporting events, cheerleaders play a major role in entertaining the spectators. Their roles are substantial during breaks and prior to start of play. The world cup soccer is no exception. Usually the cheerleaders form a gr
2020-07-12 01:39:42
164
原创 洛谷P2678 跳石头 题解
欢迎访问个人博客题目背景 一年一度的“跳石头”比赛又要开始了!题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 nnn 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。 为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 mmm 块岩石(不能移走起点和终点的岩石)。输入
2020-07-10 23:13:36
484
原创 阶与原根的性质
欢迎访问个人博客阶 要定义原根,先要引入数论中阶的概念。阶的定义 设 a,m∈N+a,m\in\mathbb{N^+}a,m∈N+,且 a⊥ma\perp ma⊥m,使 ax≡1(modm)a^x\equiv 1\pmod max≡1(modm) 成立的最小正整数 xxx,称为 aaa 模 mmm 的阶,记为 ordma\text{ord}_maordma。阶的性质 说明:描述阶的性质时,默认 a,m∈N+a,m\in\mathbb{N^+}a,m∈N+,且 a⊥ma\bot ma⊥m,
2020-07-10 21:05:59
1479
原创 最长公共回文子串
欢迎访问个人博客Longest Common Palindrome Substring ↬\looparrowright↬题目描述 A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left.Given two strings which consists of lowercase letters, find the
2020-07-09 11:00:48
879
原创 字典树简介
欢迎访问个人博客概述 在计算机科学中,Trie\text{Trie}Trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。Trie\text{Trie}Trie这个术语来自于retrieval\text{retrieval}ret
2020-07-09 00:32:30
792
原创 扩展卢卡斯定理
转载自 11D_Beyonder’s Blog引入 有卢卡斯定理,{%raw%}(nm)≡(n mod Pm mod P)×(⌊nP⌋⌊mP⌋)(modP)\begin{pmatrix}n\\m\end{pmatrix}\equiv\begin{pmatrix}n\bmod P\\m\bmod P\end{pmatrix}\times\begin{pmatrix}\left\lfloor\frac{n}{P}\right\rfloor\\\left\lfloor\frac{m}{P}\right\rf
2020-07-07 23:27:04
355
1
原创 Codeforces Global Round 9
转载自11D_Beyonder’s BlogA. Sign Flipping ↬\looparrowright↬ You are given n integers a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,⋯,an, where nnn is odd. You are allowed to flip the sign of some (possibly all or none) of them. You wish to perform these flips in s
2020-07-07 00:35:59
251
原创 洛谷P1880 [NOI1995]石子合并
转载自11D_Beyonder’s Blog题目描述 在一个圆形操场的四周摆放 NNN 堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的 222 堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将 NNN 堆石子合并成 111 堆的最小得分和最大得分。输入格式 数据的第 111 行是正整数 NNN,表示有 NNN 堆石子。 第 222 行有 NNN 个整数,第 iii 个整数 aia_iai 表示第 iii 堆石子的个数。输出格式 输出
2020-07-06 01:40:22
340
原创 HDU 4349 Xiao Ming‘s Hope
转载自11D_Beyonder’s BlogProblem Description Xiao Ming likes counting numbers very much, especially he is fond of counting odd numbers. Maybe he thinks it is the best way to show he is alone without a girl friend. The day 2011.11.11 comes. Seeing classmate
2020-07-06 01:32:28
156
原创 扩展中国剩余定理
转载自11D_Beyonder’s Blog简介 对于一元线性同余方程组 {x≡a1( mod m1)x≡a2( mod m2)⋮x≡an( mod mn)\left\{\begin{array}{c}x \equiv a_{1}\left(\bmod m_{1}\right) \\x \equiv a_{2}\left(\bmod m_{2}\right) \\\vdots \\x \equiv a_{n}\left(\bmod m_{n}\right)\end{array}\right.
2020-07-06 00:12:21
206
原创 HDU 3037 Saving Beans
转载自:11D_Beyonder’s BlogProblem Description Although winter is far away, squirrels have to work day and night to save beans. They need plenty of food to get through those long cold days. After some time the squirrel family thinks that they have to solve
2020-07-06 00:07:35
119
原创 中国剩余定理
转载自:11D_Beyonder’s Blog来源 中国剩余定理,英文为 Chinese Remainder Theorem\text{Chinese Remainder Theorem}Chinese Remainder Theorem,简称 CRT\text{CRT}CRT。最早见于《孙子算经》中:“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”故又称孙子定理。算法简介适用条件 中国剩余定理可求解如下的一元线性同余方程组,其中
2020-07-04 22:40:59
447
1
原创 洛谷P2522 [HAOI2011]Problem b
传送门 ↬\looparrowright↬题目描述 对于给出的 nnn 个询问,每次求有多少个数对 (x,y)(x,y)(x,y),满足 a≤x≤ba \le x \le ba≤x≤b,c≤y≤dc \le y \le dc≤y≤d,且gcd(x,y)=k\gcd(x,y) = kgcd(x,y)=k,gcd(x,y)\gcd(x,y)gcd(x,y) 函数为 xxx 和 yyy 的最大公约数。输入格式 第一行一个整数 nnn,接下来 nnn 行每行五个整数,分别表示 a,b,c,d,ka,
2020-07-04 00:29:23
142
原创 牛客竞赛 NC18979 毒瘤xor
传送门 ↬\looparrowright↬题目描述 小 aaa 有 nnn 个数 a1,a2,...,ana_1, a_2, ..., a_na1,a2,...,an,给出 qqq 个询问,每次询问给出区间 [l,r][l, r][l,r],现在请你找到一个数 xxx,使得 ∑i=lrx⊕ai\sum\limits_{i = l}^r x \oplus a_ii=l∑rx⊕ai最大,要保证 0≤x<2310 \le x < 2^{31}0≤x<231。输入描述 第一行
2020-07-03 16:34:22
241
原创 牛客竞赛 NC19809 Growth
传送门 ↬\looparrowright↬题目描述 弱弱有两个属性 aaa 和 bbb,这两个属性初始的时候均为 000,每一天他可以通过努力,让 aaa 涨 111 点或 bbb 涨 111点。 为了激励弱弱努力学习,我们共有 nnn 种奖励,第 iii 种奖励有 xi,yi,zix_i,y_i,z_ixi,yi,zi 三种属性,若 a≥xia≥ x_ia≥xi 且 b≥yib≥ y_ib≥yi,则弱弱在接下来的每一天都可以得到 ziz_izi 的分数。问 mmm 天以后弱弱最多能
2020-06-30 23:27:01
158
原创 类欧几里得算法
来源类欧几里德算法由洪华敦大佬在 2016 年 NOI\text{NOI}NOI 冬令营营员交流中提出。截止 2020 年 4 月 29 日,百度百科和维基百科都尚未收录该词条 Orz\text{Orz}Orz。前置知识取整函数⌊ab⌋\left\lfloor\frac{a}{b}\right\rfloor⌊ba⌋ 为 ab\frac{a}{b}ba 向下取整,⌈ab⌉\left\lceil\frac{a}{b}\right\rceil⌈ba⌉ 为 ab\frac{a}{b}ba 向上取整。
2020-06-30 00:04:54
414
原创 扩展欧几里得算法
理论基础斐蜀定理(Bézout’s lemma)定理描述对任何整数aaa、b{\displaystyle b}b和c{\displaystyle c}c,关于未知数x{\displaystyle x}x和y{\displaystyle y}y的线性丢番图方程:ax+by=c{\displaystyle ax+by=c}ax+by=c当且仅当gcd(a,b)∣cgcd(a,b)|cgcd(a,b)∣c时有整数解。证明先证:对于任意整数 a,ba,ba,b ,存在一对整数 x,yx,yx,y ,满足
2020-06-29 23:56:14
353
原创 01分数规划
01分数规划基本问题给出两个有 nnn 个元素的数组 aia_iai 和 bib_ibi,对于一组 wi∈{0,1}w_i\in \{0,1\}wi∈{0,1},可能使得 ∑i=1naiwi∑i=1nbiwi\Large{\frac{\sum\limits_{i=1}^n a_iw_i}{\sum\limits_{i=1}^n b_iw_i}}i=1∑nbiwii=1∑naiwi 取得最值,求这个最值。求解——二分法check函数我们二分答案。假设要求的是最大值。二分得到一个答
2020-06-29 23:50:05
1039
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人