摘要: 几乎是个板子,跟游戏几乎是重题。 将每行建点,每列建点,这样可以保证每行每列都只有一个。 格点拆掉,算个费用流就好了。 看代码: #include<bits/stdc++.h> using namespace std; #define inf 1e9 const int maxn=100005; i 阅读全文
posted @ 2020-03-07 21:06 syzf2222 阅读(172) 评论(0) 推荐(0)
摘要: 横的联通快为入,竖的为出。 样例的图就像这样: S->a1,a2,a3,a4,a5 a1->2,3,4 a2->5 a3->7,8 a4->9,10 a5->12 5,9->b1 2->b2 10->b3 3,7->b4 4,8,12->b5 代码如下: #include<bits/stdc++.h 阅读全文
posted @ 2020-03-06 22:41 syzf2222 阅读(116) 评论(0) 推荐(0)
摘要: 努力刷网络流找感觉ing…… 这其实是一个费用流,拆点,流量为1,费用为val。 求其最大费用流,可以转化为边权相反,求最小费用流的相反数。 看代码: #include<bits/stdc++.h> using namespace std; #define inf 1e9 int val[100][ 阅读全文
posted @ 2020-03-06 21:46 syzf2222 阅读(114) 评论(0) 推荐(0)
摘要: 个人认为思维难度比较大。 看到这题,我们要想办法将其转化为最小割。 考虑到割x,y,z都能完成任务,我们将其并联,割掉其中任意一边都行。 因为割得是权,于是以权为点,而不是以节点为点。 并且要拆点。 超级源点向x连边,x向y的入口连边,y的入口向出口连边,y的出口向z连边,z向超级汇点连边。 看代码 阅读全文
posted @ 2020-03-06 20:46 syzf2222 阅读(196) 评论(0) 推荐(0)
摘要: 发现好像只记一行没什么太大的用了。怎么办…… 一行不行记两行呗!m=10的情况也只有60种可行方案,空间大大的有。 注意不是累加是取max…… 看代码: #include<bits/stdc++.h> using namespace std; int f[105][65][65]; int can[ 阅读全文
posted @ 2020-03-06 11:05 syzf2222 阅读(160) 评论(0) 推荐(0)
摘要: 传说这种题叫什么旅行商问题? 这题卡记搜和暴搜,注意一下…… #include<bits/stdc++.h> using namespace std; const int maxn=20; int n,vis[maxn]; double x[maxn],y[maxn],ans,dist[maxn][ 阅读全文
posted @ 2020-03-06 00:22 syzf2222 阅读(179) 评论(0) 推荐(0)
摘要: 几乎是板子。 #include<bits/stdc++.h> using namespace std; #define int long long int f[10][100][1000],ans; int n,k,cnt,iab[20],num[1000]; int can[1000],bai[2 阅读全文
posted @ 2020-03-05 22:49 syzf2222 阅读(196) 评论(0) 推荐(0)
摘要: 将已有边权设为零,再跑kruskal…… #include<bits/stdc++.h> using namespace std; #define int long long const int maxn=50000; struct node{ int x,y,z; }a[maxn]; int n, 阅读全文
posted @ 2020-03-05 19:46 syzf2222 阅读(102) 评论(0) 推荐(0)
摘要: 网络流搜到的,标答却是dp…… 一道紫dp!!!!!!!!!!! f[i][j]代表在前i个中随意选j段的最大值。 g[i][j]代表在前i个中在选i的前提下选j段的最大值。 h[i][j]代表在前i个中在选1的前提下选j段的最大值。 l[i][j]代表在前i个中在选1和i的前提下选j段的最大值。 阅读全文
posted @ 2020-03-04 11:55 syzf2222 阅读(128) 评论(0) 推荐(0)
摘要: f[i][j]表示第i行状态为j时的方案数。 pd[i]用于判断第i行的一种方法是否合法。 f[i][j]=f[i-1][k],j&k==0,j&pd[i]==0,k&pd[i-1]==0 由于每行两两不相邻,所以可以预处理。 蒟蒻的第一道状压。 看代码: #include<stdio.h> #in 阅读全文
posted @ 2020-03-03 22:18 syzf2222 阅读(317) 评论(0) 推荐(0)