摘要:
题目 这题线段树过不了,一定要用树状数组 r a [ u ] [ ] ra[u][] ra[u][]维护 u u u子树中与 u u u各种距离的价值和 r b [ u ] [ ] rb[u][] rb[u][]维护 u u u子树中与 u u u的点分树上的父亲的各种距离的价值和 Code #in 阅读全文
摘要:
题目 其实这道题找规律也很容易,我就是这么做的,但是还是看正解比较好:大佬题解 补充说明其中的一条公式: ( a x + b ) n (ax+b)^n (ax+b)n = ∑ k = 0 ∞ f ( k ) ( 0 ) x k k ! =\sum_{k=0}^∞\frac{f^{(k)}(0)x^k 阅读全文
摘要:
题目 题解 Solution 显然 f [ i ] [ j ] f[i][j] f[i][j]表示前 i i i个村子建了 j j j个基站且第 i i i个村子建了基站 f [ i ] [ j ] = c [ i ] + m i n f [ k ] [ j − 1 ] + c o s t ( k 阅读全文
摘要:
题目 题意:构造两个字符串 s s s, p p p,使 p p p在 s s s中作为子序列的出现次数恰好等于 n n n。 其中 n ≤ 1000000 n≤1000000 n≤1000000; s s s, p p p的长度不能超过 200 200 200。 在构造过程中保证使 s = p u 阅读全文
摘要:
题目 Solution 假设当前输入的区间为 [ l , r ] [l,r] [l,r],那么当区间 [ x , y ] [x,y] [x,y]满足 l ≤ y , x ≤ r l≤y,x≤r l≤y,x≤r时,两区间相交 我一直在想怎么同时维护左右端点,后来才发现,直接以右端点为关键字,把所有区间 阅读全文
摘要:
e x g c d ( x ) exgcd(x) exgcd(x)时必须保证 x x x是非负数 for (i=0;i<m;i++){ for (j=i;j<m;j++) if (A[j][i]){ swap(A[i],A[j]); break; } ex_gcd(A[i][i],M,x,y); f 阅读全文
摘要:
题目 题解(D题) 数据结构题虽然难写,但是没什么好说的,具体看代码吧 Code s w p swp swp是用来排序的, t o t tot tot是用来统计答案的 t r i e trie trie树内存要额外* 30 30 30 #include<bits/stdc++.h> using na 阅读全文