
新技巧
小王子y
互关啊!!
展开
-
天梯赛 L1-046 整除光棍(模拟)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序转载 2021-04-20 19:10:13 · 158 阅读 · 0 评论 -
连接格点( 最小生成树)
有一个 m 行 n 列的点阵,相邻两点可以相连。一条纵向的连线花费一个单位,一条横向的连线花费两个单位。某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。输入格式第一行输入两个正整数 m 和 n。以下若干行每行四个正整数 x1,y1,x2,y2,表示第 x1 行第 y1 列的点和第 x2 行第 y2 列的点已经有连线。输入保证|x1−x2|+|y1−y2|=1。输出格式输出使得连通所有点还需要的最小花费。数据范围1≤m,n≤10000≤已经存在的连线数原创 2021-03-11 01:14:39 · 600 阅读 · 0 评论 -
最长前缀(DP,字符串哈希)
一些生物的结构组成可以由大写字母序列来表示。生物学家们喜欢将长序列拆分成较短序列来进行研究。给定一个由若干短序列构成的集合 P,如果从中选取部分元素(可使用多次)能够拼接成一个序列 S,那么就说 S 由 P 组成。S 可以只包含 P 中的部分元素,例如,序列 ABABACABAAB 就可以由集合 {A,AB,BA,CA,BBC} 组成S 的前 K 个字符称为 S 的长度为 K 的前缀。现在给定一个短序列集合 P 以及一个大写字母序列 S,请你求出可以由集合 P 组成的 S 的最长前缀的长度是多原创 2021-03-02 18:44:55 · 532 阅读 · 0 评论 -
牛之关系谱(DP)
农夫约翰正在考虑买进一批新的牛群。在这个新的牛群中,每头母牛都会生两个孩子。牛的关系可以用一个包含 N 个节点的二叉树来表示,此二叉树应满足下列性质:每个节点的子节点数为 0 或 2。树的高度等于 K。树的高度是指从根节点到任一叶子节点的最长路径上的节点数。叶子节点是指没有子节点的节点。请问,共有多少种可能的谱系结构?换句话说,共有多少种满足上述性质的 N 个节点的二叉树?请输出对 9901 取模后的答案。输入格式共一行,包含两个整数 N 和 K。输出格式共一行,包含一个整数,表示对原创 2021-02-28 01:32:36 · 208 阅读 · 0 评论 -
数字转换(树形DP)
如果一个数 x 的约数之和 yy(不包括他本身)比他本身小,那么 x 可以变成 y,y 也可以变成 x。例如,4 可以变为 3,1 可以变为 7。限定所有数字变换在不超过 n 的正整数范围内进行,求不断进行数字变换且不出现重复数字的最多变换步数。输入格式输入一个正整数 n。输出格式输出不断进行数字变换且不出现重复数字的最多变换步数。数据范围1≤n≤50000输入样例:7输出样例:3样例解释一种方案为:4→3→1→74→3→1→7。1、如果一个数 x 的约数之和 y(不包括他本原创 2021-02-25 01:34:40 · 557 阅读 · 0 评论 -
7-8 能源站(二分,贪心)
人类探索太空的道路漫漫,经过无数年的不断试验计算,现在人类打算在无垠的太空中建立空间站,但是最大的问题是能源补给,所以要在空间站之间建立能源站。这个能源站能够给太空站进行能源补给,而且一个能源站可以对多个太空站进行补给。现在假设建立的空间站和能源站都处于一条直线上,因为受到飞行能力的限制,能源站只能对处于距离它L内的太空站进行补给,请计算出最小的L是多少,才能保证每个太空站都能获得补给。输入格式:输入三行,第一行有两个整数N和M(1≤N,M≤1e5),分别表示有N个太空站,M个能源站。 第二行,有N个整原创 2021-01-19 21:33:40 · 146 阅读 · 0 评论 -
USACO断开的项链(新技巧枚举)
你有一条由 N 个珠子串成的项链,珠子的颜色有红、白、蓝三种,珠子在项链中呈随机分布。例如N=29 时,两个项链的示例如下所示: 1 2 1 2 r b b r b r r b r b b b r r原创 2021-01-17 19:19:28 · 366 阅读 · 0 评论 -
校门外的树(区间合并,差分两种做法)
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入格式输入文件的第一行有两个整数L和M,原创 2021-01-17 02:25:19 · 249 阅读 · 0 评论 -
7-4 三角关系
为了提高集训队同学的学习效率,赵老师决定将所有队员组成三人小组,以组为单位进行训练。但是如何分组,让赵老师头疼。最后决定让每个队员自己选择一名想要组队的队友。于是,小龙选择了小慜,小慜选择了小泰,小泰选择了小龙,这样选择后就构成三角关系,他们可以直接组成三人小组。现在你需要判断在所有队员进行选择后能不能直接构成三角关系,组成三人小组。输入格式:输入有两行,第一行是一个正整数n(n≤5000),表示总人数。第二行有N个整数 表示第i个人想要与xi 组队。输出格式:如果能够组队,则输出“原创 2021-01-02 16:26:56 · 177 阅读 · 0 评论 -
[蓝桥杯][历届试题]连号区间数(注解题思路)
题目描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入第一行是一个正整数N (1 < = N < = 50000), 表示全排列的规模。第二行是N个不同原创 2020-12-07 20:35:41 · 221 阅读 · 0 评论 -
蓝桥杯历届试题 地宫取宝(记忆化搜索)
问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝。输入格式 输入一行3个整数,用空格分开:n m原创 2020-12-07 00:31:46 · 132 阅读 · 0 评论 -
蓝桥杯省赛 子串分值和(举例子详解)
分析每个字母的共献度#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e6 + 10;char s[N];ll vis[40];int main() { //abc 10 scanf("%s", s + 1); int n = strlen(s + 1); ll ans = 0; for (int i = 1; i <= .原创 2020-12-06 14:23:37 · 2740 阅读 · 2 评论