随笔分类 -  a题单

摘要:库存 GSS1 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 5 inline int read() { 6 int x=0,f=1;char ch=getchar();for(;!isdigit 阅读全文
posted @ 2021-07-30 14:49 MJT12044 阅读(183) 评论(0) 推荐(0)
摘要:库存 这些题目考试时费劲心思没有想出,考完后发现是一个有意思的贪心dp,挺奇妙的,没有接触过,所以记在这里,方便回顾。 数分考试 ZR提高十连测day9 T1 problem440 一共有$n$个人参加了考试。第$i$个人的名次区间是$[L_i,R_i]$。除此之外,又有$m$条其他信息,形如$u_ 阅读全文
posted @ 2021-07-30 14:31 MJT12044 阅读(176) 评论(2) 推荐(0)
摘要:2019-02-13 P3704 [SDOI2017]数字表格:莫比乌斯反演 P3702 [SDOI2017]序列计数:快速幂+多项式 2019-02-14 P3703 [SDOI2017]树点涂色:LCT+线段树 Yahoo Programming Contest 2019 D - Ears:dp 阅读全文
posted @ 2019-02-15 22:03 MJT12044 阅读(196) 评论(0) 推荐(0)
摘要:2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp。 3653: 谈笑风生:dfs序+主席树。 POJ 3678 Katu Puzzle:2-sat问题,给n个变量赋值(0/1),满足所有等式。 POJ 3683 Priest John's Busiest Da 阅读全文
posted @ 2019-01-17 08:10 MJT12044 阅读(204) 评论(0) 推荐(0)
摘要:POJ 1149 PIGS 链接 #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<cmath> #include<cctype> #include<set> #include<que 阅读全文
posted @ 2019-01-15 22:03 MJT12044 阅读(268) 评论(0) 推荐(0)
摘要:很久没写过这东西了,复习一波。 3238: [Ahoi2013]差异 链接 单调栈维护height数组,由于height是递增的,所以维护单调栈中维护每个height出现的次数。(还可以两遍单调栈求一个点是最小值的区间) 1 #include<cstdio> 2 #include<algorithm 阅读全文
posted @ 2019-01-02 22:50 MJT12044 阅读(319) 评论(0) 推荐(0)
摘要:CF 1061 D. TV Shows 贪心:两条线段一定是挨的最近的连起来,感性的理解,和距离远的合一定不和近的合更优。 所以按左端点排序,将右端点放到一个set里,然后对于每个线段找小于这个线段左端点的最远的点,考虑时候合起来。 另一种方法,将每个点拆成两个,分别是左端点的点,和右端点的点,然后 阅读全文
posted @ 2018-12-30 22:01 MJT12044 阅读(50) 评论(0) 推荐(0)
摘要:复习一波平衡树! 3224: Tyvj 1728 普通平衡树 链接 怎么能少得了这道题呢。 1 #include<cstdio> 2 #include<cctype> 3 4 const int N = 1000100; 5 6 int siz[N],ch[N][2],fa[N],cnt[N],da 阅读全文
posted @ 2018-12-13 22:19 MJT12044 阅读(270) 评论(0) 推荐(0)
摘要:2018-12-07 bzoj3172:AC自动机,建出fail树,加入一个字符串在fail树的链上每个点+1,每个点的答案为子树中的所有点权的和。 bzoj3110:整体二分+线段树。 2018-12-09 HDU2825:AC自动机+状压dp。 HDU6086:AC自动机+状压dp bzoj24 阅读全文
posted @ 2018-12-13 14:38 MJT12044 阅读(247) 评论(0) 推荐(0)
摘要:bzoj5310:退背包。 bzoj1097:最短路+状压dp。 bzoj1098:反向图联通块个数。链表+bfs。 bzoj1054:bfs bzoj1027:Floyd最小环 bzoj1018:用线段树维护区间的四个端点的联通情况,然后查询的时候,把所有覆盖到的区间合并起来即可。 bzoj103 阅读全文
posted @ 2018-12-05 11:26 MJT12044 阅读(220) 评论(0) 推荐(0)
摘要:2140: 稳定婚姻 1 /* 2 求联通分量。 3 */ 4 #include<bits/stdc++.h> 5 using namespace std; 6 typedef long long LL; 7 8 inline int read() { 9 int x=0,f=1;char ch=g 阅读全文
posted @ 2018-07-08 20:35 MJT12044 阅读(281) 评论(0) 推荐(0)
摘要:HDU1028 Ignatius and the Princess III 代码 1 #include<cstdio> 2 #include<algorithm> 3 #include<iostream> 4 5 using namespace std; 6 7 int a[130],b[130]; 阅读全文
posted @ 2018-05-01 18:10 MJT12044 阅读(342) 评论(2) 推荐(0)
摘要:dp练习。 codevs 1048 石子归并 区间dp 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 7 using namespace st 阅读全文
posted @ 2018-03-01 09:19 MJT12044 阅读(236) 评论(0) 推荐(0)
摘要:splay区间增减查询 1 #include<cstdio> 2 #include<algorithm> 3 4 using namespace std; 5 6 const int N = 500100; 7 const int INF = 1e9; 8 typedef long long LL; 阅读全文
posted @ 2017-12-09 11:21 MJT12044 阅读(217) 评论(0) 推荐(0)
摘要:tarjan poj 3352 Road Construction 求最少添加几条边才能使所给无向图变成边双连通图。 求出边双,缩点成一个树,之后统计树上的点度数为1的点的个数cnt,(cnt+1)/2就是答案。 定理:任意一颗无向图的树,成为双连通图,则需要增加的边数为(这棵树上所有度数为1的结点 阅读全文
posted @ 2017-11-25 16:13 MJT12044 阅读(178) 评论(0) 推荐(0)
摘要:Tarjan算法及其应用 引入 tarjan算法可以在图上求解LCA,强连通分量,双联通分量(点双,边双),割点,割边,等各种问题。 这里简单整理一下tarjan算法的几个应用。 LCA http://www.cnblogs.com/mjtcn/p/6852646.html 强联通分量 有向图的 强 阅读全文
posted @ 2017-11-25 13:29 MJT12044 阅读(734) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2017-10-28 21:43 MJT12044 阅读(4) 评论(0) 推荐(0)
摘要:整理一些树的,基本的,简单的一些知识。 先写一下关于树的许多定义。 树,父节点、子节点、子树、祖先、兄弟、根节点、叶节点、直径、路径、重心、直径、最近公共祖先、生成树、dfs序,树形dp等 1、最近公共祖先 一般用倍增求LCA(Least Common Ancestors)。 按照朴素的做法,就是深 阅读全文
posted @ 2017-10-27 11:16 MJT12044 阅读(383) 评论(3) 推荐(0)