会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
返回顶部
Rayotaku
我们一日日度过的所谓日常,实际上可能是接连不断的奇迹
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
11
12
13
14
15
16
17
18
19
···
52
下一页
2021年4月14日
Educational Codeforces Round 107 (Rated for Div. 2) D. Min Cost String (贪心,构造)
摘要: 题意:给你两个正整数$n$和$k$,要你构造一个只包含前$k$个字母的字符串(\([a,a+k-1]\)),使得对于任意两个不相交的连续长度为$2$的区间,相等的子串数最少. 题解:我们一共有$aa,ab,...,ba,bb,...,ca,cb...,a+(k-1),...$,这样的不同长度为$2$
阅读全文
posted @ 2021-04-14 11:21 _Kolibri
阅读(55)
评论(0)
推荐(0)
2021年4月9日
AcWing 272. 最长公共上升子序列 (DP)
摘要: 题意:找出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 _Kolibri
阅读(58)
评论(0)
推荐(0)
AcWing 187. 导弹防御系统 (dfs,贪心,LIS)
摘要: 题意:给你一组数,问你最少能凑多少个LIS和LDS. 题解:能解决的办法好像只有dfs找了,但是我们可以贪心和剪枝来优化,我们来看贪心,当我们遍历到$i$个数时,想要把它加入到前面的某个上升子序列中,那么最优的放法一定是放到末尾数字比$a[i]$小的最大的那个数后面,因为加入放到一个末尾数字很小的子
阅读全文
posted @ 2021-04-09 00:29 _Kolibri
阅读(49)
评论(0)
推荐(0)
2021年4月8日
AcWing 1010. 拦截导弹 (LIS,dilworth定理)
摘要: 题意:给你一组数,求LDS和最少需要多少块LDS 题解:第一问LDS随便写,关键是要怎么求出最少有多少个LDS,这里介绍一个dilworth定理:***对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目.***对偶一下,我们要求最小LDS的划分数目,那么也就是求LIS的元素数目.
阅读全文
posted @ 2021-04-08 23:53 _Kolibri
阅读(96)
评论(0)
推荐(0)
Educational Codeforces Round 48 (Rated for Div. 2) B. Segment Occurrences (二分查找)
摘要: 题意:给你两个字符串$a$和$b$,有$q$个询问,每次给你一个区间$[l,r]\(,问你在\)[a_l,...,a_r]$中,子串$b$出现了多少次. 题解:我们可以先预处理出所有$b$在$a$中的起始和末尾位置,用两个数组分别存他们,其中存末尾位置的时候要取负,方便后面二分查找,然后每次询问的时
阅读全文
posted @ 2021-04-08 23:19 _Kolibri
阅读(43)
评论(0)
推荐(0)
2021年4月1日
Codeforces Round #500 (Div. 2) [based on EJOI] C. Photo of The Sky (思维)
摘要: 题意:有$2n$个数,要凑$n$个坐标出来,使得这些坐标全部落在一个矩形内部,问你最小的矩形面积是多少. 题解:这种题一般都是将横纵坐标分开看,首先,矩形的面积=\((max(x)-min(x))\)*\((max(y)-min(y))\).对坐标排序,根据最值原理,“和一定,差大积小”,所以我们可
阅读全文
posted @ 2021-04-01 20:39 _Kolibri
阅读(65)
评论(0)
推荐(0)
Codeforces Round #610 (Div. 2) C. Petya and Exam (贪心)
摘要: 题意:你要参加一场考试,考试持续时间为$T$,有两类题目简单题和难题,做一道简单题要花$a$分钟,难题要$b$分钟,每道题目都有一个强制时间$t_i$,当考试时间为$s$时,且$s\ge t_i$,假如你这时离开考试并且第$i$题没有写出来的话,你将得到$0$分,你可以在任意时刻离开考试,如果此时考
阅读全文
posted @ 2021-04-01 20:19 _Kolibri
阅读(59)
评论(0)
推荐(0)
Codeforces Round #610 (Div. 2) B2. K for the Price of One (Hard Version) (贪心,DP)
摘要: 题意:有$n$个物品,每个物品的价值是$a_i$,每个物品只有一个,假如你买了价值为$a_x$的物品,那么你可以选择$k$个价值不大于$a_x$的物品一块打包送给你,但是必须要$k$个才行,不能多不能少,你现在有$p$块钱,问你最多能买多少物品. 题解:先对物品排序,假如我们要买$x$个物品,不难发
阅读全文
posted @ 2021-04-01 20:04 _Kolibri
阅读(61)
评论(0)
推荐(0)
P2272 [ZJOI2007]最大半连通子图 (tarjan,拓扑排序dp)
摘要: 题意:给你一个有向图,求最大半连通子图的总节点数和不同最大半连通子图的方案数. 题解: 用tarjan缩点后,注意缩点后建边的时候要判重,因为两个连通子图之间可能有很多条边,跑拓扑排序然后dp更新节点数和方案数即可,具体看代码. 代码: #include <bits/stdc++.h> #defin
阅读全文
posted @ 2021-04-01 13:23 _Kolibri
阅读(78)
评论(0)
推荐(0)
2021年3月31日
洛谷 P3387 【模板】缩点 (tarjan+拓扑排序dp)
摘要: 题意:有一张有向图,每个点都有点权,求某一路径的最大权值,重复经过的点的权值只计算一次. 题解:因为存在环什么的,所以我们直接求肯定不好搞,那么我们可以先进行缩点,当找完一个强连通分量后,将其中的所有点权贡献给缩完后的点,缩完点后可以再建新边,注意这里我为了省空间没有记录两个强连通分量之间的重边,但
阅读全文
posted @ 2021-03-31 11:45 _Kolibri
阅读(70)
评论(0)
推荐(0)
上一页
1
···
11
12
13
14
15
16
17
18
19
···
52
下一页