![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing
orz
One believe
欢迎来到Onebelieve的博客
展开
-
841. 字符串哈希
传送门描述给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1]和[l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数n和m,表示字符串长度和询问次数。第二行包含一个长度为n的字符串,字符串中只包含大小写英文字母和数字。接下来m行,每行包含四个整数l1,r1,l2,r2...原创 2020-01-19 14:24:36 · 212 阅读 · 0 评论 -
248. 窗内的星星(扫描线)
传送门描述在一个天空中有很多星星(看作平面直角坐标系),已知每颗星星的坐标和亮度(都是整数)。求用宽为W、高为H的矩形窗口(W,H为正整数)能圈住的星星的亮度总和最大是多少。(矩形边界上的星星不算)输入格式输入包含多组测试用例。每个用例的第一行包含3个整数:n,W,H,表示星星的数量,矩形窗口的宽和高。然后是n行,每行有3个整数:x,y,c,表示每个星星的位置(x,y)和亮度。没有...原创 2020-01-19 13:34:09 · 489 阅读 · 0 评论 -
1084. 数字游戏 II(数位dp)
传送门描述由于科协里最近真的很流行数字游戏。某人又命名了一种取模数,这种数字必须满足各位数字之和 mod N 为 0。现在大家又要玩游戏了,指定一个整数闭区间 [a.b],问这个区间内有多少个取模数。输入格式输入包含多组测试数据,每组数据占一行。每组数据包含三个整数 a,b,N。输出格式对于每个测试数据输出一行结果,表示区间内各位数字和 mod N 为 0 的数的个数。数据范围...原创 2020-01-15 14:05:25 · 544 阅读 · 1 评论 -
1083. Windy数 (数位dp)
传送门描述Windy 定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数。Windy 想知道,在 A 和 B 之间,包括 A 和 B,总共有多少个 Windy 数?输入格式共一行,包含两个整数 A 和 B。输出格式输出一个整数,表示答案。数据范围1≤A≤B≤2×1091≤A≤B≤2×1091≤A≤B≤2×109输入样例1:1 1...原创 2020-01-15 13:44:13 · 366 阅读 · 0 评论 -
1082. 数字游戏(数位dp)
传送门描述科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字呈非下降关系,如 123,446。现在大家决定玩一个游戏,指定一个整数闭区间 [a,b],问这个区间内有多少个不降数。输入格式输入包含多组测试数据。每组数据占一行,包含两个整数 a 和 b。输出格式每行给出一组测试数据的答案,即 [a,b] 之间有多少不降数。数据范围1≤a≤b≤231−...原创 2020-01-15 00:00:06 · 468 阅读 · 0 评论 -
不要62(数位dp)
传送门描述杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有 4 或 62 的号码。例如:62315,73418,88914 都属于不吉利号码。但是,61152 虽然含有 6 和 2,但不是 连号,所...原创 2020-01-14 22:26:43 · 253 阅读 · 0 评论 -
1068. 环形石子合并(区间dp)
传送门描述将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 n 及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做 n−1 次合并得分总和最大。选择一种合并石子的方案,使得做 n−1 次合并得分总和最小。输入格式第一行包含整数 n,表示共有 n 堆石子。第...原创 2020-01-14 15:54:23 · 234 阅读 · 0 评论 -
320. 能量项链 (区间dp)
传送门描述在Mars星球上,每个Mars人都随身佩带着一串能量项链,在项链上有 N 颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,...原创 2020-01-14 15:38:52 · 288 阅读 · 1 评论 -
acwing 282. 石子合并(区间dp)
传送门描述设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有4堆石子分别为 1 3 5 2, 我们可以先合并1、2堆,代价为4,得到4 5 2, 又合并 1,2...原创 2020-01-13 22:22:26 · 248 阅读 · 0 评论 -
acwing 274. 移动服务(线性dp)
传送门描述一个公司有三个移动服务员,最初分别在位置1,2,3处。如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去。某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工。从 p 到 q 移动一个员工,需要花费 c(p,q)。这个函数不一定对称,但保证 c(p,p)=0。给出N个请求,请求发生的位置分别为 p1~pN。公司必须按顺序依次满足所有请...原创 2020-01-13 15:39:42 · 175 阅读 · 0 评论 -
acwing 273. 分级(线性dp)
传送门描述给定长度为N的序列A,构造一个长度为N的序列B,满足:1、B非严格单调,即B1≤B2≤…≤BN或B1≥B2≥…≥BN。2、最小化 S=∑Ni=1|Ai−Bi|。只需要求出这个最小值S。输入格式第一行包含一个整数N。接下来N行,每行包含一个整数Ai。输出格式输出一个整数,表示最小S值。数据范围1≤N≤2000,0≤Ai≤109输入样例:713245...原创 2020-01-13 13:40:13 · 285 阅读 · 0 评论 -
acwing 271. 杨老师的照相排列(线性dp)
传送门描述有 N 个学生合影,站成左端对齐的 k 排,每排分别有 N1,N2,…,Nk 个人。 (N1≥N2≥…≥Nk)第1排站在最后边,第 k 排站在最前边。学生的身高互不相同,把他们从高到底依次标记为 1,2,…,N。在合影时要求每一排从左到右身高递减,每一列从后到前身高也递减。问一共有多少种安排合影位置的方案?下面的一排三角矩阵给出了当 N=6,k=3,N1=3,N2=2,N3...原创 2020-01-12 23:12:54 · 227 阅读 · 0 评论 -
acwing 758. 切割树(树形dp)
传送门描述给你一棵含有n个结点的树,编号为0~n-1,这n个结点都被染成了黑色或白色。显然,对于一棵树而言,我们每去掉一条边就能把树分成两部分。现在,要求你把这棵树切开,使得每一个连通块内只有一个白色结点。问共有多少种切开的方式满足以上条件,如果被删除的边集不同,我们则认为两种方式不同,反之,认为相同。请输出对1000000007取模后的结果。输入格式第一行仅包含一个正整数n,表示...原创 2020-01-12 22:06:17 · 412 阅读 · 0 评论 -
acwing 1078. 旅游规划(树形dp)
传送门描述W 市的交通规划出现了重大问题,市政府下定决心在全市各大交通路口安排疏导员来疏导密集的车流。但由于人员不足,W 市市长决定只在最需要安排人员的路口安排人员。具体来说,W 市的交通网络十分简单,由 n 个交叉路口和 n−1 条街道构成,交叉路口路口编号依次为 0,1,…,n−1 。任意一条街道连接两个交叉路口,且任意两个交叉路口间都存在一条路径互相连接。经过长期调查,结果显示,...原创 2020-01-12 17:41:43 · 404 阅读 · 0 评论 -
acwing 1072. 树的最长路径(树形dp)
传送门描述给定一棵树,树中包含 n 个结点(编号1~n)和 n−1 条无向边,每条边都有一个权值。现在请你找到树中的一条最长路径。换句话说,要找到一条路径,使得使得路径两端的点的距离最远。注意:路径中可以只包含一个点。输入格式第一行包含整数 n。接下来 n−1 行,每行包含三个整数 ai,bi,ci,表示点 ai 和 bi 之间存在一条权值为 ci 的边。输出格式输出一个整数,...原创 2020-01-12 13:53:00 · 274 阅读 · 0 评论 -
acwing 746.树的重心(树形dp)
传送门描述给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数n,表示树的结点数。接下来n-1行,每行包含两个整数a和b,表示点a和点b之间存在一条边。输出格式输出一个...原创 2020-01-11 21:52:30 · 219 阅读 · 0 评论 -
acwing 286. 选课(背包类树形dp)
传送门描述学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了 N 门的选修课程,每个学生可选课程的数量 M 是给定的。学生选修了这 M 门课并考核通过就能获得相应的学分。在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其他的一些课程的基础上才能选修。例如《Windows程序设计》必须在选修了《Windows操作基础》之后...原创 2020-01-11 20:00:29 · 164 阅读 · 0 评论 -
acwing 285. 没有上司的舞会(树形dp)
传送门描述Ural大学有N名职员,编号为1~N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数N。接下来N行,第 ...原创 2020-01-11 18:01:39 · 463 阅读 · 0 评论 -
acwing 91. 最短Hamilton路径(状压dp)
传送门描述给定一张 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]...原创 2020-01-11 15:40:50 · 150 阅读 · 0 评论 -
acwing 272. 最长公共上升子序列
传送门描述熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列A和B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长...原创 2020-01-10 18:32:12 · 200 阅读 · 0 评论 -
acwing 895. 最长上升子序列
传送门描述给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4这个可以动态规划,也可以其他,动态规划复杂度为O(n*n),贪心+二分则可以达到O(n...原创 2020-01-10 17:04:24 · 201 阅读 · 0 评论 -
acwing12. 背包问题求具体方案
传送门描述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是 1…N。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个...原创 2020-01-10 14:18:55 · 225 阅读 · 0 评论 -
acwing 11. 背包问题求方案数
传送门描述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 最优选法的方案数。注意答案可能很大,请输出答案模 109+7 的结果。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用...原创 2020-01-09 22:41:40 · 198 阅读 · 0 评论 -
acwing 10. 有依赖的背包问题
传送门有 N 个物品和一个容量是 V 的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如下图所示:如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是 i,体积是 vi,价值是 wi,依赖的父节点编号是 pi。物品的下标范围是 1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总...原创 2020-01-09 19:08:08 · 124 阅读 · 0 评论 -
acwing 9. 分组背包问题
传送门描述有 N 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据:每组数据第一行有一个整数 S...原创 2020-01-09 15:35:31 · 132 阅读 · 0 评论 -
acwing 8. 二维费用的背包问题
传送门描述有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下来有 N 行,每行三个整...原创 2020-01-09 14:26:56 · 136 阅读 · 0 评论 -
acwing 7. 混合背包问题
传送门描述有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来...原创 2020-01-09 14:15:34 · 139 阅读 · 0 评论 -
acwing 5. 多重背包问题 II(多重背包二进制优化)
传送门描述有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格...原创 2020-01-08 19:04:15 · 178 阅读 · 0 评论 -
acwing 6. 多重背包问题 III(单调队列优化)
传送门描述有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V (0<N≤1000, 0<V≤20000),用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格...原创 2020-01-09 13:35:39 · 200 阅读 · 0 评论