随笔分类 -  洛谷

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页
摘要:Aimee 一道非常水的分组背包求方案数 字典序这个东西要谨慎处理 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n,m; int dp[20][2 阅读全文
posted @ 2021-02-23 15:08 Simex 阅读(63) 评论(0) 推荐(0)
摘要:AImee \(dp_{i,j}表示第i天到达第j个城市\) 反正是线性的,那么要不是早就到了j在那休息,要不就是上一天从上一座城市过来 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int d[ 阅读全文
posted @ 2021-02-22 18:13 Simex 阅读(65) 评论(0) 推荐(0)
摘要:Aimee 这是个dp?不过没有必要用dp 毕竟显然距离为2中间一定要经过一个点,那枚举中间点即可 之后显然假设一个点所有相邻的点的点权为集合$A= { a_1,a_2,a_3······a_k}$ 显然对于这个点,和就是$\sum_{1} \sum_{1} a_i*a_j |i!=j$ 那么这样上 阅读全文
posted @ 2021-02-21 20:54 Simex 阅读(94) 评论(0) 推荐(0)
摘要:Aimee 很显然的区间dp 字符和数字之间使用map大法进行转换即可 经典边界问题以及一点点暴力判断和优化 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<map> using n 阅读全文
posted @ 2021-02-21 20:35 Simex 阅读(61) 评论(0) 推荐(0)
摘要:Aimee 这么个线段树版子还要解释 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long long using namespace std; int n,m; int f 阅读全文
posted @ 2021-02-21 20:33 Simex 阅读(72) 评论(0) 推荐(0)
摘要:Aimee 很好想的是$f_{i,j}$表示到第i个时公差为j,显然j不需要枚举,因为无论如何都会枚举i之前的电塔的,那样的话知道了电塔也就知道的公差了 转移的时候由于边界不太好考虑,那就先不考虑单元素了 所以从2开始枚举然后边枚举边统计,最后加上n #include<iostream> #incl 阅读全文
posted @ 2021-02-21 16:24 Simex 阅读(55) 评论(0) 推荐(0)
摘要:Aimee 最小费用是最大流基础上的 那么就用spfa代替Ek的bfs就行 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; i 阅读全文
posted @ 2021-02-21 14:56 Simex 阅读(55) 评论(0) 推荐(0)
摘要:根据konig定理可知 最大匹配数=最大流=最小割=最小点集覆盖 那么这个题就是一个最大流问题了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using names 阅读全文
posted @ 2021-02-21 11:49 Simex 阅读(45) 评论(0) 推荐(0)
摘要:加错边权了 最大流==最小割,毋庸置疑 但是这个题删的是点怎么办 那就把每一个点拆成两个,一入一出,然后中间连一条流量为1的边,图上原有的为inf 源点和汇点则大小也为inf 不能删啊 #include<iostream> #include<cstdio> #include<algorithm> # 阅读全文
posted @ 2021-02-21 10:32 Simex 阅读(67) 评论(0) 推荐(0)
摘要:Aimee 跳出来重新审视未注意的细节 就是输出整数aaa [斜率优化解释](https://www.luogu.com.cn/blog/hhz6830975/p3195-hnoi2008-wan-ju-zhuang-xiang-toy-xie-shuai-you-hua-ru-men-post) 阅读全文
posted @ 2021-02-21 10:21 Simex 阅读(58) 评论(0) 推荐(0)
摘要:Aimee 矩阵加速递推的模板了。 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #define int long long #define ll long long using names 阅读全文
posted @ 2021-02-21 10:17 Simex 阅读(54) 评论(0) 推荐(0)
摘要:Aimee 很水的题目 #include<iostream> using namespace std; int n; int mod=100003; int m; int x,y; int map[1001][1001]; long long dp[1001][1001]; int main(){ 阅读全文
posted @ 2021-02-20 20:32 Simex 阅读(88) 评论(0) 推荐(0)
摘要:Aimee 首先的问题,如果这个题是无向图怎么搞,显然dp[i][j]表示到点i走了j步就可以了。 但是这是无向图啊,怎么搞呢 那就统计一下从那条边来的,也就是i表示从i边结束 然后暴力转移显然,但是tle起飞 显然可以用矩阵优化一下。 下标很重要,因为矩阵乘法的美妙性质。 最后的统计的时候正难则反 阅读全文
posted @ 2021-02-20 11:50 Simex 阅读(60) 评论(0) 推荐(0)
摘要:Aimee 把马路竖起来,横轴是时间 那么显然扫过的面积就是遮挡的水量 之后就是计算几何的事了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstdio> #include<cstring> using names 阅读全文
posted @ 2021-02-08 10:58 Simex 阅读(96) 评论(0) 推荐(0)
摘要:Aimee 数据很小,直接爆搜 唯一麻烦的是检查是否重叠以及计算面积 但问题也不大 记得剪枝 #include<iostream> #include<cstdio> #include<algorithm> #include<cstdio> #include<cstring> using namesp 阅读全文
posted @ 2021-02-07 20:45 Simex 阅读(263) 评论(0) 推荐(0)
摘要:Aimee 非常简单 运用一点点的数学知识算出两两之间的距离 然后跑最短路 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; i 阅读全文
posted @ 2021-02-06 19:35 Simex 阅读(163) 评论(0) 推荐(0)
摘要:Aimee 可以用网络流解决 建超级源点与超级汇点,源点与所有的外籍飞行员相连,容量为1(顶多选一人一次) 超级汇点同理,容量还是1,而飞行员之间的点就可以使大于等于1的任意数 顶多只有1的流量 最后所有漫流的边即为方案 方案书就是最大流 #include<iostream> #include<cs 阅读全文
posted @ 2021-02-04 11:50 Simex 阅读(274) 评论(0) 推荐(0)
摘要:Aimee 显然这是一个网络流 一开始,我们大可以随便找一条可行流 然后再找一条,可是如果要返回怎么办?可以建立对应的反向边,反向边的容量即即为正向边流量,构成残余网络,在残余网络上找到的从s$\rightarrow$t的路径,就是一条可行流,并且,找到最大流的充要条件是它的对应残余网络没有增广路 阅读全文
posted @ 2021-02-04 11:34 Simex 阅读(83) 评论(0) 推荐(0)
摘要:Aimee 显然这是一个网络流 一开始,我们大可以随便找一条可行流 然后再找一条,可是如果要返回怎么办?可以建立对应的反向边,反向边的容量即即为正向边流量,构成残余网络,在残余网络上找到的从s$\rightarrow$t的路径,就是一条可行流,并且,找到最大流的充要条件是它的对应残余网络没有增广路 阅读全文
posted @ 2021-02-04 11:16 Simex 阅读(80) 评论(0) 推荐(0)
摘要:Aimee 真不知道和dp有啥关系 两个关键值,区间和和区间最小值 那么直接左右扩展一个点能作为最小值的最大区间(反正是正整数) 然后算就行了 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; t 阅读全文
posted @ 2021-02-04 08:41 Simex 阅读(107) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页