进阶指南
文章平均质量分 67
杪渊探骊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【进阶指南】玉米田【状压DP】
Date:2022.04.08题意描述:农夫约翰的土地由 M×N 个小方格组成,现在他要在土地里种植玉米。非常遗憾,部分土地是不育的,无法种植。而且,相邻的土地不能同时种植玉米,也就是说种植玉米的所有方格之间都不会有公共边缘。现在给定土地的大小,请你求出共有多少种种植方法。土地上什么都不种也算一种方法。输入格式第 1 行包含两个整数 M 和 N。第 2…M+1 行:每行包含 N 个整数 0 或 1,用来描述整个土地的状况,1 表示该块土地肥沃,0 表示该块土地不育。输出格式输出总种植方原创 2022-04-08 21:24:30 · 522 阅读 · 0 评论 -
【进阶指南】最短Hamilton路径【状压DP】
Date:2022.04.07题意描述:给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z原创 2022-04-08 16:33:00 · 907 阅读 · 0 评论 -
【进阶指南】蒙德里安的梦想【状压DP】
Date:2022.04.07题意描述:求把 N×M 的棋盘分割成若干个 1×2 的长方形,有多少种方案。例如当 N=2,M=4 时,共有 5 种方案。当 N=2,M=3 时,共有 3 种方案。如下图所示:输入格式输入包含多组测试用例。每组测试用例占一行,包含两个整数 N 和 M。当输入用例 N=0,M=0 时,表示输入终止,且该用例无需处理。输出格式每个测试用例输出一个结果,每个结果占一行。数据范围1≤N,M≤11输入样例:1 21 31 42 22 32 42 1原创 2022-04-08 15:27:42 · 970 阅读 · 0 评论 -
【进阶指南】合并果子【哈夫曼树/贪心】
Date:2022.04.06题意描述:在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1 次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。假定每个果子重量都为 1,并且已知果子的种类数和每种果子的数目,你的任务是设计原创 2022-04-06 22:02:53 · 185 阅读 · 0 评论 -
【进阶指南】阶乘分解【欧拉筛+逆向思维】
Date:2021.12.29题意:给定整数 N,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pi 和 ci 即可。3≤N≤106思路①:枚举1~N中所有数依次试除分解质因数,T(n)=O(n*n\sqrt{n}n)=1e9会tle。思路②:常用套路—直接求每个数的质因数不好求,可以先打表出所有可能用到的质数,再用每个质数求1~N中质数的倍数,倍数中一定含有若干倍的质数,相加即为这个质数的次幂。见下图:代码如下:#include <iostream>原创 2021-12-30 15:11:45 · 412 阅读 · 0 评论 -
【进阶指南】战略游戏【树形DP】
Date:2022.03.29题意描述:鲍勃喜欢玩电脑游戏,特别是战略游戏,但有时他找不到解决问题的方法,这让他很伤心。现在他有以下问题。他必须保护一座中世纪城市,这条城市的道路构成了一棵树。每个节点上的士兵可以观察到所有和这个点相连的边。他必须在节点上放置最少数量的士兵,以便他们可以观察到所有的边。你能帮助他吗?例如,下面的树:只需要放置 1 名士兵(在节点 1 处),就可观察到所有的边。输入格式输入包含多组测试数据,每组测试数据用以描述一棵树。对于每组测试数据,第一行包含整数原创 2022-04-06 00:30:27 · 3586 阅读 · 0 评论 -
【进阶指南】糖果传递【贪心】
Date:2022.04.05题意描述:有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 1。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数 n,表示小朋友的个数。接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤1000000,0≤a[i]≤2×109,数据保证一定有解。输入样例:41254输出样例:4思原创 2022-04-05 16:07:30 · 861 阅读 · 0 评论 -
【进阶指南】货仓选址【贪心】
Date:2022.04.03题意描述:在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数 N。第二行 N 个整数 A1∼AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12思路:核心思想:绝对值不等式。假设有俩点原创 2022-04-05 11:31:52 · 442 阅读 · 0 评论 -
【进阶指南】洛谷P1073 [NOIP2009 提高组] 最优贸易【DP+spfa】【绿】
Date:2022.04.04题意描述:C国有n个大城市和m 条道路,每条道路连接这 n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到 C 国旅游。当他得知同一种商品在不同城市的价格可能会不同这一信息之后,便决定在旅游的原创 2022-04-04 16:28:59 · 300 阅读 · 0 评论 -
【进阶指南】数据结构 - 一个简单的整数问题【差分+BIT】
Date:2022.04.01题意描述:给定长度为 N 的数列 A,然后输入 M 行操作指令。第一类指令形如 C l r d,表示把数列中第 l∼r 个数都加 d。第二类指令形如 Q x,表示询问数列中第 x 个数的值。对于每个询问,输出一个整数表示答案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数 A[i]。接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。数据范围1≤N,M≤105,|原创 2022-04-01 16:43:46 · 354 阅读 · 0 评论 -
【进阶指南】数据结构 - 楼兰图腾【BIT】
Date:2022.04.01题意描述:在完成了分配任务之后,西部 314 来到了楼兰古城的西部。相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(V),一个部落崇拜铁锹(∧),他们分别用 V 和 ∧ 的形状来代表各自部落的图腾。西部 314 在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了 n 个点,经测量发现这 n 个点的水平位置和竖直位置是两两不同的。西部 314 认为这幅壁画所包含的信息与这 n 个点的相对位置有关,因此不妨设坐标分别为 (1,y1),(2,y原创 2022-04-01 16:23:10 · 158 阅读 · 1 评论 -
【进阶指南】- DP.没有上司的舞会【树形DP】
Date:2022.03.29题目描述:Ural 大学有 N 名职员,编号为 1∼N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数 N。接下来 N 行,第 i 行表示 i 号职员的快乐指数 Hi。接下来 N−1 行,每行输原创 2022-03-31 01:03:14 · 302 阅读 · 0 评论 -
【进阶指南】搜索 - 送礼物【双向DFS】
Date:2022.03.20题意描述:达达帮翰翰给女生送礼物,翰翰一共准备了 N 个礼物,其中第 i 个礼物的重量是 G[i]。达达的力气很大,他一次可以搬动重量之和不超过 W 的任意多个物品。达达希望一次搬掉尽量重的一些物品,请你告诉达达在他的力气范围内一次性能搬动的最大重量是多少。输入格式第一行两个整数,分别代表 W 和 N。以后 N 行,每行一个正整数表示 G[i]。输出格式仅一个整数,表示达达在他的力气范围内一次性能搬动的最大重量。数据范围1≤N≤46,1≤W,G[i]≤2原创 2022-03-20 22:07:24 · 570 阅读 · 0 评论 -
【进阶指南】搜索 - 加成序列【DFS迭代加深】
Date:2022.03.20题意描述:满足如下条件的序列 X(序列中元素被标号为 1、2、3…m)被称为“加成序列”:X[1]=1X[m]=nX[1]<X[2]<…<X[m−1]<X[m]对于每个 k(2≤k≤m)都存在两个整数 i 和 j (1≤i,j≤k−1,i 和 j 可相等),使得 X[k]=X[i]+X[j]。你的任务是:给定一个整数 n,找出符合上述条件的长度 m 最小的“加成序列”。如果有多个满足要求的答案,只需要找出任意一个可行解。输入格式输入包原创 2022-03-20 21:42:27 · 972 阅读 · 2 评论 -
【进阶指南】搜索 - 矩阵距离【多源BFS】
Date:2022.02.16题意:给定一个 N 行 M 列的 01 矩阵 A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为:dist(A[i][j],A[k][l])=∣i−k∣+∣j−l∣dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l])=∣i−k∣+∣j−l∣输出一个 N 行 M 列的整数矩阵 B,其中:B[i][j]=min1≤x≤N,1≤y≤M,A[x][y]=1dist(A[i][j],A[x][y])B[i][j原创 2022-02-16 16:24:14 · 276 阅读 · 0 评论 -
【进阶指南】基本算法 - 费解的开关【递推+开关灯模型】
Date:2022.02.02题意:你玩过“拉灯”游戏吗?25 盏灯排成一个 5×5 的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字 1 表示一盏开着的灯,用数字 0 表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上角的灯的状态后将变成:0111111101101111000011011再原创 2022-02-04 16:04:43 · 1332 阅读 · 0 评论
分享