分类: 未分类

544 篇文章

Codeforces Round #704 (Div. 2) D. Genius’s Gambit
Aimee 鉴于本人代码一开始写得非常不美观 所以说一堆特判 边界是$a+b-2<=$且$K!=0$时不存在 然后一堆特殊情况 #include<iostream> #include<cstdio> #include<cstring> int a,b,k,z; using namespace std; st…
P2800 又上锁妖塔
Aimee 非常显然 #include<iostream> #include<cstring> using namespace std; int n; int h[1000001]; long long dp[1000001][2]; int main(){ cin>>n; memset(dp,0x3f,size…
P2066 机器分配
Aimee 一道非常水的分组背包求方案数 字典序这个东西要谨慎处理 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n,m; int dp[20][20…
P3399 丝绸之路
AImee $dp_{i,j}表示第i天到达第j个城市$ 反正是线性的,那么要不是早就到了j在那休息,要不就是上一天从上一座城市过来 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int d[1001],c[1…
P1351 [NOIP2014 提高组] 联合权值
Aimee 这是个dp?不过没有必要用dp 毕竟显然距离为2中间一定要经过一个点,那枚举中间点即可 之后显然假设一个点所有相邻的点的点权为集合$A= { a_1,a_2,a_3······a_k}$ 显然对于这个点,和就是$sum{1}^{i=k} sum{1}^{j=k} a_i*a_j |i!=j$ 那么这样上面的那个式子显然等于$(sum_{…
P4290 [HAOI2008]玩具取名
Aimee 很显然的区间dp 字符和数字之间使用map大法进行转换即可 经典边界问题以及一点点暴力判断和优化 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<map> us…
P2357 守墓人
Aimee 这么个线段树版子还要解释 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long long using namespace std; int n,m; int f,…
P4933 大师
Aimee 很好想的是$f_{i,j}$表示到第i个时公差为j,显然j不需要枚举,因为无论如何都会枚举i之前的电塔的,那样的话知道了电塔也就知道的公差了 转移的时候由于边界不太好考虑,那就先不考虑单元素了 所以从2开始枚举然后边枚举边统计,最后加上n #include<iostream> #include<cstdio> #…
P3381 【模板】最小费用最大流
Aimee 最小费用是最大流基础上的 那么就用spfa代替Ek的bfs就行 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace s…
P7368 [USACO05NOV]Asteroids G
根据konig定理可知 最大匹配数=最大流=最小割=最小点集覆盖 那么这个题就是一个最大流问题了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using …