摘要:
了解了。。。。#include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include typede... 阅读全文
摘要:
第一次 耍划分树。。。模板是找第k小的#include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #in... 阅读全文
摘要:
得到的最小割得到sumsum/E 为 最小割sum%E 为最小割的边数#include #include #include #include #include #include #include using namespace std;#include #include #include #incl... 阅读全文
摘要:
s-食物-人-人-饮料-t#include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #include ... 阅读全文
摘要:
把一个点拆成两个点这两点的权值为点的值#include #include #include #include #include #include #include using namespace std;#include #include #include #include #include #in... 阅读全文
摘要:
最小环证明:一个环中的最大结点为k(编号最大),与他相连的两个点为i,j,这个环的最短长度为g[i][k]+g[k][j]+i到j的路径中,所有结点编号都小于k的最短路径长度根据floyd的原理,在最外层循环做了k-1次之后,dist[i][j]则代表了i到j的路径中,所有结点编号都小于k的最短路径... 阅读全文
摘要:
不要问窝 为什么过了> #include #include #include #include #include #include #include #include#include using namespace std;typedef long long LL;#define MAXN 100*... 阅读全文
摘要:
比如A:p1 q1, B:p2 q2,然后,假设单独买A或者B的话,都是可以买到的。这时,若先买A,则你至少需要p1+q2的钱;若先买B,则至少需要p2+q1的钱。那肯定是花最少的钱咯,所以如果先买A再买B,那么p1+q2q2-p2,也就是说qi-pi大的先买。#include #include #... 阅读全文
摘要:
01背包的转移方程为dp[j]=max(dp[j],dp[j-vol[i]+cost[i]]);因为要求解第k大的解需要用二位数组储存即dp[j][k];j为体积 k为第几优的解所以保存下转移过程中dp[j]与dp[j-vol[i]]的前k大的值dp[j]与dp[j-vol[i]]两个状态中一共有k... 阅读全文
摘要:
开一个数组p若dp[i-1][j]#include #include #include #include #include #include #include #include#include using namespace std;#define MAXN 11111#include #inclu... 阅读全文