- 博客(6)
- 收藏
- 关注
原创 Codeforces 785 D 组合数阶乘逆元
我不会写公式……….#include<cstdio> #include<cstring> #include<iostream> #define maxn 200020 #define LL long long using namespace std; char s[maxn]; LL inv[maxn],fac[maxn]; int N=200002; LL mod=1e9+7; LL pow(LL
2017-03-31 19:34:38 517
原创 bzoj 2502 清理雪道 上下界网络流最小流
首先可以用一种类似退流的思想,先建图跑可行流,然后删掉原图的汇点tt~源点ss之间的边,设这条边的流量为x1,再跑tt~ss的最大流x2。答案就是x1-x2。另一种做法,先不加tt~ss的边跑最大流,然后加边跑最大流x2,答案就为x2。#include<queue> #include<cstdio> #include<cstring> #include<iostream> #define maxn
2017-03-30 15:25:10 515
原创 bzoj 2055 80人环游地球 上下界费用流
这题像上下界网络流一样,把一条边拆成三条,其中原图中的边权值不变,连向超级源点和汇点的边权值改为0就可以。然后把边合并一下。答案为每条边最小容量*权值+建完图后最小费用流。#include<queue> #include<cstdio> #include<cstring> #include<iostream> #define maxn 405 #define LL long long using n
2017-03-30 14:20:28 444
原创 bzoj 1670 护城河的挖掘 凸包
#include<cmath> #include<cstdio> #include<iostream> #include<algorithm> #define maxn 5005 using namespace std; struct point { double x,y; point(){} point(double x1,double y1){x=x1,y=y1;}
2017-03-29 14:22:56 384
原创 bzoj4033 HAOI2015 T1 树形DP
dp[i][j]表示以i点为根的子树中选j个黑点,所能达到的最大价值。#include<cstdio> #include<cstring> #include<iostream> #define maxn 2005 #define LL long long using namespace std; struct E{ int to,nxt,d; }b[maxn<<1]; int fst[max
2017-03-20 14:26:21 355
原创 bzoj 3238 ahoi2013差异 后缀数组
#include<set> #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define maxn 500005 #define LL long long using namespace std; char s[maxn]; set<int> S; set<int>
2017-03-17 23:18:32 323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人