上一页 1 2 3 4 5 6 7 8 ··· 21 下一页
摘要: 题目链接 题意:一个3*n的带权矩阵,问从左上角走到右下角所经过路径的最大权值和 正解貌似是找规律+dp,不过显然可以插头dp直接搞,代码很长虽然满满的都是套路。。。 因为这题有起点和终点,也就意味着可能会出现单侧插头的情况,因此括号情况除了'','(',')'之外,还需要增加一种'()',转移的时 阅读全文
posted @ 2020-07-26 19:51 jrltx 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目链接 树哈希直接套就完了 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef unsigned long long ll; 4 const int N=1e5+10,M=19260817,inf=0x3f3f3f3f,mod=1e 阅读全文
posted @ 2020-07-24 11:41 jrltx 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题意:从数组a中找出一个区间[l,r]中只出现过一次的数 设pre[i]表示a[i]在i之前的上一次出现,a[i]在[l,r]中只出现过一次等价于pre[i]<l,所以只需在[l,r]中找出一个满足pre[i]<l的i就行了。由于还必须保证i是在[l,r]中最后一次出现,一棵线段树是实现不了的,需要 阅读全文
posted @ 2020-05-10 18:26 jrltx 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1.最大流(dinic) 1 struct MF { 2 static const int N=1e5+10,M=1e5+10; 3 int hd[N],ne,cur[N],n; 4 int d[N]; 5 struct E {int v,cp,nxt;} e[M]; 6 void init(int 阅读全文
posted @ 2020-04-15 19:08 jrltx 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题意:一个n*m的矩形区域,每个点上都有一些苹果,有k个人要买苹果,每个人可以买某个矩形区域内的至多x个苹果,问最多能卖出去多少个苹果。(n,m<=50,k<=1e5) 最大流,建图需要用ST表优化,这样每个人至多只需与4个点相连就能确定一个矩形区域。 1 #include<bits/stdc++. 阅读全文
posted @ 2020-04-12 20:32 jrltx 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题意:询问区间[l,r]上有多少个有序对(a,b)满足a+b=a xor b 相加等于异或,言外之意就是两个数每一个二进制位上都不能同时为1,那就让两个数从最高位同时往下走好了,设两个数的f,g分别表示是否撞到上界或者下界,然后dp即可。 1 #include<bits/stdc++.h> 2 us 阅读全文
posted @ 2020-04-12 18:34 jrltx 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接 很明显的2SAT问题,和树上距离有关显然要考虑树分治。由于2-SAT不具有容斥性,点分治不方便处理,不过我们可以边分治。 边分治,分治过程中对每条边t左右两侧各建立一棵线段树,线段树上每个区间结点u(设代表的区间范围为[l,r])开两个条件结点p[u][0]和p[u][1],分别代表”边t 阅读全文
posted @ 2020-04-12 11:52 jrltx 阅读(238) 评论(1) 推荐(1) 编辑
摘要: 两种操作: 1.查询与树上结点x距离不超过k的结点权值之和 2.将结点x的权值修改为y 点分树模板题。 首先考虑一种比较暴力的做法:用树形dp的思想,将树转化成有根树,设f[u][k]为结点u子树下与其距离不超过k的点权和,则ans(x,k)=f[u][k]+f[fa[u]][k-1]-f[u][k 阅读全文
posted @ 2020-03-18 12:45 jrltx 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目链接 注意到每种冰激凌在树上的结点是连通的。如果整棵树是一条链的话,那么问题就转化成了经典的一维区间染色问题。 所以我们要考虑如何把链上的情况推广到树上的情况。 一开始我想把欧拉序转换成区间来做,然而发现并不可行,因为一颗连续的子树可能会形成许多个连续的区间,需要另辟蹊径。 任选一个结点作为树根 阅读全文
posted @ 2020-03-16 13:58 jrltx 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题意:找出能被d整除且数位和为s的最小值。(d<=500,s<=5000) 设状态(S,M)表示数位和为S,对d取模为M的数,则题目等价于求从(0,0)转移到(s,0)的最小字典序最短路。 因为每个结点所连的所有边权都是唯一的,所以直接从起点bfs即可。(如果边权不唯一,需要把边权相同的作为整体处理 阅读全文
posted @ 2020-03-15 15:06 jrltx 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页