返回顶部
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 52 下一页
摘要: 题意:有一组数$a$,如果$gcd(a_i,a_{i+1},...,a)=min(a_i,...,a{i+1},...,a)$,那么$i$和$j$之间就可以连一条边,边权为$min(a_i,...,a{i+1},...,a)$.$i$和$i+1$之间都可以连一天边权为$p$的边,现在给你这$n$个点 阅读全文
posted @ 2021-04-14 11:33 Rayotaku 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个正整数$n$和$k$,要你构造一个只包含前$k$个字母的字符串(\([a,a+k-1]\)),使得对于任意两个不相交的连续长度为$2$的区间,相等的子串数最少. 题解:我们一共有$aa,ab,...,ba,bb,...,ca,cb...,a+(k-1),...$,这样的不同长度为$2$ 阅读全文
posted @ 2021-04-14 11:21 Rayotaku 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题意:找出LCIS 题解:我们设$dp[i][j]\(为\)[a_1,a_i]\(和\)[b_1,b_j]$组成的并且以$b_j$结尾的最长公共上升子序列,若$a[i]!=b[j]$,那么$dp[i][j]=dp[i-1][j]$,如果$a[i]=b[j]$,那么我们就固定$a[i]$,从$dp[i 阅读全文
posted @ 2021-04-09 00:53 Rayotaku 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一组数,问你最少能凑多少个LIS和LDS. 题解:能解决的办法好像只有dfs找了,但是我们可以贪心和剪枝来优化,我们来看贪心,当我们遍历到$i$个数时,想要把它加入到前面的某个上升子序列中,那么最优的放法一定是放到末尾数字比$a[i]$小的最大的那个数后面,因为加入放到一个末尾数字很小的子 阅读全文
posted @ 2021-04-09 00:29 Rayotaku 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一组数,求LDS和最少需要多少块LDS 题解:第一问LDS随便写,关键是要怎么求出最少有多少个LDS,这里介绍一个dilworth定理:***对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目.***对偶一下,我们要求最小LDS的划分数目,那么也就是求LIS的元素数目. 阅读全文
posted @ 2021-04-08 23:53 Rayotaku 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个字符串$a$和$b$,有$q$个询问,每次给你一个区间$[l,r]\(,问你在\)[a_l,...,a_r]$中,子串$b$出现了多少次. 题解:我们可以先预处理出所有$b$在$a$中的起始和末尾位置,用两个数组分别存他们,其中存末尾位置的时候要取负,方便后面二分查找,然后每次询问的时 阅读全文
posted @ 2021-04-08 23:19 Rayotaku 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题意:有$2n$个数,要凑$n$个坐标出来,使得这些坐标全部落在一个矩形内部,问你最小的矩形面积是多少. 题解:这种题一般都是将横纵坐标分开看,首先,矩形的面积=\((max(x)-min(x))\)*\((max(y)-min(y))\).对坐标排序,根据最值原理,“和一定,差大积小”,所以我们可 阅读全文
posted @ 2021-04-01 20:39 Rayotaku 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题意:你要参加一场考试,考试持续时间为$T$,有两类题目简单题和难题,做一道简单题要花$a$分钟,难题要$b$分钟,每道题目都有一个强制时间$t_i$,当考试时间为$s$时,且$s\ge t_i$,假如你这时离开考试并且第$i$题没有写出来的话,你将得到$0$分,你可以在任意时刻离开考试,如果此时考 阅读全文
posted @ 2021-04-01 20:19 Rayotaku 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题意:有$n$个物品,每个物品的价值是$a_i$,每个物品只有一个,假如你买了价值为$a_x$的物品,那么你可以选择$k$个价值不大于$a_x$的物品一块打包送给你,但是必须要$k$个才行,不能多不能少,你现在有$p$块钱,问你最多能买多少物品. 题解:先对物品排序,假如我们要买$x$个物品,不难发 阅读全文
posted @ 2021-04-01 20:04 Rayotaku 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个有向图,求最大半连通子图的总节点数和不同最大半连通子图的方案数. 题解: 用tarjan缩点后,注意缩点后建边的时候要判重,因为两个连通子图之间可能有很多条边,跑拓扑排序然后dp更新节点数和方案数即可,具体看代码. 代码: #include <bits/stdc++.h> #defin 阅读全文
posted @ 2021-04-01 13:23 Rayotaku 阅读(64) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 52 下一页