摘要:
传送门 Sol 首先状压大概是很容易想到的 一般的做法大概就是枚举每种状态然后判断转移 但是这里其实可以轮廓线dp 也就是从上到下,从左到右地放方块 假设我们现在已经放到了$(i,j)$这个位置 那么影响这个位置怎么填的其实就只有这个位置上面的位置到它左边的位置这一段的状态 于是把这一段从上到下从左 阅读全文
摘要:
洛谷 $Description$ 农夫约翰想改造一条路,原来的路的每一段海拔是$Ai$,修理后是$Bi$,花费$|Ai – Bi|$。我们要求修好的路是单调不升或者单调不降的。求最小花费。 $Solution$ 首先只讨论数列不降的情况 结论:$B$中的数一定都是$A$中的数 这里可以用数学归纳法证 阅读全文
摘要:
传送门 $Description$ 求两个序列的最长公共上升子序列 $Solution$ $f[i][j]$表示$a$序列匹配到$i$和$b$序列匹配到$j$的最长上升序列的长度,这里并不要求$a[i]==b[j]$。 两层循环,外层$i=1...n1$,内层$j=1...n2$ 转移: $f[i] 阅读全文
摘要:
传送门 Description 杨先生希望为他的班级拍照。学生将排成一行,每行不超过后面的行,并且行的左端对齐。例如,可以安排12名学生排列(从后到前)5,3,3和1名学生。 此外,杨先生希望每排学生安排高度从左到右减少。此外,学生身高应从后向前减少。想想看,杨先生看到,对于这个12人的例子,至少有 阅读全文
摘要:
$Luogu$ $Simple\ Description:$ 牛牛有$n$节课要上,每个时段都有$2$个教室在上课(具体来说是第$c[i]$与第$d[i]$个教室),牛牛在其中的一个教室上课,牛牛起初每节课分别被安排在$c[i](i=1..n)$节教室上课,他可以提出申请到教室$d[i]$上课,申请 阅读全文
摘要:
传送门 Description: 给定T个数,分别求出它们的最大质因数 Solution: 其实大概框架是很容易想到的 对于一个数n 找到它的一个因数x 判断这个因数是不是质数 如果是质数就更新答案 如果不是 就分别分解x与n/x 找因数用Pollar-Rho 判质数用Miller-Rabin 细节 阅读全文
摘要:
洛谷传送门 Solution:(非常言简意赅) 首先分解出p,q 用Pollard-Rho算法 算出r 解ed≡1(mod r)的同余方程算出d 用快速幂算出cdmod N 然后没啦 Code: 1 #include<bits/stdc++.h> 2 #define Rg register 3 #d 阅读全文
摘要:
传送门 Solution 懒得写啦 Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #define Rg register 5 #define go(i,a,b) for(Rg int i=a;i<=b;i++) 6 阅读全文
摘要:
传送门 Description: 求关于x的同余方程a*x≡1(mod b)的最小正整数解。 Solution: 其实就是求最小正整数x使得a*x-1是b的倍数 不妨设它为b的-y倍 则a*x+b*y=1 欧几里得算法算出一个特解x0 然后处理一下x0使之称为满足题意的最小正整数就可以啦 Code: 阅读全文