上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 28 下一页
摘要: 二分答案。二分n,然后check的时候发现分类讨论一下当前值与K的关系就行了。 论认真读题的重要性。我没看见直接新建一个文件,弃置之前??? 难受 #include <iostream> #include <cstdio> #include <cstring> using namespace std 阅读全文
posted @ 2018-10-02 16:13 SWHsz 阅读(133) 评论(0) 推荐(0) 编辑
摘要: ETT的模板题。 我们把欧拉序标出来, 把入栈视作+,出栈视作-。 它的子树一定是在两个欧拉序中间的。 然后把欧拉序当做一个区间维护,换父亲就把左右两端这个区间挪到它的新父亲的入栈的右边。用splay维护一下就行了。 但是!这个@#$%^&题卡数组版splay????? 但是不卡spaly???(单 阅读全文
posted @ 2018-10-02 15:27 SWHsz 阅读(132) 评论(0) 推荐(0) 编辑
摘要: WA了一万次。。。。 然后发现多输出了一个空格 我#$%^& 启示我们输出字符的时候应该输出ASCII码看一下。。。。 然后本题可以用烤馍片算法,每次匹配完以后看看当前最后一位的nxt数组的值是多少,然后补齐到 lenT 。 下次匹配的时候直接从上次匹配过的最后一个开始匹配就行了。 #include 阅读全文
posted @ 2018-10-02 15:01 SWHsz 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 区间DP,但是卡空间。 n2的就是f[i,j]=sum[i,j]-min(f[i+1][j],f[i][j-1])表示这个区间和减去对手取走的最多的。 但是空间是64MB,就很难受 发现一定是由大区间转移到小区间,区间长度差为1 式子变成 :f[i,i+len]=sum[i,i+len]-min(f 阅读全文
posted @ 2018-10-02 14:56 SWHsz 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 修建模板库 kmp就是利用已经匹配过的信息降低复杂度。 每次记录当前位置的最长的后缀等于前缀,然后如果发现当前节点不能匹配,就直接往前跳nxt进行匹配。 #include <iostream> #include <cstdio> #include <cstring> using namespace 阅读全文
posted @ 2018-09-30 20:15 SWHsz 阅读(115) 评论(0) 推荐(0) 编辑
摘要: LCT板子题。 和线段树2的操作方法一样,先乘后加就行了。洛谷评分虚高 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N=100005,mod=51061; int n, 阅读全文
posted @ 2018-09-30 17:16 SWHsz 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 大概意思是让求一个图的最小割的必须边和可行边 然后做法就是在残量网络上跑tarjan缩点。如果这个边没有满流,它就没有被割,肯定不是。 如果这个边的from和to不在一个点,就是可行边。如果from和S在一起,to和T在一起,就是必须边。 jcvb:(策神Orz 在残余网络上跑tarjan求出所有S 阅读全文
posted @ 2018-09-30 15:58 SWHsz 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一下午搭进去了。。 最后发现少写了个pushup??? 有个关键的细节就是每次可合并两个区间的时候要判断一下ls的最左边的颜色和rs最右边的颜色一样不一样,一样就ans-- 然后就update和query的时候把链分成两节弄,否则很麻烦。 #include <iostream> #include < 阅读全文
posted @ 2018-09-27 23:59 SWHsz 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 分块题。 巨神Monster_Qi讲了以后发现这道题并不难,在此Orz 预处理两个数组,sum和ans。 离散化以后找前i块j出现了几次,和i到j块的众数是多少。这样的复杂度是n√n的,然后查询的时候边角块一个一个往进加,看能不能更新众数即可。 (不是我故意压行,是这个条件太多了。。。 #inclu 阅读全文
posted @ 2018-09-27 15:37 SWHsz 阅读(154) 评论(0) 推荐(0) 编辑
摘要: lct模板题。把所有的边按照a排个序,然后挨个加进去,然后以b为边权,求一个动态最小生成树。把每条边想成一个点,嵌在两个端点之间,然后每次加边的时候判一下新边的两个端点连不连通,连通的话就找两点路径上的权值最大的那个"边点"上的点权,把它和两端点cut了,然后再link这个"边点"和两个点。 #in 阅读全文
posted @ 2018-09-26 17:27 SWHsz 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 28 下一页