03 2016 档案
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4569 首先如果f(x)%(p*p)=0,则必有f(x)%p=0,因此解x必然在满足f(x)%p=0的集合中。 接着注意到p为质数,f(x)为多项式,那么满足f(x)%p=0的集合在p的剩余系中必然很少,而由于f(
阅读全文
摘要:double F(double x) { } /// simpson求定积分 double simpson(double a,double b,double tk,double ta,double tb) { double c=a+(b-a)/2; return (F(a)+4*F(c)+F(b))
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4498 simpson公式可以求连续曲线的定积分。 这里注意解ax^2+bx+c=0时a=0,退化为一次的情况。 #include<iostream> #include<cstdio> #include<cstri
阅读全文
摘要:并查集删点就是弄个id记录当前点的id,删除的时候将id设为新的id,忽略原来的id,当然还要注意去改变原来集合需要维护的性质比如元素个数等等。 这题的坑点在于第二个操作,把u放在u所在集合的时候直接忽略,而不是把u拿出来。
阅读全文
摘要:数据结构: http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=676&pid=1003 http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php
阅读全文
摘要:http://codeforces.com/contest/293/problem/E 题意:求树上合法点对的个数。合法条件为:路径长度<=W,路径边数<=L。 显然是点分治。求解的时候第一维直接滑窗,第二维插入treap中统计,滑窗的时候删掉即可。
阅读全文
摘要:这次写不容斥的版本,WA了好几次,又改成容斥的,还是没过,一怒之下把所有的int改成longlong就过了。。。
阅读全文
摘要:这里要求输出字典序最小的两个点,就不能像之前那样容斥了,只能直接搞了。 直接搞的话,需要避开n^2,由于这里是等式,显然应该考虑hash映射。从前往后依次枚举计算每棵子树,对于每个子树结点,快速从前面已经计算过的子树中找到答案更新就可以了。 很简单的东西,只是难以用文字解释得清楚。大概一般点分治不用
阅读全文
摘要:和上一道一样,只是把<=K改成=K就行了,不过算起来难度增加了一点,滑窗的时候容易滑错。 这次我把端点在根的也弄到第三种情况一起搞,也就是分两种情况,经过根和完全在子树里。这样写起来也之前写的简洁不少。
阅读全文
摘要:直接用主席树维护下分数和个数就行了,思路挺好想的,不过比赛的时候我死活都没往主席树上想。。。唉。。。 然后需要注意的地方是, 1,区间更新时需要标记永久化,也就是标记不下放。 2,开64倍空间。一般开结构体会多用一些空间,所以空间比较紧的时候可以改成数组。 最后说说坑点,RE返回T。。。不过开64倍
阅读全文
摘要:入门题,算是对树分治有了初步的理解吧。 对于点分治,我的理解就是进行logn次暴力,每次暴力的复杂度为n,总复杂度为n*logn。
阅读全文
摘要:今天认真看了下紫书上的点分治的入门题,我有点理解点分治的复杂度和原理了,于是我去写了这道入门题,然后T了,我以为是题目SB卡常数,弄了组大数据后发现是自己SB,我的程序没跑出来,标程秒出。。。看来我的理解可能有点问题,今晚就弄一下树分治,试着补第三场的那道树分治的题吧。 原来是找根的时候找错了,
阅读全文
摘要:直接dfs就可以了,记忆化都不需要。。复杂度o(N)
阅读全文
摘要:B题: 比赛的时候我又没仔细看题,又把题目读错了。。。虽然读对的话我也不一定能想出如何用加权并查集做。比赛的时候我的第一感觉就是splay模拟,赛后写了一下,TLE了。。。 #include<iostream> #include<cstdio> #include<cstring> #include<
阅读全文
摘要:训练赛第二场的I题,上完体育课回来就把这题过了,今天训练赛rank1了,还把大大队虐了,而且我还过了这道题 (虽然我也就过了这道题。。。),第一次在比赛中手写AC自动机还带dp的,心情大好。 给一个字符串集合,求包含该集合超过K个字符的,长度为L的字符串的个数。 显然是在AC自动机上跑dp,设dp[
阅读全文
摘要:题意:多次操作和询问,操作是增加新的模版串,询问是询问匹配。 思路:如果每次插入重建AC自动机的话,需要重建n次,每次重建复杂度为n^2。 弄两个AC自动机A和B,B限制结点数上限为sqrt(n),每次增加新的模版串的时候将它插到B中,重建B,当B结点数达到sqrt(n)时,将B合并到A中,重建A。
阅读全文
摘要:只要把每行的模版串插到ac自动机,然后匹配行,每次匹配成功,那一行对应的字符矩阵的左上角的计数器+1,最后统计下计数器矩阵有多少个左上角是行数的就可以了。 思路很简单,但想法很好,但要注意模版上有两行是一样的,插入到ac自动机的时候会插到同一个结点上,为了区分,我还是谨慎地开了个vector,然后1
阅读全文
摘要:设dp[u][L]为当前在结点u,再走L步合法的概率。 如果当前结点不是单词结点,并不能判定该结点一定合法,还应该沿着失配边往回走,因为可能失配边往回走的过程中出现了不合法的,不过这里不需要专门往回走,只要看last就可以知道往回走的过程中是否有单词结点了。 都发现了这一点了,居然还是WA了。。。本
阅读全文
摘要:手写了下AC自动机,真正理解了kmp之后手写AC自动机还是很简单的。。。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<queue> #defi
阅读全文
摘要:不算很难的一个dp,一个错误的认识是只有DAG才能dp,当然只有DAG才能dp,但是这里的图有环,它却是DAG,因为有了其它维度(比如时间),那么不同时间的同一个点其实是两个不同的点。 #include<iostream> #include<cstdio> #include<cstring> #in
阅读全文
摘要:并不是很难的一个构造,我在比赛的时候把题目读错了,补题的时候想得比较粗糙,迟迟没过这题,之后想法慢慢细致起来,还是将这题过了。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algor
阅读全文
摘要:D题:直接滑窗,枚举转折点,滑动结束点。水题啊水题。。。。 #include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) #define PII pair<i
阅读全文
摘要:Beautiful Soup Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1912 Accepted Submission(s): 391 P
阅读全文
摘要:#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) me
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=108456#rank 这学期第一次集体的训练赛,打得非常不好,也暴露了很多问题。 主要还是自己过于犹豫,急躁,在队伍卡题的时候不能即时站出来,作为主代码手竟然会把思路清晰的题实现起来也不算麻
阅读全文
摘要:上一道题正解是cdq分治,想用动态开点的二维线段树(线段树套线段树+动态开点)水过去但是没成功,但我还是不死心。。。于是我去看了道树套树的题目。。。 题目是bzoj1901(zoj2112),题意是这样的,给一个数列,单点修改和查询区间第k大。。。 如果不带修改的话,显然直接主席树就可以了。。。但是
阅读全文
摘要:想用动态开点的二维线段树水一下,然而TLE了。。。有人线段树套平衡树都过了。。。可能线段树套线段树再加动态开点常数确实大。。。 留着等刷完第三章习题后再搞树套树,和cdq分治一起搞,等学完cdq分治我一定会回来用正解过这题的,今天没过的代码先留着。 #include<iostream> #inclu
阅读全文
摘要:如果写二维线段树区间RMQ,不能单点更新的话,那么和咸鱼有什么区别。 所以弄了一个下午,终于把更新弄出来了。。。 这个是这样的,既然是单点更新,一定会更新到最底层,因此先更新到第一维的最底层,在到第二维一直更新到那个点,然后由那个点一直分两个方向更新上来。 这样的话就不要把第二维弄成结构体了,因为要
阅读全文
摘要:不带修改的二维求RMQ,二维线段树。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #define REP(i,a,b) for(int i=a;i<=b;i++
阅读全文
摘要:二维线段树区间更新和单点查询,由于二维线段树不能传递标记,所以区间更新和一维不太一样,需要用到被更新的值以及更新操作的一些性质,还有要注意对query的影响。 这里操作是翻转,而且是单点查询,所以就直接在矩形块内更新,不把标记传递下去,查询的时候做一下微调,把所有经过的路径的标记都判断一遍,看是否需
阅读全文
摘要:二维线段树就是树套树,线段树套线段树。。。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #define REP(i,a,b) for(int i=a;i<=b;
阅读全文
摘要:splay已经学完了,LCT也告一段落了,treap也手写过了。 这周的计划就是先把训练指南第三章还不会的知识点学会,然后把开刷第三章的习题。 等弄完第三章就去搞cdq分治,莫队,树分治等一些零散的知识点,然后接着搞计算几何。 大概就是这样,所以这周的任务就是 二维线段树 -> AC自动机 -> 习
阅读全文
摘要:D. Messenger time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Each employee of the "Blake
阅读全文
摘要:#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) #define rep(i,a,b) for(int i=a;i>=b;i--) #define
阅读全文
摘要:如果是小数的话不要用EPS,直接循环上1000次。。。 这里是整数,需要注意三分的过程是取不到端点值的,所以需要一开始特判端点,而一开始特判端点又会在l>r时出错,所以也需要特判l>r的情况。 ll bin3(int l,int r) { if(l>r) return -INF; ll res=ma
阅读全文
摘要:E. Product Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Blake is the boss of Kris,
阅读全文
摘要:之前用splay一直超时。。。这次改用treap过的也不轻松,调了一晚上。。。主要是移除操作,一个是该up的时候没up,另外一个是up的时候子结点可能不存在没判断RE了。。毕竟指针版。。。还有就是delete的时候把不该删的也删了。。。 都是比较低级的细节错误。。。 但是再让我写一遍这种题我觉得还是
阅读全文
摘要:原来treap这么简单。。。比splay简单多了。。。。 #include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) using namespace std
阅读全文
摘要:又是不小心打错一个字符调了一晚上。。。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #define REP(i,a,b) for(int i=a;i<=b;i+
阅读全文
摘要:LCT维护边权势把每条边都当成一个点赋予点权,原来的点当然也保留,如果求和点权赋为0,求max点权赋为-INF,如果都要求,那就弄两三个点权。 需要注意的是,LCT的link操作必须换根,如果不把x设为根而直接pre[x]=y的话,结果并不是连接x和y而是连接x的splay的根和y。在弹飞绵羊的题中
阅读全文
摘要:2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 6706 Solved: 3522[Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级
阅读全文
摘要:2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 5728 Solved: 2607[Submit][Status][Discuss] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一
阅读全文

浙公网安备 33010602011771号