自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 收藏
  • 关注

原创 杂物 coduck

至少有一项杂务不要求有准备工作,这个可以最早着手完成的工作,标记为。当然互相没有关系的杂务可以同时工作,并且,你可以假定John的农场有足够多的工人来同时完成任意多项任务。John有需要完成的 �n 个杂务的清单,并且这份清单是有一定顺序的,杂务 �(�>1)k(k>1) 的准备工作只可能在杂务 11 至 �−1k−1 中。第1行:一个整数 �n ,必须完成的杂务的数目 (3≤�≤104)(3≤n≤10​4​​);* 完成工作所需要的时间 ���(1<���<100)len(1<len<100);

2025-05-31 12:12:44 240

原创 食物链2 coduck

第一行两个整数n和m,接下来m行每行两个整数ai bi描述m条能量流动关系。(数据保证输入数据符合生物学特点,且不会有重复的能量流动关系出现)1<=N<=100000 0<=m<=200000题目保证答案不会爆 int。其中ai bi表示能量从物种ai流向物种bi,注意单独的一种孤立生物不算一条食物链。现在给你n个物种和m条能量流动关系,求其中的食物链条数。如图所示为某生态系统的食物网示意图,据图回答问题。一个整数即食物网中的食物链条数。物种的名称为从1到n编号。M条能量流动关系形如。

2025-05-31 11:06:11 202

原创 家谱树 coduck

有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的后辈都比那个人后列出。第1行一个整数N(1≤N≤100),表示家族的人数;接下来N行,第I行描述第I个人的儿子;每行最后是0表示描述完毕。输出一个序列,使得每个人的后辈都比那个人后列出;如果有多解输出字典序最小的解。

2025-05-31 10:37:12 147

原创 是否合法 coduck

然后,被帮助的那个人将称帮他的人为“师傅”,而提供帮助的人将拥有一个不错的“徒弟”。我们都知道,一个师傅可以有很多徒弟,而一个徒弟可能也可以有很多师傅,这是合法的。但是,有些人并不那么诚实,他们有非法关系。这意味着如果A是B的师傅,而B是C的师傅,则A是C的师傅。对于每种情况,第一行包含两个整数,N(要测试的成员)和M(要测试的关系)(2 <= N,M <= 100)。为简单起见,我们给每个人一个数字(0,1,2,...,N-1)。然后是M行,每行包含一对(x,y),这意味着x是y的师傅,而y是x的徒弟。

2025-05-31 09:40:17 149

原创 编辑器 coduck(未完成)

5、“Q k”,假设此刻光标之前的序列为a1,a2,a3,…ak,输出最大的Si,Si=a1+a2+…你将要实现一个功能强大的整数序列编辑器。在开始时,序列是空的。2、“D”,将光标前面的第一个元素删除,如果前面没有元素,则忽略此操作。每一个“Q k”指令,输出一个整数作为结果,每个结果占一行。接下来n行,每行一个指令,具体指令格式如题目描述。第一行包含一个整数n,表示指令的总数。1、“I x”,在光标处插入数值x。4、“E”,将光标前的三个数字删除。3、“T”,将光标前的数字减10。

2025-05-29 16:49:49 251

原创 Tree Cutting

如果移除了谷仓 3 或谷仓 8,则剩余的网络将有一个由 5 个谷仓组成的部分和两个包含 2 个谷仓的部分。在 Farmer John 意识到 Bessie 以难以置信的成本在他的 �(1≤�≤104)N(1≤N≤10​4​​) 个谷仓中安装了一个“树形”网络后,他起诉 Bessie 以减轻他的损失。每行包含一个整数,一个谷仓的编号(从 1⋯�1⋯N 开始),移除后将网络分成多个部分,每个部分最多有原始谷仓数量的一半。第 2..N 行:每行包含两个整数 �X 和 �Y,代表谷仓 �X 和 �Y 之间有连接。

2025-05-24 12:00:33 375

原创 树 coduck

在树的每个节点有一个正整数,问有多少条路径的节点总和达到 �S。路径中节点的深度必须是升序的。假设节点 11 是根节点,根的深度是 00,它的儿子节点的深度为 11。对于 100%100% 数据,�≤105N≤10​5​​,所有权值以及 �S 都不超过 10001000。接下来的 �−1N−1 行每行是 22 个整数 �x 和 �y,表示 �y 是 �x 的儿子。第二行是 �N 个正整数,第�i个整数表示节点 �i 的正整数。第一行是两个整数 �N 和 �S,其中 �N 是树的节点数。

2025-05-24 11:25:42 191

原创 模板链式前向星

若 ����=1flag=1则 �m 行,����=0flag=0 则 �∗2m∗2 行,每行三个数,即该点的编号、所指向点的编号,边的长度,先按第一个数升序排列,再以链式前向星中的顺序输出即可。(其实就是 �i 从 11 到 �n,再按顺序查找边输出即可) 特殊的,若该点无出边,单独一个空行。第一行三个数 �,�,����n,m,flag,题意如上所示 第 22 ~ 1+�1+m 行,每行三个数,�,�,�x,y,z,代表从 �x 到 �y 有一条长为 �z 的边。

2025-05-24 10:33:36 160

原创 爱丽丝 coduck

爱丽丝生活在一个扁平的星球上,该星球可以建模为大小为n×n的正方形网格,行和列的范围为1到n。 我们用有序对(r,c)表示行r和列c的交点处的网格。 网格中的每个单元都是土地或水。爱丽丝居住在陆地单元(r1,c1)中。 她希望旅行到陆地单元(r2,c2)。 在任何时候,她都可以沿四个方向之一(即上,下,左或右)移动到与其所在位置相邻的一个单元中。不幸的是,爱丽丝不能游泳,除了步行以外没有其他可行的交通工具(也就是说,她只能在陆地上行走)。 结果,爱丽丝可能走不到终点。为了帮助爱丽丝,您计划在一些两个陆地单元

2025-05-23 17:17:28 326

原创 佩蒂亚和阵列

第二行包含一个整数序列 �1a​1​​ 到 ��a​n​​( ∣��∣≤109∣a​i​​∣≤10​9​​ ),—对 Petya 数组的描述。请注意,可能存在负元素、零元素和正元素。更确切地说,你需要计算满足 ��+��+1+⋯+��−1+��<�a​l​​+a​l+1​​+⋯+a​r−1​​+a​r​​<t 的数对。第一行包含两个整数 �n 和 �t (1≤�≤2×1051≤n≤2×10​5​​,∣�∣≤2×1014∣t∣≤2×10​14​​)现在,他想知道他的数组中总和小于 �t 的区间数量是多少?

2025-05-17 11:32:52 139

原创 信息筛选 coduck

小可认为,如果一个字典中的单词,能够通过重新排列字母变成另一个字典中的单词,那么这个单词就是冗余的。比如 ride 和 dire 都在字典中,那么这两个都是冗余的。当然,我们进行比较的时候,忽略字母大小写。也就是说如果字典中有 ride 和 DiRe ,这两个单词依旧都是冗余的。若干行单词,都是由大写字母或者小写字母构成。长度不超过 80。但是使用的时间长了,难免会出现很多的冗余信息。于是小可打算着手去整理这个字典库。小可在服务器上维护了一个字典库,里面存放了很多单词信息。按字典序顺序输出非冗余的单词。

2025-05-17 10:13:03 179

原创 BIT-3

对于输入:保证1≤�≤�≤�,∣�∣≤1061≤l≤r≤n,∣k∣≤10​6​​。:将��a​i​​ ~ ��a​r​​ 每个数都加上 k;第一行:输入两个数 n,q,表示给定数组的长度和操作数。:求��+...+��a​l​​+...+a​r​​。第二行:输入n个数,表示长度为n的给定数组。接下来q行:每行输入表示如题的某一种操作。对于每个2操作,输出对应结果。

2025-05-03 12:00:42 100

原创 前缀和的前缀和

而前缀和的前缀和就是把前缀和序列 �1,�2,⋯,��S​1​​,S​2​​,⋯,S​n​​ 作为原序列,再求一次前缀和。对于一个长度为 �n 的序列 �1,�2,⋯,��a​1​​,a​2​​,⋯,a​n​​,其前缀和 ��S​i​​ 为前 �i 个元素的和,即 ∑�=1���∑​k=1​i​​a​k​​。接下来一行有 �n 个数,即给定的序列 �1,�2,⋯,��a​1​​,a​2​​,⋯,a​n​​,全部数据下:1≤�,�≤105+51≤n,m≤10​5​​+5,其余所有数字均在。

2025-05-03 11:35:59 151

原创 BIT-2

对于输入:保证1≤�≤�≤�,∣�∣≤1061≤l≤r≤n,∣k∣≤10​6​​。第一行:输入两个数 n,q,表示给定数组的长度和操作数。第二行:输入n个数,表示长度为n的给定数组。接下来q行:每行输入表示如题的某一种操作。数据保证,输入的所有数字均为整数。对于每个2操作,输出对应结果。

2025-05-03 10:37:47 170

原创 最长上升子序列 树状数组

接下来一行 �n 个用空格隔开的整数 ��a​i​​,0≤��≤1060≤a​i​​≤10​6​​。就是给你一个序列,请你在其中求出一段不断严格上升的部分,它不一定要连续。给定 �N 个数,求这 �N 个数的最长上升子序列的。第一行一个整数 1≤�≤1051≤n≤10​5​​。最长的长度是 44.输出一个整数,表示最长上升子序列的长度。什么是最长上升子序列?

2025-05-03 09:46:54 136

原创 序列 coduck

有一个长度为 �n 的序列 �A。此序列中的所有数字都不小于 11 且不大于 �n,并且此序列中的所有数字都不同。全部数据:1≤�≤100,1≤�≤50000,1≤��≤�1≤T≤100,1≤n≤50000,1≤A​i​​≤n。下一行跟在 �n 个整数 �1,�2,⋯,��A​1​​,A​2​​,⋯,A​n​​。对于每个情况的输出,一行包含一个整数,即四边形的数目。每个测试用例都以一行开头,其中包含一个整数 �n。第一行包含单个整数 �T,指示测试用例的数量。

2025-05-01 11:52:30 318

原创 逆序对 coduck

对于给定的一段正整数序列,逆序对就是序列中 �<�i<j 且��>��a​i​​>a​j​​ 的有序对 ,求一序列中有多少个逆序对。第一行:输入一个数 n ,表示序列有多少个数字。第二行:输入 n 个数字��a​i​​。输出序列中逆序对的数目。

2025-05-01 10:58:04 148

原创 BIT-1

对于输入:保证1≤�≤�≤�,∣�∣≤1061≤l≤r≤n,∣x∣≤10​6​​。第一行:输入两个数 n,q,表示给定数组的长度和操作数。:求��+...+��a​l​​+...+a​r​​。接下来q行:每行输入3个数字,表示如题的某一种操作。第二行:输入n个数,表示长度为n的给定数组。:将��a​i​​加上 x;对于每个2操作,输出对应结果。

2025-05-01 10:01:24 147

原创 素数圆环 coduck

如图所示为一个由n个圆圈构成的圆环。将自然数1,2,...,n放入圆圈内,并且要求任意两个相邻的圆圈内的数字之和为素数。请问给你圆圈数,你能给出放置自然数的所有正确方案吗?对于每组输入,输出所有正确的方案,按字典序从小到大排序。每组输出后输出一个空行。具体输出格式见输出样例。输入包含多组测试数据。每组输入占一行,为整数n(0<n<20),表示圆圈数。注意:圆圈中的数字一定是从1开始的,并且连续不重复。注意:只能按照顺时针方向放置数字。

2025-04-18 14:22:15 274

原创 全排列 coduck

字母序如下定义: 已知S=s1s2...sk, T=t1t2...tk,则S<T等价于,存在p(1≤p≤k),使得s1=t1,s2=t2,...,sp−1=tp−1,sp<tp。我们假设对于小写字母有‘a’ <‘b’ < ... <‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到8之间。输出这个字符串的所有排列方式,每行一个排列。给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。

2025-04-18 14:18:00 130

原创 迷宫问题 coduck

设有一个 N*N(2<=N<10)方格的迷宫,入口和出口分别在左上角和右上角。迷宫格子中 分别放 0 和1,0 表示可通,1 表示不能,入口和出口处肯定是 0。迷宫走的规则如下所示: 即从某点开始,有八个方向可走,前进方格中数字为 0 时表示可通过,为 1 时表示不可通过, 要另找路径。找出所有从入口(左上角)到出口(右上角)的路径(不能重复),输出路径总数,如果无法到达,则输出 0。数据保证,当N较大时,有较多的1,使得直接dfs可以通过此题。接下来的包含N行,每行N个数。第一行一个正整数N;

2025-04-18 14:12:27 226

原创 Lake Counting

有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?第一行为N,M(1≤N,M≤110)。下面为N*M的土地示意图。一行,共有的水洼数。

2025-04-18 13:58:56 104

原创 GCD coduck

对于每个查询 �,�l,r,您必须计算 ���(��,,��+1,⋯,��)gcd(a​l​​,,a​l+1​​,⋯,a​r​​) 并计算对的数量(�′,�′)(1≤�<�≤�)(l′,r′)(1≤l<r≤N),使得 ���(��′,��′+1,⋯,��′)gcd(a​l′​​,a​l′+1​​,⋯,a​r′​​) 等于 ���(��,��+1,⋯,��)gcd(a​l​​,a​l+1​​,⋯,a​r​​)。第三行包含一个数字�(�≤100,000)Q(Q≤100,000),表示查询的数量。

2025-04-12 11:51:21 129

原创 平衡的阵容 coduck

每天,农夫��ℎ�John的�(1≤�≤5×104)n(1≤n≤5×10​4​​)头牛总是按同一序列排队。��ℎ�John 准备了�(1≤�≤1.8×105)q(1≤q≤1.8×10​5​​)个可能的牛的选择和所有牛的身高ℎ�(1≤ℎ�≤106,1≤�≤�)h​i​​(1≤h​i​​≤10​6​​,1≤i≤n)。第一行两个数�,�n,q。接下来�n行,每行一个数ℎ�h​i​​​。再接下来�q行,每行两个整数�a和�b,表示询问第�a头牛到第�b头牛里的最高和最低的牛的身高差。

2025-04-12 10:36:44 189

原创 操作系统 coduck

输入包含若干行,每一行有四个自然数(均不超过10^8),分别是进程号,到达时间,执行时间和优先级。不同进程有不同的编号,不会有两个相同优先级的进程同时到达。如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。在这种情况下,这个新的(优先级更高的)进程会占用CPU,而老的只有等待。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。如果一个进程到达时,CPU正在处理一个比它优先级高或优先级相同的进程,则这个(新到达的)进程必须等待。

2025-04-05 11:50:02 161

原创 股票 coduck

题目描述你可以很好地预测某只股票未来N天的价格。你想从中获利,但每天只需要交易一股股票。也就是说,每天你要么买一股,要么卖一股,要么什么都不做。一开始你拥有零股票,当你没有股票的时候你不能出售股票。在N天结束时,你想再次拥有零股票,但想尽可能拥有更多的钱。输入描述第一行:输入一个整数n,表示一共有多少天第二行:输入n个整数�1,�2,�3p​1​​,p​2​​,p​3​​ …… ,��p​i​​ 表示一股股票再第 i 天的价格。输出描述在N天结束时,输出你最终能得到的最大金额。输入样例1

2025-04-05 10:59:09 182

原创 合并果子 coduck

在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。例如有3种果子,数目依次为1,2,9。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。输入包括两行,第一行是一个整数n(1< =n< =10000),表示果子的种类数。

2025-04-05 09:22:25 218

原创 修补道路 coduck

我们选择 x=1 ,将第一段和第五段路增加高度,将第二段和第三段路减少高度,最后所有路高度都是 2。所以有可能让所有的路段高度都相同。如果可能重新变得平坦,输出"YES"。平坦即为所有路段高度都相同。第二行有 n 个整数 ai (0≤ a_i≤ 109),代表每段路的高度。第一行一个正整数 n (1≤ n≤ 105)

2025-03-29 11:41:29 145

原创 集合的并 coduck

A集合与B集合内部元素可能会出现重复。集合内元素最大不超过int的最大值。输出两个集合并后的元素。n,m不超过10000.

2025-03-29 11:27:30 171

原创 分类 coduck

每个来源地下级分类中,每一行输出三个空格,一个|,四个-,用来保持缩进。子分类中,将来源地是此来源地的货物按照字典序排序,每个货物后面有一个括号,里面写货物的总数量。每个入库记录由字符串a,b和一个正整数m(1≤ m≤ 100)组成,a是货物名,b是货物来源,m是数量。小可作为仓库管理员,需要对新多出来的货物进行分类整理。把货物按照来源地分类,来源地按照字典序排序输出。每个来源地都有下级分类。第一行一个正整数T(1≤ T≤ 10),代表有T组数据。对于每组数据,第一行有一个正整数n,代表有n条入库记录。

2025-03-29 11:05:28 245

原创 货币系统

在一个完善的货币系统中,每一个非负整数的金额 x 都应该可以被表示出,即对 每一个非负整数 x,都存在 n 个非负整数 t[i] 满足 a[i]× t[i] 的和为 x。在第一组数据中,货币系统(2,[3,10])和给出的货币系统(n,a)等价,并可以验证不存在m<2的等价的货币系统,依次答案为2.输出文件共有 T 行,对于每组数据,输出一行一个正整数,表示所有与 (n,a) 等 价的货币系统 (m,b) 中,最小的 m。在第二组数据中,可以验证不存在m<n,的等价的货币系统,因此答案为5.

2025-03-22 11:55:46 284

原创 自然数的拆分求方案数

给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复。注意:拆分方案不考虑顺序;至少拆分成2个数的和。求拆分的方案数 mod2147483648 的结果。输入一个整数,表示结果。

2025-03-22 11:37:03 190

原创 自然数的拆分

总可以拆分成若干个小于n的自然数之和。任何一个大于1的自然数n,按字典序输出具体的方案。

2025-03-22 10:35:41 148

原创 插入排序

假设比较两个元素的时间为 �(1)O(1),则插入排序可以以 �(�2)O(n​2​​) 的时间复杂度完成长 度为 �n 的数组的排序。22 �x : 这是第二种操作,假设 �H 老师按照上面的伪代码对 �a 数组进行排序,你需要 告诉 �H 老师原来 �a 的第 �x 个元素,也就是 ��a​x​​,在排序后的新数组所处的位置。11 �x �v: 这是第一种操作,会将 �a 的第 �x 个元素,也就是 ��a​x​​ 的值,修改为 �v。保证 1≤�≤�,1≤�≤1091≤x≤n,1≤v≤10​9​​。

2025-03-22 09:52:45 222

原创 CSP-J2020第二轮认证T4-方格取数

按上述走法,取到的数之和为 1 + 2 + (-1) + 4 + 3 + 2 + (-1) + (-1) = 9,可以证明为最大值。对于 100% 的数据,1≤n,m≤1000。方格中整数的绝对值不超过 10^4。接下来 n 行每行 m 个整数,依次代表每个方格中的整数。一个整数,表示小熊能取到的整数之和的最大值。对于 70% 的数据,n,m≤300。对于 40% 的数据,n,m≤50。对于 20% 的数据,n,m≤5。第 1 行两个正整数 n,m。

2025-03-15 12:09:14 345

原创 加分二叉树

设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空 子树。subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数。第1行:一个整数,为最高加分(结果不会超过4,000,000,000)。第2行:n个用空格隔开的整数,为每个节点的分数(分数<=100)第2行:n个用空格隔开的整数,为该树的(字典序最小的)前序遍历。第1行:一个整数n(n<=30),为节点个数。

2025-03-15 10:52:55 261

原创 冰原狼 D4

冰原狼,也被称为黑狼,是特大而强大的狼。一旦马特击败了一只可怕的狼,他将会遭受等同于当前这只狼的攻击值的伤害。而作为一群群居的野兽,每只狼i可以增加其相邻的狼bi的攻击。因此,每一个可怕的狼 i 的攻击值包括两个部分:其本身的基本攻击和来自相邻的狼的额外的攻击。增加的攻击值是暂时的,一旦当前这只狼被击败,它邻近的狼将不再从它得到额外的攻击值。例如,假设有3只冰原狼排成一排,它们的基本攻击分别是(3,5,7)。如果马特先击败第二只狼,他将受到攻击值为13的伤害,活着的狼目前的攻击值就变成了(3,15)。

2025-03-15 10:01:18 380

原创 股票买卖IV

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。一次买入卖出合为一笔交易。给定一个长度为�N的数组,数组中的第 i 个数字表示一个给定股票在第�i天的价格。第一行包含整数�N和�k, 表示数组的长度以及你可以完成的最大交易数量。设计一个算法来计算你所能获取的最大利润,你最多可以完成�k笔交易。第二行包含�N个不超过 10000 的正整数,表示完整的数组。输出一个整数,表示最大利润。

2025-03-08 11:50:20 193

原创 股票买卖III

给定一个长度为�N的数组,数组中的第 i 个数字表示一个给定股票在第�i天的价格。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。第二行包含�N个不大于10910​9​​的正整数,表示完整的数组。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。第一行包含整数�N,表示数组长度。输出一个整数,表示最大利润。

2025-03-08 11:41:16 120

原创 股票买卖II

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。给定一个长度为�N的数组,数组中的第�i个数字表示一个给定股票在第�i天的价格。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。第二行包含�N个不大于 10000 的正整数,表示完整的数组。第一行包含整数�N, 表示数组长度。输出一个整数,表示最大利润。

2025-03-08 11:28:00 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除