
Acwing
文章平均质量分 72
Amber0130
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
压缩编码
给定一段文字,已知单词 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an 出现的频率分别 t1,t2,…,tnt_1,t_2,…,t_nt1,t2,…,tn。可以用 010101 串给这些单词编码,即将每个单词与一个 010101 串对应,使得任何一个单词的编码(对应的 010101 串)不是另一个单词编码的前缀,这种编码称为前缀码。使用前缀码编码一段文字是指将这段文字中的每个单词依次对应到其编码。一段文字经过前缀编码后的长度为:L=a1的编码长度×t1+a2的编码长度原创 2021-02-21 08:22:26 · 700 阅读 · 0 评论 -
通信网络
某国的军队由 NNN 个部门组成,为了提高安全性,部门之间建立了 MMM 条通路,每条通路只能单向传递信息,即一条从部门 aaa 到部门 bbb 的通路只能由 aaa 向 bbb 传递信息。信息可以通过中转的方式进行传递,即如果 aaa 能将信息传递到 bbb,bbb 又能将信息传递到 ccc,则 aaa 能将信息传递到 ccc。一条信息可能通过多次中转最终到达目的地。由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。原创 2021-02-20 09:08:25 · 201 阅读 · 0 评论 -
网络延时
给定一个公司的网络,由 nnn 台交换机和 mmm 台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为 111 的交换机为根交换机,层级为 111。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加 111。所有的终端电脑都直接连接到交换机上。当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间传递消息、或者电脑与交换机之间传递消息、或者交换机与交换机之间传递消息最多需要多少步。输原创 2021-02-19 09:20:25 · 311 阅读 · 1 评论 -
最优配餐
栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。栋栋的连锁店所在的区域可以看成是一个 n×nn×nn×n 的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。方格图中的线表示可以行走的道路,相邻两个格点的距离为 111。栋栋要送餐必须走可以行走的道路,而且不能经过红色标注的点。送餐的主要成本体现在路上所花的时间,每一份餐每走一个单位的距离需要花费 111 块原创 2021-02-18 11:36:55 · 313 阅读 · 0 评论 -
有趣的数
我们把一个数称为有趣的,当且仅当:它的数字只包含 0,1,2,30,1,2,30,1,2,3,且这四个数字都出现过至少一次。所有的 000 都出现在所有的 111 之前,而所有的 222 都出现在所有的 333 之前。最高位数字不为 000。因此,符合我们定义的最小的有趣的数是 201320132013。除此以外,444 位的有趣的数还有两个:203120312031 和 230123012301。请计算恰好有 nnn 位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以 109+7原创 2021-02-16 12:24:31 · 210 阅读 · 0 评论 -
机器人跳跃问题
机器人正在玩一个古老的基于DOSDOSDOS的游戏。游戏中有N+1N+1N+1座建筑——从000到NNN编号,从左到右排列。编号为0的建筑高度为000个单位,编号为 iii 的建筑高度为H(i)H(i)H(i)个单位。起初,机器人在编号为000的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第kkk个建筑,且它现在的能量值是EEE,下一步它将跳到第k+1k+1k+1个建筑。如果H(k+1)>EH(k+1)>EH(k+1)>E,那么机器人就失去H(k+1)−EH(k+1)原创 2021-02-16 11:45:49 · 260 阅读 · 0 评论 -
Z字形扫描
在图像编码的算法中,需要将一个给定的方形矩阵进行 ZZZ 字形扫描(ZigzagScan)(Zigzag Scan)(ZigzagScan)。给定一个 n×nn×nn×n 的矩阵,ZZZ 字形扫描的过程如下图所示:对于下面的 4×44×44×4 的矩阵,1 5 3 93 7 5 69 4 6 47 3 1 3对其进行 ZZZ 字形扫描后得到长度为 161616 的序列:15397395473664131\quad5\quad 3\quad 9\quad 7\quad 3 \quad9\qu原创 2021-02-16 08:28:02 · 679 阅读 · 0 评论 -
乌龟棋
小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘只有一行,该行有 NNN 个格子,每个格子上一个分数(非负整数)。棋盘第 111 格是唯一的起点,第 NNN 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中共有 MMM 张爬行卡片,分成 444 种不同的类型(MMM 张卡片中不一定包含所有 444 种类型的卡片),每种类型的卡片上分别标有1、2、3、41、2、3、41、2、3、4 四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所原创 2021-02-10 12:51:09 · 1506 阅读 · 0 评论 -
鱼塘钓鱼
有 NNN 个鱼塘排成一排,每个鱼塘中有一定数量的鱼,例如:N=5N=5N=5 时,如下表:鱼塘编号12345第1分钟能钓到的鱼的数量(1…1000)101420169每钓鱼1分钟钓鱼数的减少量(1…100)24653当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)3544即:在第 111 个鱼塘中钓鱼第 111 分钟内可钓到 101010 条鱼,第 222 分钟内只能钓到 888 条鱼,……,第 555 分钟以后再也钓不到鱼了。原创 2021-02-08 09:54:45 · 519 阅读 · 0 评论 -
关押罪犯
SSS 城现有两座监狱,一共关押着 NNN 名罪犯,编号分别为111~NNN。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 ccc 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 ccc 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 SSS 城 ZZZ 市长那里。原创 2021-02-07 13:50:43 · 134 阅读 · 0 评论 -
借教室
在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来nnn天的借教室信息,其中第iii天学校有rir_iri个教室可供租借。共有mmm份订单,每份订单用三个正整数描述,分别为dj,sj,tjd_j,s_j,t_jdj,sj,tj,表示某租借者需要从第sjs_jsj天到第tjt_jtj天租借教室(包括第sjs_js原创 2021-02-07 12:48:05 · 455 阅读 · 0 评论 -
数列
给定一个正整数kkk,把所有kkk的方幂及所有有限个互不相等的kkk的方幂之和构成一个递增的序列,例如,当k=3k=3k=3时,这个序列是:1,3,4,9,10,12,13,…1,3,4,9,10,12,13,…1,3,4,9,10,12,13,…该序列实际上就是:303^{0}30,313^131,30+313^0+3^130+31,323^232,30+323^0+3^230+32,31+323^1+3^231+32,30+31+323^0+3^1+3^230+31+32,…请你求出这个序列的第N原创 2021-02-06 09:57:12 · 288 阅读 · 0 评论 -
聪明的质监员
思路(二分,前缀和) O(nlogW)O(nlogW)O(nlogW)观察每个区间的值 Yi=(∑j1)∗(∑jvj),j∈[Li,Ri]Y_i=(\sum\limits_{j}1)∗(\sum\limits_j v_j),j∈[L_i,R_i]Yi=(j∑1)∗(j∑vj),j∈[Li,Ri]且wj≥Ww_j≥Wwj≥W当 WWW 增大时,区间 [Li,Ri][L_i,R_i][Li,Ri] 中满足要求的 (wi,vi)(w_i,v_i)(wi,vi) 会减少,同时所有 vi.原创 2021-02-05 10:43:27 · 87 阅读 · 0 评论 -
耍杂技的牛
农民约翰的NNN头奶牛(编号为1..N1..N1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这NNN头奶牛中的每一头都有着自己的重量WiW_iWi以及自己的强壮程度SiS_iSi。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,风险值越大,这只牛撑不住的可能性越原创 2021-02-04 16:33:49 · 96 阅读 · 0 评论 -
糖果传递
有nnn个小朋友坐成一圈,每人有a[i]a[i]a[i]个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为111。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数nnn,表示小朋友的个数。接下来nnn行,每行一个整数a[i]a[i]a[i],表示第i个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤10000001≤n≤10000001≤n≤1000000数据保证一定有解。输入样例:41254输出样例:4先原创 2021-02-03 10:31:18 · 284 阅读 · 0 评论 -
加分二叉树
设一个nnn个节点的二叉树treetreetree的中序遍历为(1,2,3,…,n)(1,2,3,…,n)(1,2,3,…,n),其中数字1,2,3,…,n1,2,3,…,n1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第iii个节点的分数为did_idi,treetreetree及它的每个子树都有一个加分,任一棵子树subtreesubtreesubtree(也包含tree本身)的加分计算方法如下:subtreesubtreesubtree的左子树的加分 × subtreesu原创 2021-02-01 16:42:07 · 175 阅读 · 0 评论 -
星空之夜
夜空深处,闪亮的星星以星群的形式出现在人们眼中,形态万千。一个星群是指一组非空的在水平,垂直或对角线方向相邻的星星的集合。一个星群不能是一个更大星群的一部分。星群可能是相似的。如果两个星群的形状、包含星星的数目相同,那么无论它们的朝向如何,都认为它们是相似的。通常星群可能有 888 种朝向,如下图所示:现在,我们用一个二维 010101 矩阵来表示夜空,如果一个位置上的数字是 111,那么说明这个位置上有一个星星,否则这个位置上的数字应该是 000。给定一个夜空二维矩阵,请你将其中的所有星群原创 2021-02-01 16:15:56 · 145 阅读 · 0 评论 -
牛异或
农夫约翰在给他的奶牛们喂食时遇到了一个问题。他共有 NNN 头奶牛,编号 111∼NNN。每次喂食前,这 NNN 头奶牛会按照 111∼NNN 的顺序站成一排。此外,每头奶牛都被分配了一个可能不唯一的整数。那么所有被分配的整数就形成了一个长度为 NNN 的整数序列。请你在该整数序列中找出一个连续的非空子序列,使得子序列中元素的异或和能够最大。如果存在多个这样的序列,那么选择序列末端整数对应的奶牛编号更小的那个序列。如果仍然存在多个可选的序列,那么选择长度最短的那个序列。输入格式第一行包含整原创 2021-02-01 15:50:19 · 147 阅读 · 0 评论 -
K倍区间
给定一个长度为 NNN 的数列,A1,A2,…ANA_1,A_2,…A_NA1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…AjA_i,A_{i+1},…A_jAi,Ai+1,…Aj 之和是 KKK 的倍数,我们就称这个区间 [i,j][i,j][i,j] 是 KKK 倍区间。你能求出数列中总共有多少个 KKK 倍区间吗?输入格式第一行包含两个整数 NNN 和 KKK。以下 NNN 行每行包含一个整数 AiA_iAi。输出格式输出一个整数,代表 KKK 倍区间的数目。原创 2021-02-01 13:16:26 · 125 阅读 · 0 评论 -
火星人
人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字——掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为1,2,3……1,2,3……1,2,3……。火星人的任意两根手指都能随意交换位置,他们就原创 2021-01-28 13:32:50 · 181 阅读 · 0 评论 -
阶乘
NNN 的阶乘(记作 N!N!N!)是指从 111 到 NNN(包括 111 和 NNN)的所有整数的乘积。阶乘运算的结果往往都非常的大。现在,给定数字 NNN,请你求出 N!N!N! 的最右边的非零数字是多少。例如 5!=1×2×3×4×5=1205!=1×2×3×4×5=1205!=1×2×3×4×5=120,所以 5!5!5! 的最右边的非零数字是 222。输入格式共一行,包含一个整数 NNN。输出格式输出一个整数,表示 N!N!N! 的最右边的非零数字。数据范围1≤N≤10001≤原创 2021-01-24 09:20:13 · 630 阅读 · 0 评论 -
货币系统
给定 VVV 种货币(单位:元),每种货币使用的次数不限。不同种类的货币,面值可能是相同的。现在,要你用这 VVV 种货币凑出 NNN 元钱,请问共有多少种不同的凑法。输入格式第一行包含两个整数 VVV 和NNN。接下来的若干行,将一共输出 VVV 个整数,每个整数表示一种货币的面值。输出格式输出一个整数,表示所求总方案数。数据范围1≤V≤25,1≤N≤100001≤V≤25,\\1≤N≤100001≤V≤25,1≤N≤10000输入样例:3 101 2 5输原创 2021-01-23 09:27:40 · 315 阅读 · 0 评论 -
最大异或对
在给定的NNN个整数A1,A2……ANA_1,A_2……A_NA1,A2……AN中选出两个进行xorxorxor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数NNN。第二行输入NNN个整数A1~ANA_1~A_NA1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤1051≤N≤10^51≤N≤105,0≤Ai<2310≤A_i<2310≤Ai<231输入样例:31 2 3输出样例:3尽量走二进制位相异的路原创 2021-01-13 10:15:37 · 291 阅读 · 0 评论