算法模板
chycjq
这个作者很懒,什么都没留下…
展开
-
n-皇后问题(c++)
𝑛−皇后问题是指将 𝑛 个皇后放在 𝑛×𝑛 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 𝑛,请你输出所有的满足条件的棋子摆法。原创 2024-05-21 16:34:42 · 221 阅读 · 0 评论 -
区间选点(贪心题)
给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。原创 2024-04-16 11:10:37 · 270 阅读 · 0 评论 -
欧拉函数(模板题)
第一行包含整数 n。接下来 n 行,每行包含一个正整数 ai。原创 2024-04-16 11:04:08 · 126 阅读 · 0 评论 -
组合数(费马小定理, 快速幂)
给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7)的值。原创 2024-04-08 13:55:20 · 197 阅读 · 1 评论 -
求组合数(动态规划)
给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7) 的值。原创 2024-04-08 13:51:28 · 350 阅读 · 0 评论 -
迷宫(《信息学奥赛一本通》,DFS)
一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n∗n 的格点组成,每个格点只有2种状态,和,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。:A、B不一定是两个不同的点。原创 2024-04-07 20:04:02 · 362 阅读 · 0 评论 -
没有上司的舞会(树形DP模板题)
Ural 大学有 N 名职员,编号为 1∼N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。原创 2024-04-03 10:58:46 · 183 阅读 · 0 评论 -
最长公共子序列(DP模板)
给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。原创 2024-04-03 10:25:53 · 171 阅读 · 0 评论 -
快速幂(算法模板)
给定 n 组 ai,bi,pi 对于每组数据,求出 ai^bi mod p 的值。原创 2024-04-02 20:55:43 · 425 阅读 · 0 评论 -
最短Hamilton路径(状态压缩DP)
给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。原创 2024-03-27 13:25:35 · 394 阅读 · 0 评论 -
最长上升子序列(DP模板题)
给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。原创 2024-03-27 12:22:27 · 151 阅读 · 0 评论 -
单调栈(C++, 模板)
给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。原创 2024-03-22 13:01:29 · 168 阅读 · 0 评论 -
格子游戏(并查集,C++)
Alice和Bob玩了一个古老的游戏:首先画一个 n×n 的点阵(下图 n=3 )。接着,他们两个轮流在相邻的点之间画上红边和蓝边:直到围成一个封闭的圈(面积不必为 11)为止,“封圈”的那个人就是赢家。因为棋盘实在是太大了,他们的游戏实在是太长了!他们甚至在游戏中都不知道谁赢得了游戏。于是请你写一个程序,帮助他们计算他们是否结束了游戏?原创 2024-03-20 20:01:53 · 267 阅读 · 0 评论 -
挤牛奶(usaco training 1.3,C++,合并区间)
每天早上 55 点,三名农夫去牛场给奶牛们挤奶。现在从 55 点开始按秒计时,第一名农夫在第 300 秒开始给牛挤奶,并在第 1000 秒停止挤奶。第二名农夫在第 700 秒开始给牛挤奶,并在第 1200 秒停止挤奶。第三名农夫在第 1500 秒开始给牛挤奶,并在第 2100 秒停止挤奶。原创 2024-03-12 16:22:07 · 187 阅读 · 0 评论 -
区间合并(C++,代码模板)
给定n个区间[li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3] 和[2,6]可以合并为一个区间[1,6]。输入格式第一行包含整数n。接下来n行,每行包含两个整数l和r。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤100000,−10^9≤li≤ri≤10^9输入样例:51 22 45 67 87 9输出样例:3原创 2024-03-12 16:10:57 · 144 阅读 · 0 评论 -
L1-046 整除光棍(C++ 模板题)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s。原创 2024-03-08 16:19:03 · 403 阅读 · 1 评论 -
归并排序 (模板题,C++)
给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。原创 2024-03-07 18:03:19 · 408 阅读 · 0 评论 -
前缀和(模板题)
输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。原创 2024-03-07 11:09:03 · 195 阅读 · 0 评论