随笔 - 531
文章 - 0
评论 - 3
阅读 -
10215
随笔分类 - dp
Maximum sum on a torus UVA - 10827
摘要:求 n×n 的环状方阵上的最大子矩阵和。 构造 2*n *( 2*n) 的正方形 求余的一个操作 x''= (x-1)%n+1 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const
阅读全文
P2467 [SDOI2010]地精部落
摘要:bug: 前缀和不要写错啊啊, 比如 s[r]-s[l-1] #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N=4202; int mod ; int f[N][N
阅读全文
UVA1382 Distant Galaxy
摘要:给出平面上的n个点,找一个矩形,使得边界上包含的点尽可能地多。 先维护前缀和 col[i][j],row[i][j] ,表示i行前j个的和。。 枚举上下边界,右边界,考虑维护左边届 #include <iostream> #include <cstring> #include <algorithm>
阅读全文
UVA1330 City Game
摘要:利用网格图上空白的方格上建一个矩形的建筑。问地区中建筑物的最大面积 递推(dp) #include <iostream> #include <cstring> #include <sstream> using namespace std; const int N=1e3+2; char a[N][N
阅读全文
Fibonacci System UVA - 1652
摘要:https://www.luogu.com.cn/problem/UVA1652
阅读全文
UVA11982 名次表的变化
摘要:有两个1~n 的排列A,B, B是1,2,3...n, 给出A每个数位置变化(往后,往前,不变) 问A排列数? 观察以下发现是个二分图匹配的模型,考虑dp f[i ][ j] 考虑前i个,有j个未匹配 #include <iostream> #include <cstring> using name
阅读全文
UVA1650 数字串 Number String
摘要:对于任意一个只含数字1~n的有序数字串{a1,a2,……,an},比较数字串中所有相邻数字的大小,后者大于前者的用I表示,否则用D表示。例如,数字串{3,1,2,7,4,6,5},{2,1,3,7,4,6,5}和{3,1,2,7,5,6,4}就表示为'DIIDID'。"?"则表示两数的关系未知。例如
阅读全文
Another Crisis UVA - 12186
摘要:#include <iostream> #include <cstring> #include <vector> #include <algorithm> using namespace std; const int N=1e5+3; int f[N],n,K; vector<int> g[N];
阅读全文
Alibaba UVA - 1632
摘要:在一条直线的同一个方向上有 nn 件珠宝,已知每件珠宝的位置,并且第 ii 件珠宝在 Ti时刻消失, 问将所有的珠宝收集起来最小耗时? 搜集不耗时,移动需要耗时 类似区间dp f[i ][ j ] [2] #pragma GCC optimize(2) #include <iostream> usi
阅读全文
Zeros and Ones UVA - 12063
摘要:给出n、k(n≤64,k≤100),有多少个n位(无前导0)二进制数的1和0一样多,且值为k的倍数? +=f[i][j][k] #include <iostream> #include <cstring> #include <cmath> #include <algorithm> using nam
阅读全文
Sum of Different Primes UVA - 1213
摘要:选择K个质数,使它们的和等于N。问有多少种方案? 例如,n=24, k=2时有3种方案:5+19=7+17=11+13=24 #include <iostream> #include <cstring> #include <cmath> #include <algorithm> using name
阅读全文
Pole Arrangement uva1638
摘要:有高度分别为1到n的n根杆子排成一行。如果你从左侧或右侧看这些杆,较小的杆被较高的杆遮挡。 给出杆子的数量n,从左能看到的杆子数量L,从右能看到的杆子数量R,求杆子有多少种排列方式 考虑高度1~n的柱子, 把高度1的插入 2~i 的某个排列中转移 f[i ][j] [k ]=f[i-1][j-1][
阅读全文
比赛名次 Race uva12034
摘要:两人赛马,最终名次有3种可能 求n人赛马时最终名次的可能性的个数 #include<iostream> #include<cstring> #include<algorithm> #include<set> using namespace std; #define mod 10056 int c[1
阅读全文
纸牌游戏 Double Patience
摘要:记忆化搜索 #include <iostream> #include <cstring> #include <iomanip> using namespace std; double f[5][5][5][5][5][5][5][5][5]; bool v[5][5][5][5][5][5][5][
阅读全文
"Ray, Pass me the dishes!" uva1400
摘要:求区间 [ l,r] 中 的最大子段和 即 Sum[r]-Sum[l]
阅读全文
旅行 Tour uva1347
摘要:直角坐标系中,有 nn 个点。要求先从左往右走,再从右往左走,不重复的经过每一个点。 求出最短路径(距离为两点间直线距离)。 f [i ][j ] 表示点 1~max(i,j) 已走过,的路径长度 #include <iostream> #include <algorithm> #include <
阅读全文
Hot Start Up (easy version) CF1799
摘要:你有两个 CPU,n个程序(m个类型)要运行。 在不同条件下程序运行的时间不同,但连续运行的时间满足小于等于在不连续状态下运行的时间。 #include <iostream> #include <cstring> #include <queue> using namespace std; const
阅读全文
P5343 【XR-1】分块
摘要:f[i ] += f[i-j] j<=100 ( j belong to S 构造的矩阵: 这种求和的柿子可以化为矩阵乘法,做法是 矩阵对应元素设置0/1 #include <iostream> #include <cstring> #include <map> using namespace st
阅读全文
P4544 Buying Feed G
摘要:dp &单调队列优化 这个题 : k<=i, 决策点k 可以等于i ,所以在 i 入队后递推 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N =503,M =1e4+2
阅读全文
P2986 Great Cow Gathering G
摘要:换根dp, father -> son , 基本是加减 #include <bits/stdc++.h> using namespace std ; const int N=1e5+2,M=N*5; #define int long long int n,a[N],sz[N],g[N],f[N],S
阅读全文