随笔分类 - ACM_数据结构
摘要:通道题意:f(l,r)=∑ri=l∑rj=igcd(ai,ai+1....aj),q次询问。思路:考虑每加入一个点,那么贡献了r-l+1个区间,然后会发现区间内与新加入的r这个的gcd都是一块一块的,然后树状数组维护这个即可。代码:#include #include #include #includ...
阅读全文
摘要:通道题意:加线段,删线段,每次加线段询问当前线段完整覆盖了多少条线段思路:对于新插入的线段,查询有多少个线段左端点大于等于该线段的左端点。 再查询有多少个线段的右端点大于该线段右端点, 两者之差就是答案。用两个树状数组搞定。代码:#include #include #include #include...
阅读全文
摘要:通道题意:根据那个递推式,找找规律即可。代码:#include #include #include #include #include using namespace std;typedef long long ll;inline bool rd(int &ret) { char c; int...
阅读全文
摘要:void solve(){ int ans=0,i,j,front1,front2,rear1,rear2; front1=rear1=0; front2=rear2=0; for(i=1,j=1;jfront1&&d[qmax[rear1-1]]front2&&d[qmin...
阅读全文
摘要:通道题意:n个A串,n个B串,求如何匹配使得LCP和最大。思路:裸的字典树,当时想复杂了。。。代码: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 struct Trie { 9 ...
阅读全文
摘要:通道题意:n个数,2种操作,1是单点更新,2是询问区间内序号为奇偶交错的和。代码: 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include 3 #include 4 #include 5 #incl...
阅读全文
摘要:通道:https://www.codechef.com/problems/PRIMEDST题意:一棵树上任取两点,问两点间距离为质数的概率思路:对于求树上的路径数的题,可以想到要用树分治,我们可以考虑经过一个点的方案数,用fft快速地求出所有方案数,然后减去来自同一颗子树的方案数代码: 1 #in...
阅读全文
摘要:通道:http://codeforces.com/contest/558/problem/e题意:给出一个字符串,Q个询问,(l,r,v),将[l,r]区间升序或降序排序(v==0|v==1)思路:26颗线段树,区间更新即可。代码: 1 #include 2 #include 3 4 ...
阅读全文
摘要:通道:http://codeforces.com/contest/446/problem/C题意:区间修改和区间查询,他的区间修改不是个定值,而是从L 到 R 分别加 F1、F2、。。。Fr-l+1 (F为斐波那契数列)思路:根据斐波那契数列的两个定义(任意区间适应,a为该区间的第一项,b为该区间的...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3681题意:机器人从F出发,走到G可以充电,D不能走进,走到Y关掉开关,要求把所有开关关掉,且电量最少,并求出初始最小电量。思路:二分初始的电量,预处理任意G,Y,F之间的最短距离,然后状压dp[s][u]:...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3698题意:每行选1个数,使得最后选的数的和最小,上下两行所选的数满足:|j-k|≤f(i,j)+f(i+1,k).思路:dp[i][j]:前i行选了j的最小,转移dp[i+1][k] =min(dp[i][...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4122题意:给定N和M,表示有N个订单,M个时刻可以做月饼,时刻以小时计算,任意时刻可以做若干个月饼。接着N行为N个订单的信息,包括时间和数量。再给定T和S,表示每个月饼的保质时间和每保存一小时的开销。然后M...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4747题意:mex(L, R)表示区间上第一个没出现的最小非负整数,对于序列a[],求所有的mex(L, R)的和思路:就是求mex(1,1) + mex(1,2)+....+mex(1,n) ...
阅读全文
摘要:通道:http://poj.org/problem?id=1741题意:有多少对[u,v]的距离小于K思路:将无根树转化成有根树进行观察。满足条件的点对有两种情况:两个点的路径横跨树根,两个点位于同一颗子树中。如果我们已经知道了此时所有点到根的距离a[i],a[x]+a[y]#include #in...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=5039题意:n点n-1条边组成的一棵树,问其中有多少条路径(u,v)路径亦或和为1思路:首先要明白一个结论,u->v的值始终与1->u xor 1->v相等。有了这个性质之后,直接选一个点为根,dfs遍历整颗...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4777题意:一个数列有n个数,然后有m个询问,每个询问 l,r表示问你区间[l,r]中有多少个数与除自己之外的其他数互质思路:用l[i],r[i]记录位置i左右最近的不互质的位置,然后从左到右对于i加1,r[...
阅读全文

浙公网安备 33010602011771号