NOIP 考前DP 复习】的更多相关文章

POJ 2533 最长不降子序列 #include <cstdio> ; int a[Maxn],Pos[Maxn],F[Maxn],n,Ans; inline int Max(int x,int y) {return x>y?x:y;} inline int Find(int x) { ,r=Ans,Res; while (l<=r) { ; ; ; } return Res; } int main() { scanf("%d",&n); ;i<…
BZOJ 1127 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 2020 using namespace std; int n,k,a[M][M]; long long sum[M][M]; long long Get_Sum(int x1,int y1,int x2,int y2) { ][y2]-sum[x2][y1-]+s…
POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; d=Gcd(x,y); 那么就可以解出原来的x=(x*(r2-r1)/d) 那么代入原式r1=a1*x+r1 新的a1=lcm(a1,a2); #include <cstdio> #define LL long long LL a1,a2,r1,r2,x,y,n; LL Extend_Gcd(L…
BZOJ 1455 左偏树即可 #include <cstdio> #define LL long long ; struct Info{LL l,r,v,Dis;}Tree[Maxn]; LL Father[Maxn],n,m,Dead[Maxn],u,v; inline void Swap(LL &x,LL &y){LL t=x;x=y;y=t;} LL Get(LL x) {return x==Father[x]?x:Father[x]=Get(Father[x]);}…
POJ 1236 给定一个有向图,求: 1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点 2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点 第一个就是缩点之后有多少入度为0的个数因为一定要从这些节点出发 第二个就是因为图本身就是联通的,设入度为0的点有n个,出度为0的点有m个, 那么入度的编号为N0,N1,N2,N3...Nn,出度编号为M0,M1,M2...Mm  那么连N0->M0->N1->M1->N2->M3.这样形成环啦那连到Mi…
网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=100+10,maxs=maxn*maxn+2*maxn; int n,m,S,T; int aa…
Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻译 简单 模拟,复杂度\(O(nm)\) 本题期望得分\(100\),期望用时\(10min\) 乌龟棋 简单 DP,设\(dp[a][b][c][d]\)表示四种卡片各用了多少张,复杂度\(O(40^4)\) 本题期望得分\(100\),期望用时\(10min\) 关押罪犯 简单 图论 数据结构,…
NOIP考前划水 君指先跃动の光は.私の一生不変の信仰に.唯私の超電磁砲永世生き! 要开始背配置了? 3行不谢. (setq c-default-style "awk") (global-linum-mode t) (global-set-key (kbd "RET") 'newline-and-indent) 蒯一些别人写的联赛考点: 基础算法 [x] 快速幂(矩阵快速幂) [x] 模拟(高精度,高斯消元) [x] 倍增 [ ] 搜索(dfs,bfs,记忆化搜索,…
区间DP复习 (难度排序:(A,B),(F,G,E,D,H,I,K),(C),(J,L)) 这是一个基本全在bzoj上的复习专题 没有什么可以说的,都是一些基本的dp思想 A [BZOJ1996] [Hnoi2010] chorus 合唱队 裸题 \(dp[i][j][2]\)表示区间\(i,j\)最后放的是\(i\)还是\(j\)的方案数 int n; int a[N]; ll dp[N][N][2]; int main(){ rep(i,1,n=rd()) a[i]=rd(); rep(i,…
DP复习 集训%你赛2:测绘(审题DP) 经过2000+个小时的努力终于把这道题做出来的蒟蒻通 分析: 这道题我一直没做出来的原因就是因为我太蒟了题面看不懂,题面读懂了,其实不是特别难. 题目翻译: 你从1~n中选k个数,使得误差值小于E.求最少的k. 这里的k都是1~n之间的数字,什么M[]的S[]的先忽略不管他. 现在就是你有n天的数据,你从中选k天,使得这些天的数据与总数据的误差值小于E,找最少的k. 然后通过一些奇怪的方法求出你选的k天的误差值,就ok了. 然后我们开始定义DP数组 dp…