C. C. Blog

Security Research, Algorithm and Data Structure

Problem

给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。

阅读全文 »

Problem

大家都熟悉堆栈操作。一个堆栈一般有两种操作,push和pop。假设所有操作都是合法的并且最终堆栈为空。我们可以有很多方法记录堆栈的操作, (1) 对每个pop操作,我们记录它之前一共有多少个push操作。 (2) 对每个pop操作,我们记录这个被Pop的元素曾经被压上了几个。 例如:操作push, push, pop, push, push, pop, push, pop, pop, pop 用第一种方法 记录为 2, 4, 5, 5, 5 用第二种方法 记录为 0, 0, 0, 2, 4 这两种记录方法可以互相转化,我们的问题是,给定第二种记录方法的序列,请求出第一种记录方法的序列。

阅读全文 »

Problem

有𝑛个彩灯每个彩灯有一种颜色𝑐𝑜𝑙𝑖(彩灯从1到n标号),有𝑚根细线将它们连接在一起。你想用这些彩灯作出一朵美丽的花,进一步说你想从这𝑚根细线中保留𝑛−1根,且需要保证所有彩灯是连通在一起的。你希望这朵花五彩斑斓,因此你想要连接同颜色彩灯的细线越少越好。请问这个最小值是多少?

数据范围:

2≤𝑛≤100,1≤𝑚≤200,1≤𝑐𝑜𝑙𝑖≤𝑛

阅读全文 »

Problem

一棵树的直径就是这棵树上存在的最长路径。现在有一棵n个节点的树,现在想知道这棵树的直径包含的边的个数是多少?

阅读全文 »

Problem

人生如逆水行舟,不进则退。你一生中有𝑛个阶段,每个阶段有一个状态下限𝐿𝑖,也有一个状态上限𝑅𝑖,你想规划你的一生中各阶段的状态值,使得你的状态在𝑛个阶段中始终在变好(严格递增)。请你计算有多少种不同的人生规划。由于答案较大,只需输出答案对998244353取余的结果

数据范围:1≤𝑛≤200,1≤𝐿𝑖≤𝑅𝑖≤104

阅读全文 »

Problem

给定一棵𝑛个点的树,每条边有一个边权,边权只可能是4或7。你想在树上选择两个没有直接连边的点,并在这两点间加一条边权为4或7的连边。很显然,树上出现一个环,如果这个环上边权为4的边数与边权为7的边数相等,那么这个环是一个平衡环。你希望得到这样一个平衡环,请问需要连接哪两个点,并赋予什么边权。

如果有多种方案,输出任意一组解即可。如果无解,输出-1。

数据范围:1≤𝑛≤100

阅读全文 »

Problem

你要完成一个𝑚页的作业,手里有𝑛杯咖啡,每一杯咖啡有一个咖啡因强度值𝑎𝑖,能支撑你写𝑎𝑖页作业。每一天你会选择一些咖啡喝掉,对于当天喝的第i杯咖啡,咖啡因的强度会减弱𝑖−1单位,减到0就不再减小。问你最少经过几天能完成作业。

阅读全文 »

Problem

51nod魔法学校近日开展了主题为“天气晴朗”的魔法交流活动。 N名魔法师按阵法站好,之后选取N - 1条魔法链将所有魔法师的魔力连接起来,形成一个魔法阵。 魔法链是做法成功与否的关键。每一条魔法链都有一个魔力值V,魔法最终的效果取决于阵中所有魔法链的魔力值的和。 由于逆天改命的魔法过于暴力,所以我们要求阵中的魔法链的魔力值最大值尽可能的小,与此同时,魔力值之和要尽可能的大。 现在给定魔法师人数N,魔法链数目M。求此魔法阵的最大效果。

阅读全文 »

Problem

一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。

例如:3*3的矩阵:

-1 3 -1

2 -1 3

-3 1 2

和最大的子矩阵是:

3 -1

-1 3

1 2

阅读全文 »

Problem

N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。

阅读全文 »