08 2019 档案

 
ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge (状压DP)
摘要:题目:https://nanti.jisuanke.com/t/A1951 题意:给你n个项目,每个项目有两个属性,a,b,如果第t个来完成第i个项目,那么价值就要加 t*a+b,每个项目还说了自己的先修项目,项目可以不做完,然后求出最大值 思路:首先n只有20,我们又要考虑不同的选择情况下的最大值 阅读全文
posted @ 2019-08-25 18:28 Lis~ 阅读(150) 评论(0) 推荐(0)
CodeForces - 1051D (线性DP)
摘要:题目:https://codeforces.com/problemset/problem/1051/D 题意:一个2行n列的矩形,上面有黑白块,然后问你怎么布置才能有k个连通块,问有多少种方案数 思路:其实就是一个矩阵,我们一次放一列 四种状态 黑 | 白 | 白 | 黑 白 | 黑 | 白 | 黑 阅读全文
posted @ 2019-08-24 19:12 Lis~ 阅读(214) 评论(0) 推荐(0)
CodeForces - 1038D (线性DP)
摘要:题目:https://codeforces.com/problemset/problem/1038/D 题意:给你n个数字,每个数字可以吃左右两边的数,然后吃完后自己变成 a[i]-a[i+1]或者a[i]-a[i-1],然后问你最后只剩一个数的时候最大可能的值是多少 思路:我们首先想是由哪一个数会 阅读全文
posted @ 2019-08-22 19:16 Lis~ 阅读(297) 评论(0) 推荐(0)
AcWing 314. 低买 (线性DP)打卡
摘要:题目:https://www.acwing.com/problem/content/316/ 题意:求一个最长单调递减子序列,然后并且求方案数,如果序列完全一样就不要了 思路:我们肯定时修改LIS,我们在求得当前结尾得最长长度后,我们遍历前面是否有和当前数相等得数,如果有就把他的长度清零,避免重复方 阅读全文
posted @ 2019-08-21 22:58 Lis~ 阅读(174) 评论(0) 推荐(0)
AcWing 313. 花店橱窗 (线性DP)打卡
摘要:题目:https://www.acwing.com/problem/content/315/ 题意:有一个矩阵,你需要在每一行选择一个数,必须保证前一行的数的下标选择在下一行的左边,即下标有单调性,然后求最大值,并且输出选择的路径 思路:线性DP,两维状态 dp[n][m] ,前n个位置选择m个数的 阅读全文
posted @ 2019-08-21 15:27 Lis~ 阅读(243) 评论(0) 推荐(0)
AcWing 312. 乌龟棋 (简单DP)打卡
摘要:题目:https://www.acwing.com/problem/content/description/314/ 题意:有一段路,每个格子都有个价值,然后有m张卡牌,四种类型,走1,2,3,4步,然后输入保证正好把所有卡牌用完到达终点,求最大价值 思路:保证全部用完,只是顺序不一样得到的价值不一 阅读全文
posted @ 2019-08-21 11:24 Lis~ 阅读(219) 评论(0) 推荐(0)
gym 101810 M. Greedy Pirate (LCA)
摘要:题目:https://codeforc.es/gym/101810/problem/M 题意:给 你一颗树,下面有m次查询,求u->v的最大值是多少,输入两点之间都会有两条边,正边有正权,反边有反权,然后问u->v可以经过的最大权值是多少 思路:我们首先以u为根我们会发现我们走非v所在子树时我们都可 阅读全文
posted @ 2019-08-21 10:27 Lis~ 阅读(255) 评论(0) 推荐(0)
牛客假日团队赛9 A 乘积最大 (简单DP)
摘要:题目:https://ac.nowcoder.com/acm/contest/1071/A 题意:给你一个串,然后给你m个乘号,用m个乘号分割开这个串,然后求分割可以求出的最大值 思路:首先范围很小 第一种:我把所有乘号分隔最多只有 C(40,6) 种方案,很少,我们直接dfs就可以算出来 第二种: 阅读全文
posted @ 2019-08-20 16:51 Lis~ 阅读(157) 评论(0) 推荐(0)
2018-2019 ACM-ICPC Brazil Subregional Programming Contest F. Music Festival
摘要:题目:https://codeforces.com/gym/101908/problem/F 题意:给你n个舞台,每个舞台有很多个节目,每个节目有个开始时间,结束时间,价值,每个舞台至少出演过一个节目,所有舞台同一时刻只能一个舞台演节目,求怎么安排节目有最大价值 思路:首先舞台数只有10,而且我们必 阅读全文
posted @ 2019-08-20 15:01 Lis~ 阅读(412) 评论(0) 推荐(0)
CodeForces - 990G (点分治+链表计数)
摘要:题目:https://vjudge.net/contest/307753#problem/J 题意:一棵树,每个点都有个权值,现在问你,树上gcd每个不同的数有多少个 思路:点分治,首先范围只有 1e5,然后我们记录一条路径的gcd,我们在重心确定后找路径,每到gcd一个数,这条路径必然是父亲节点的 阅读全文
posted @ 2019-08-17 22:26 Lis~ 阅读(318) 评论(0) 推荐(0)
SPOJ - FTOUR2 (点分治+树状数组)
摘要:题目:https://vjudge.net/contest/307753#problem/I 题意:有一颗树,上面有白色黑色点,每个点上有一个权值,权值可以为负,现在我要求一条路径,权值和最大,这条路径满足 白色可以随便经过多少个,黑色点的个数必须<=m 思路:首先又是树上路径题,必然点分治,其实这 阅读全文
posted @ 2019-08-17 14:10 Lis~ 阅读(258) 评论(0) 推荐(0)
BZOJ 2152 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/G 题意: 一棵树让你求总的路径条数和 %3的路径条数 思路:点分治水题 阅读全文
posted @ 2019-08-16 19:21 Lis~ 阅读(239) 评论(0) 推荐(0)
最短路径树
摘要:一.概述 首先我们先搞清楚什么最短路径树,我们这里可以引申三个概念,最短路径,最短路径树,最小生成树 最短路径:最短路径就是指两点之间的最短距离,通常算法有dij,spfa,floyed 最短路径树:概念就是以一个节点为根,然后根节点到其他所有点的距离最短,然后形成了一棵树,把不必要的边删除,其实我 阅读全文
posted @ 2019-08-16 14:36 Lis~ 阅读(8636) 评论(0) 推荐(4)
HDU 4812 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/E 题意:给你一颗树,树上每个点都有个权值,现在问你是否存在 一条路径的乘积 mod 1e6+3 等于 k的路径,如果有找到字典序最小的方案 思路,树上路径~点分治 我们能知道每条路径的值,现在我们可以转化的问 阅读全文
posted @ 2019-08-15 17:29 Lis~ 阅读(396) 评论(0) 推荐(1)
Codeforces Round #579 (Div. 3) 套题 题解
摘要:A. Circle of Students 题目:https://codeforces.com/contest/1203/problem/A 题意:一堆人坐成一个环,问能否按逆时针或者顺时针正好是 1-n的顺序 思路:水题,把数组开两倍,或者标记当前位置都可以 #include<bits/stdc+ 阅读全文
posted @ 2019-08-14 20:00 Lis~ 阅读(498) 评论(0) 推荐(0)
POJ - 1655 (点分治-树的重心)
摘要:题目:https://vjudge.net/contest/307753#problem/D 题意:给你一棵树,让你求出一个点,让他的最大子树的节点数尽量小 思路:最大子树节点数尽量小,一看就是树的重心, 然后随便套个原来的点分治模板即可 阅读全文
posted @ 2019-08-13 21:52 Lis~ 阅读(252) 评论(0) 推荐(0)
POJ 2114 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/B 题意:求树中路径和=k的点对是否存在 思路:点分治,这个题其实和上一题洛谷一样,只是这个数据强,我们不能直接预处理所有可能的路径长度,预处理所有路径长度复杂度 O(n^2) ,我们改为直接每次查询都分治一遍 阅读全文
posted @ 2019-08-13 21:39 Lis~ 阅读(240) 评论(0) 推荐(0)
AcWing 252. 树 (点分治)打卡
摘要:题目:https://www.acwing.com/problem/content/254/ 题意:求一棵树上,路径<=k的有多少条 思路:点分治,我们用两个指针算solve函数,首先对算出来的路径每个排个序,我们就保证有单调性,然后l从前往后,r从后往前,如果l+r<=m 那么(l,r-1) (l 阅读全文
posted @ 2019-08-13 18:50 Lis~ 阅读(207) 评论(0) 推荐(0)
洛谷 P3806 (点分治)
摘要:题目:https://www.luogu.org/problem/P3806 题意:一棵树,下面有q个询问,问是否有距离为k的点对 思路:牵扯到树上路径的题都是一般都是点分治,我们可以算出所有的路径长度然后保留下来,点分治无非就是几步一直递归,点分治就是在树上递归 1,找树的重心 2,算出所有点到重 阅读全文
posted @ 2019-08-13 18:18 Lis~ 阅读(300) 评论(0) 推荐(0)
Codeforces Round #578 (Div. 2) E. Compress Words (双哈希)
摘要:题目:https://codeforc.es/contest/1200/problem/E 题意:给你n个单词,你需要把他合成成一个句子,相邻的两个单词,相邻部分相同的话可以把其中一个的删掉 思路:因为这个串总共加起来<=1e6 ,所以我们能接受O(n)每个字母的复杂度,我们直接遍历求出每个前缀后缀 阅读全文
posted @ 2019-08-12 14:48 Lis~ 阅读(168) 评论(0) 推荐(0)
HihoCoder - 1664 (单调队列)
摘要:题目:https://vjudge.net/contest/319166#problem/B 题意: 一个01间隔矩阵,求一个方阵的最大边长,这个方阵的要求是里面01分隔,不能有01相邻 思路:同 HihoCoder - 1673 (单调队列) 一样,一个高楼问题,我们直接在预处理这里改变一下来得出 阅读全文
posted @ 2019-08-11 20:12 Lis~ 阅读(202) 评论(0) 推荐(0)
HihoCoder - 1673 (单调队列)
摘要:题目:https://vjudge.net/contest/319166#problem/A 题意:有一个01矩阵,求一个最大子矩阵面积,这个矩阵要求里面都是01间隔,没有0或1连续 思路:这个题其实也就是求一个最大面积,复杂度只可以n^2,这个我们就可以想到是高楼问题,这个题唯一特殊的地方就是必须 阅读全文
posted @ 2019-08-11 20:02 Lis~ 阅读(193) 评论(0) 推荐(0)
2019 牛客暑期多校 第三场 F Planting Trees (单调队列+尺取)
摘要:题目:https://ac.nowcoder.com/acm/contest/883/F 题意:求一个矩阵最大面积,这个矩阵的要求是矩阵内最小值与最大值差值<=m 思路:首先我们仔细观察范围,我们就知道可以n^3,前面这题我(看付队博客)讲过求一个最大的什么矩阵就是分两种情况, 第一种:枚举上下边界 阅读全文
posted @ 2019-08-11 18:55 Lis~ 阅读(196) 评论(0) 推荐(0)
2019 牛客暑期多校 第八场 A All-one Matrices (单调栈+前缀和)
摘要:题目:https://ac.nowcoder.com/acm/contest/888/A 题意:找全1矩阵的个数,并且这个全1矩阵不被其他全1矩阵包含 思路:这里引用付队说的话 -> { 这类问题,一般解决就是两个方向: A:压缩一维,即枚举上下边界,然后复杂度O(N^3); B:广告牌问题,即枚举 阅读全文
posted @ 2019-08-11 14:58 Lis~ 阅读(250) 评论(0) 推荐(0)
2019 牛客暑期多校 第二场 H Second Large Rectangle (单调栈)
摘要:题目:https://ac.nowcoder.com/acm/contest/882/H 题意:一个大的01矩阵,然后现在要求第二大的全一矩阵是多少 思路:在这里我们首先学习一下另一个东西,怎么求直方图的最大面积 这个大佬写的博客非常好 https://www.cnblogs.com/linksta 阅读全文
posted @ 2019-08-10 22:16 Lis~ 阅读(158) 评论(0) 推荐(0)
暑期训练 CF套题
摘要:CodeForces 327A 题意:有n个数,都是0或1,然后必须执行一次操作,翻转一个区间,里面的数0变1,1变0,求最多1的数量 思路:最开始我写的最大字段和,后面好像写搓了,然后我又改成暴力,因为这个范围只有100,写n^3都没事,所以我们第一层枚举左区间,第二层枚举右区间,然后我们第三层记 阅读全文
posted @ 2019-08-10 09:55 Lis~ 阅读(251) 评论(0) 推荐(0)
AcWing 260. 买票 (树状数组+二分)打卡
摘要:题目:https://www.acwing.com/problem/content/description/262/ 题意:给定一个队伍,每个人过来的时候可以插队,每个人会输入一个插入到哪个位置,但是是按顺序的,所以前面的人选的位置有可能会被后面的人插队抢走,然后问最后的排列是多少 思路:仔细想想其 阅读全文
posted @ 2019-08-09 18:36 Lis~ 阅读(209) 评论(0) 推荐(0)
AcWing 257. 关押罪犯 (并查集)打卡
摘要:题目:https://www.acwing.com/problem/content/description/259/ 题意:有两个监狱,监狱里面有很多犯人,现在有很多对冲突,还有个冲突值,现在问我们怎么重新分配,能使这个最大冲突值尽量小,求这个冲突值 思路:首先我们只关心最大冲突值是多少,所以我们应 阅读全文
posted @ 2019-08-09 15:19 Lis~ 阅读(226) 评论(0) 推荐(0)
AcWing 248. 窗内的星星 (扫描线)打卡
摘要:题目:https://www.acwing.com/problem/content/250/ 题意:给你n个点,现在问你能每个点都有个权值,问你能覆盖最多的权值是多少,边界不算 思路:这个其实和我之前有篇博客思路一样,那个是只用求覆盖最多的点是什么,我们也只要建扫描线,因为我们可以把每个点看作成一个 阅读全文
posted @ 2019-08-07 08:14 Lis~ 阅读(236) 评论(0) 推荐(0)
CodeForces - 849B 几何
摘要:题意:给n个点,问是否能两条平行线覆盖所有的点 思路:因为要求全部覆盖,所以我们第一个点肯定是会入其中一条直线,其实只用判前三个点的所有情况即可 #include<stdio.h> #include<set> #include<algorithm> using namespace std; int 阅读全文
posted @ 2019-08-06 21:44 Lis~ 阅读(286) 评论(0) 推荐(0)
AcWing 244. 谜一样的牛 (树状数组+二分)打卡
摘要:题目:https://www.acwing.com/problem/content/245/ 题意:有n只牛,现在他们按一种顺序排好,现在知道每只牛前面有几只牛比自己低,牛的身高是1-n,现在求每只牛的身高 思路:我们可以考虑最后一只牛,最后一只牛前面比他低的有 a[n]只,那么他的身高就是 a[n 阅读全文
posted @ 2019-08-06 16:15 Lis~ 阅读(308) 评论(0) 推荐(0)
AcWing 243. 一个简单的整数问题2 (树状数组)打卡
摘要:题目:https://www.acwing.com/problem/content/244/ 题意:区间加,区间查询 思路:我们把原先那个差分数组分解一下 ∑i=1x∑j=1ib[j]=∑i=1x(x−i+1)×b[i]=(x+1)∑i=1xb[i]−∑i=1xi×b[i] #include <bi 阅读全文
posted @ 2019-08-05 21:44 Lis~ 阅读(146) 评论(0) 推荐(0)
AcWing 241. 楼兰图腾 (树状数组)打卡
摘要:题目:https://www.acwing.com/problem/content/description/243/ 题意:给你n个点,问你 V 和 ^的图腾有多少个 思路:比如V 其实就是找当前点左边比自己大的点的个数,右边比自己大的个数,然后乘法原理组合一下,^也是一样的道理 #include< 阅读全文
posted @ 2019-08-05 21:23 Lis~ 阅读(263) 评论(1) 推荐(0)
AcWing 233. 换教室 (期望DP+floyd)打卡
摘要:题目:https://www.acwing.com/problem/content/235/ 题意:有n个时间段,这个时间段有两个地方授课ci,di,最开始是在ci,可以申请去di,但是是几率的,然后有x个教室,y条道路,还有k个机会申请,可以申请<=k次,最后求怎么样的申请求的期望值最低,求那个最 阅读全文
posted @ 2019-08-05 11:22 Lis~ 阅读(248) 评论(0) 推荐(0)
AcWing 234. 放弃测试 (01分数规划)打卡
摘要:题目:https://www.acwing.com/problem/content/236/ 题意:给你一个方程,可以有k个不选,要求最优 思路:看了一下这个方程就知道是01分数规划的模板题,它可以选择k个不要,其实也就是排序的时候选最好的n-k个即可 阅读全文
posted @ 2019-08-04 21:08 Lis~ 阅读(227) 评论(0) 推荐(0)
AcWing 232. 守卫者的挑战 (期望DP)打卡
摘要:题目:https://www.acwing.com/problem/content/description/234/ 题意:有n次挑战,每次挑战获胜可以得到一个地图碎片值为-1 或者 可以得到一个包包用来装地图碎片,最开始有一个包,每个挑战有一个获胜概率,现在让你求至少获胜L轮,挑战完n轮后能用背包 阅读全文
posted @ 2019-08-04 11:11 Lis~ 阅读(221) 评论(0) 推荐(0)
AcWing 231. 天码 (容斥)打卡
摘要:题目:https://www.acwing.com/problem/content/233/ 题意:给你n个不同的数,让你选取一个四元组,gcd为1,让你求这样的四元组数量是多少 思路:我们单独直接去算肯定不行,正难反易,我们可以用总的减去其他gcd不是1的,也就是四个数同时有一个相同且不是1的因子 阅读全文
posted @ 2019-08-03 22:44 Lis~ 阅读(144) 评论(0) 推荐(0)
AcWing 230. 排列计数 水题(组合数+错排)打卡
摘要:题目:https://www.acwing.com/problem/content/232/ 阅读全文
posted @ 2019-08-03 19:34 Lis~ 阅读(174) 评论(0) 推荐(0)
AcWing 229. 新NIM游戏 (线性基+博弈论)打卡
摘要:题目:https://www.acwing.com/problem/content/description/231/ 题意:给出n堆石子,然后第一回合,A玩家可以随便拿多少堆石子,第二回合B玩家随便拿多少堆石子,第三回合开始就按照NIM博弈来进行,问第一个玩家是否可以获胜,获胜第一回合可以拿最少的火 阅读全文
posted @ 2019-08-03 19:20 Lis~ 阅读(216) 评论(0) 推荐(0)
AcWing 228. 异或 (dfs+线性基)打卡
摘要:题目:https://www.acwing.com/problem/content/230/ 题意:有一个图,每条边有一个权值,现在求1-n的一条路径的最大异或和,一条边能经过多次,相应的也要计算那么多次权值 思路:首先最大异或和一看就是线性基的经典操作,然后主要是我们要如何确定这条路径, 我们首先 阅读全文
posted @ 2019-08-03 18:37 Lis~ 阅读(212) 评论(0) 推荐(0)
%各位大佬的博客.tql
摘要:线性基:https://www.cnblogs.com/ljh2000-jump/p/5869991.html#4219854 数位DP https://blog.csdn.net/jk211766/article/details/81474632 阅读全文
posted @ 2019-08-03 16:12 Lis~ 阅读(148) 评论(0) 推荐(0)
AcWing 227. 小部件厂 (高斯消元)打卡
摘要:题目:https://www.acwing.com/problem/content/description/229/ 题意:有很多个零件,每个零件的生产时间都在3-9天之间,现在只知道每个工人的生产部件有哪些,还有生产日期的星期几和完成日期的星期几,求每个部件的具体生产日期 思路:首先我们根据两个星 阅读全文
posted @ 2019-08-03 11:11 Lis~ 阅读(258) 评论(0) 推荐(0)
2019 牛客暑期多校 第一场 H XOR (线性基)
摘要:题目:https://ac.nowcoder.com/acm/contest/881/H 题意:求一个集合内所有子集异或和为0的长度之和 思路:首先集合内异或和,这是线性基的一个明显标志,然后我们不管怎么样先求出一个基A,秩为r 我们枚举基外的数,每个数的贡献是 2^(n-r-1) ,为什么呢,因为 阅读全文
posted @ 2019-08-02 22:10 Lis~ 阅读(226) 评论(0) 推荐(0)
AcWing 226. 233矩阵 (矩阵快速幂+线性递推)打卡
摘要:题目:https://www.acwing.com/problem/content/228/ 题意:有一个二维矩阵,这里只给你第一行和第一列,要你求出f[n][m],关系式有 1, f[0][m]=f[0][m-1]*10+3 2, f[n][m]=f[n-1][m]+f[n][m-1] 思路:我们 阅读全文
posted @ 2019-08-02 20:34 Lis~ 阅读(351) 评论(0) 推荐(0)
BSGS算法总结
摘要:BSGS算法专用于求 a^x=b mod p 只有当 a,p互质时才能求出解,主要思想是 我把x=i*t-j , t=sqrt(p) ,那么j的范围就是 [0,t-1] -> a^(i*t-j) = b mod p -> a^(i*t) = b*(a^j) mod p 我们把j=[0,t-1] 都插 阅读全文
posted @ 2019-08-02 18:36 Lis~ 阅读(224) 评论(0) 推荐(0)
AcWing 224. 计算器 (BSGS算法)打卡
摘要:题目:https://www.acwing.com/problem/content/226/ 题意:有一个计算器能完成三种功能 1、给定Y,Z,P,计算YZModPYZModP 的值; 2、给定Y,Z,P,计算满足xY≡Z(modP)xY≡Z(modP)的最小非负整数; 3、给定Y,Z,P,计算满足 阅读全文
posted @ 2019-08-02 18:24 Lis~ 阅读(336) 评论(0) 推荐(0)
AcWing 225. 矩阵幂求和 (矩阵快速幂+分治)打卡
摘要:题目:https://www.acwing.com/problem/content/227/ 题意:给你n,k,m,然后输入一个n阶矩阵A,让你求 S=A+A^2+A^3.+......+A^k 思路:首先因为A是矩阵,我们k的范围很大,那么很明显看出A^k可以用矩阵快速幂来计算,但是这样我们只能算 阅读全文
posted @ 2019-08-02 18:19 Lis~ 阅读(510) 评论(0) 推荐(0)
AcWing 220.最大公约数 欧拉函数打卡
摘要:题目:https://www.acwing.com/problem/content/222/ 题意:求1-n范围内,gcd(x,y)是素数的对数 思路:首先我们可以针对每个素数p,那么他的贡献应该时 [1,n/p] 互质的对数,这个其实就是遍历这个范围累加每个数的欧拉值,这里我们就可以用个前缀和,然 阅读全文
posted @ 2019-08-01 22:39 Lis~ 阅读(154) 评论(0) 推荐(0)
2019 牛客暑期多校 B generator 1 (矩阵快速幂+倍增)
摘要:题目:https://ac.nowcoder.com/acm/contest/885/B 题意:给你x0,x1,让你求出xn,递推式时xn=a*xn-1+b*xn-2 思路:这个n特别大,我自己没有摸清欧拉降幂的性质,瞎套了,然后其实因为底数是一个矩阵,并不能运用这一定理,但是这个n又这么大,我们就 阅读全文
posted @ 2019-08-01 20:56 Lis~ 阅读(302) 评论(0) 推荐(0)
2019 牛客暑期多校 G subsequence 1 (dp+组合数)
摘要:题目:https://ac.nowcoder.com/acm/contest/885/G 题意:给你两个串,要求上面哪个串的子序列的值大于下面这个串的值的序列个数,不含前导零 思路:我们很容易就可以看出选择上面的那个的字符串的子序列时如果长度超过下面这个一定可以选用,同理长度短于的肯定不能用,长度大 阅读全文
posted @ 2019-08-01 20:43 Lis~ 阅读(335) 评论(0) 推荐(0)
Comet OJ 三元组 推导+两个指针+分类讨论
摘要:题目:https://www.cometoj.com/contest/59/problem/F?problem_id=2681 题意:给你n个三元组 ai,bi,ci,如果某一对三元组满足 2*min(ai+aj,bi+bj) <= max(ai+aj,bi+bj),那么贡献+ci*cj 思路:我们 阅读全文
posted @ 2019-08-01 11:12 Lis~ 阅读(304) 评论(0) 推荐(0)