05 2017 档案
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3196 树套树! #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 30
阅读全文
摘要:由于下午硬钢树套树和大力颓废就没补完 C:我傻逼比赛时没做出来。。。就是排个序然后算贡献 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 300010, mod = 1000000007
阅读全文
摘要:A:暴力模拟 #include<bits/stdc++.h> using namespace std; int a, b; int main() { scanf("%d%d", &a, &b); int delta = 1, x = 0; while(1) { if(x == 0) { if(a <
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2300 终于对了。。。 平衡树又写挂了。。。不要忘记清空原先的root和修改root。。。 #include<bits/stdc++.h> using namespace std; const int
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4756 水题一枚。。。但是我写了一个小时。。。手贱打反查不出来。。。 就是每次线段树合并,先把自己的儿子都合并了, 最后和自己合并。。。 #include<bits/stdc++.h> using na
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2212 线段树合并。。。 感觉这东西挺鬼畜的。。。不是很懂 这道题思想很简单,对于每个非叶子结点,我们要合并左右儿子的数,我们可以交换或者不交换,那么交换了其实只会自己内部有影响,对下一次合并没有影响,
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1833 2.5个小时就花在这上面了。。。 水到200题了。。。然并卵,天天做水题有什么前途。。。 #include<bits/stdc++.h> using namespace std; typedef
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1026 数位dp。。。 首先我们先把没有限制的dp出来,然后分类讨论,如果最高位比这个数的最高位小或者比这个数短的方案先加上去,然后讨论最高位等于这个数的情况。 比如说54321,我们把<50000的东
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2648 kdtree裸题。。。 抄板子一边抄对了。。。 挺好理解的,就是说我们先找出中间的元素,然后小的放左边,大的放右边,这样我们就确定了这个点,然后维度换一下,递归建树,很像splay,其实就是把平
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3771 生成函数。。。 其实就是多项式乘法。。。lrj书上有一个通俗的解释。。。 然后就是这个样子,我们构造一个多项式,a[x]=1,表示这个水果存在,那么我们乘一下就求出对应的大小了。但是可能会有重复
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 今天肿么这么颓废啊。。。心态崩了 首先我们得出Ei=Fi/qj,然后我们设f[i]=1/i/i,那么我们把刚才的式子转化一下,就是ans[j]=f[i]*g[j-i]-f[i]*g[i-j](s
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2194 卷积。。。 卷积并不高深,其实卷积就是两个多项式相乘的系数,但是得满足一点条件,就是f[n]=a[i]*b[n-i],就是下标和固定。。。然后这道题下标和不固定,但是我们把b反过来,就是一个卷积
阅读全文
摘要:模板 #include<bits/stdc++.h> #define pi acos(-1) using namespace std; const int N = 300010; int n, m, L, x; int r[N]; complex<double> a[N], b[N]; void f
阅读全文
摘要:fft裸题 我还没有背下来fft #include<bits/stdc++.h> #define pi acos(-1) using namespace std; const int N = 300010; int n, m, L, x; int r[N]; complex<double> a[N]
阅读全文
摘要:2-sat。。。求解2-sat方案直接每个变量枚举就行了,lrj的代码很靠谱。。。 #include<bits/stdc++.h> using namespace std; const int N = 300010; struct edge { int nxt, to; } e[N << 4]; i
阅读全文
摘要:2-sat+二分。。。 每次二分答案然后连边2-sat。。。边要开到n*n 样例水得跟没有一样。。。 #include<bits/stdc++.h> using namespace std; const int N = 4010; struct edge { int nxt, to; } e[N *
阅读全文
摘要:A:判断一下就可以了 #include<bits/stdc++.h> using namespace std; typedef long long ll; int a, b, c, n; ll ans; int main() { scanf("%d%d%d%d", &a, &b, &c, &n);
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1823 2-sat裸题 #include<bits/stdc++.h> using namespace std; const int N = 4010; struct edge { int nxt, t
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3112 模板题。。。模板又打错了。。。 #include<bits/stdc++.h> using namespace std; const int N = 1010; const double eps
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1061 单纯形。。。 先开始我不知道对偶,看着代码不知所措,并不能懂他们写的是什么。。。 单纯形的标准形式是uoj上那样的,限制小于,最大化,但是这道题是最小化,而且系数取负还不行(我的理解是取负了无法
阅读全文
摘要:沦为了背板子...wyfcyx的ppt #include<bits/stdc++.h> using namespace std; const int N = 30; const double eps = 1e-8, inf = 1e18; int n, m, l, e, t; double k; d
阅读全文
摘要:这道题不仅得看俞华程的论文,还得看陈丹琦的论文,否则是不可能做出来的。因为难点在构造矩阵上。 构造矩阵困难在如何表示状态,因为树不能有环,也不能不连通,这里我们引入了最小表示法来表示连续k个点的连通性。 首先我们找出所有可能的状态,dfs一下就行了,最多只有53种。然后计算每种状态的形态,状态只是表
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3105 就是不懂。。。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 100010;
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2844 线性基。。。 先把线性基搞出来,然后不断逼近答案,如果这个基比答案小了,那么说明要加上,同时加上贡献:现在的位i +1<<(now-i) 为什么呢,我是这样理解的:一个数分两种情况:选这位和不选
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4269 裸线性基,一个数取多次就是没取。。。 又有了些新的理解:a数组的前now个元素是基底,也就是可以变成1的位,最大就是所有1都选,次大就是最后一个1不选 #include<bits/stdc++.
阅读全文
摘要:https://vjudge.net/problem/UVA-1563 高斯消元解同余方程组 就是把原来的除法换成逆元,其他的都一样 #include<bits/stdc++.h> using namespace std; const int N = 110; int n, p; int a[N][
阅读全文
摘要:线性基? 线性基在我的理解下是一种向量基底,就是说每个数a[i],都能通过线性基组合出来。又因为线性基只有01,所以系数只有01 这道题感觉就是确定每一个二进制位能不能通过xor组合出来,然后因为二进制可以通过贪心确定大小,因为选择最高位肯定是最大的,所以我们可以拆分k来确定每一位选还是不选。 消元
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4199 又做了一遍,感觉没什么难的,但是还是想了一下。。。 按lcp分类,从大到小合并,合并是按元素合并,就是lcp两端的sa,然后就行了,可能会有人想会不会导致将两个距离很远的sa合并,不会,因为按元
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4873 最大权闭合子图。。。 建图: 1.d[i][j]:i->j区间的费用,d[i][j] > 0 ins(S,id(i,j),d[i][j]) 否则ins(id(i,j),T,-d[i][j]) 套
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4869 终于A了。。。参考了下dalao的代码。。。 拓展欧几里得定理,改了几次就不变了,但是用的时候要在快速幂里判是不是要用。 #include<bits/stdc++.h> using namesp
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4818 矩阵快速幂+dp 首先我们来写一个dp dp[i][j]:选到第i个数,和为j,复杂度nm,不行,那么我们把j模p一下,复杂度np,还是不行。问题出在n上,那么我们要把n优化掉。 那么我们用矩阵
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2004 矩阵快速幂。。。并没有想出来。。。 理解地不是很好 先挖个坑 #include<bits/stdc++.h> using namespace std; typedef long long ll;
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1692 这道题还是双倍经验。。。 这道题只用到了sa。首先有一个弱化版的题目:1640,n<=2000。我们有个贪心的策略:每次从两端取,取字典序较小的,但是当两端的字符相等,那么我们需要一些其他的依据
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2419 ∑Ui−UjRi,j=0∑Ui−UjRi,j=0 ∑U1−UjR1,j=1∑U1−UjR1,j=1 ∑Un−UjRi,n=−1∑Un−UjRi,n=−1 Un=0 这就是方程了。。。但是代码有点
阅读全文
摘要:In an extended version of the game Lights Out®, is a puzzle with 5 rows of 6 buttons each (the actual puzzle has 5 rows of 5 buttons each). Each butto
阅读全文
摘要:Consider an n-by-n matrix A. We define Ak = A ∗ A ∗ . . . ∗ A (k times). Here, ∗ denotes the usual matrix multiplication. You are to write a program t
阅读全文
摘要:Given the value of a+b and ab you will have to find the value of a n + b n Input The input file contains several lines of inputs. Each line except the
阅读全文
摘要:https://vjudge.net/problem/UVA-11542 xor高斯消元。。。 答案为2^f-1 其实书上有一个问题 样例有3种情况,其中4,6,15是绑在一起的,也就是他们必须满足一定的选或不选的关系。当一个变量是自由的,当且仅当他的所有的幂%2==0,也就是说这个数是一个完全平方
阅读全文
摘要:https://vjudge.net/problem/UVA-10828 裸高斯消元。。。 但是要判无解和无穷解。 当出现一个环时会无解,环上每个点只有一个出边。 #include<bits/stdc++.h> using namespace std; const int N = 110; cons
阅读全文
摘要:https://vjudge.net/problem/UVALive-3704 参考:http://www.cnblogs.com/iwtwiioi/p/3946211.html 循环矩阵。。。 我们发现,这道题n^3logk过不了 那么就要用循环矩阵 矩阵乘法:a[i][j]=b[i][k]*c[
阅读全文