摘要:
http://www.zhihu.com/question/36132386 阅读全文
摘要:
DFS+剪枝有一些比较强大的剪枝,先对输入的价值排序,如果最小的超过了限制,直接输出0,如果价值最大的LimN个加起来没有超过限制,那也直接输出答案,剩下的就是常规的DFS。#include#include#include#includeusing namespace std;const int m... 阅读全文
摘要:
二分查找+最短路二分限制高度,然后求最短路#include#include#include#include#include#includeusing namespace std;const int INF=0x7FFFFFFF;const int maxn=1000+10;struct Edge{ ... 阅读全文
摘要:
乍一看是01背包,但是100000*10000的复杂度肯定是TLE的,但是(0 ≤ Vi , Ci ≤ 10),所以最多也只有100种物品,转化成多重背包去做。#include#include#includeint N,C,vv,cc;int g[15][15];char s[100];int w[... 阅读全文
摘要:
最小表示法+Map或者字典树,最小表示法找了个模板,还没学习呢...#include#include#include#include#include#includeusing namespace std;mapm;int n;char s[10010][110];char t[110];int ge... 阅读全文
摘要:
脑洞题。http://blog.csdn.net/dgq8211/article/details/7748078#include#include#include#includeusing namespace std;struct abc{ int A,B;}x[100010];int T,N;... 阅读全文
摘要:
无向图的最小割。套了个模板。#include#include#include#includeusing namespace std;#define MAXN 555#define inf 11){ int k=0,pre=0;//pre用来表示之前加入A集合的点,我们每次都以0点为第一... 阅读全文
摘要:
无向图最小割,Stoer Wanger算法。先找了个模板,日后再学习吧...#include#include#include#includeusing namespace std;#define MAXN 555#define inf 11){ int k=0,pre=0;//pre用... 阅读全文
摘要:
SPFA最长路,思路如下:先对题目中给出的每条边建边,权值为转化率;增加一个终点S,每个节点到S建边,权值为该物品的单价。假设X物品最终转化为了Y物品,那么转化之后得到的钱就是 W[x]*转化率1*转化率2*转化率3*转化率4*.....*P[Y]现在我们关注转化率1*转化率2*转化率3*转化率4*... 阅读全文
摘要:
Map水过去了#include#include#include#include#include#includeusing namespace std;mapm;vectorb;int main(){ int n; while(~scanf("%d",&n)) { m.... 阅读全文
摘要:
经典DP#include#include#include#includeusing namespace std;const int INF=0x7FFFFFFF;int T;int n;int a[100000+10];int sum[100000+10];int L[100000+10],R[10... 阅读全文
摘要:
水题#include#include#include#includeusing namespace std;int T;int n,flag=0;int d[1000];int tot;int main(){ scanf("%d",&T); while(T--){ f... 阅读全文
摘要:
一般图的最大匹配+枚举 带花树开花算法#include #include #include #include using namespace std;const int N = 250;// 并查集维护int belong[N];int findb(int x){ return belong[... 阅读全文
摘要:
一般图的最大匹配 带花树开花算法有两个模板,一个kuangbin大神的,另一个不知道谁写的。#include#include#include#include#include#includeusing namespace std;const int MAXN = 250;int N; //点的个数,点... 阅读全文
摘要:
最大流,有向环覆盖问题。#include#include#include#include#include#include#includeusing namespace std;const int maxn = 100000 + 10;const int INF = 0x7FFFFFFF;struct... 阅读全文
摘要:
两次SPFA#include#include#include#include#include#includeusing namespace std;const int INF=0x7FFFFFFF;const int maxn=10000+10;const int Maxn=250000+10;in... 阅读全文
摘要:
二分图匹配+输出方案#include#include#include#includeusing namespace std;const int MAXN=505;int nx,ny;int g[MAXN][MAXN];int cx[MAXN],cy[MAXN];int mk[MAXN];int n;... 阅读全文
摘要:
区间求和不更新,开个数组记录一下前缀和就可以了#include#include#include#includeusing namespace std;const int maxn=100000+10;int R[maxn],C[maxn];int sumR[maxn],sumC[maxn];int ... 阅读全文
摘要:
水题,括号匹配,有几对匹配了,答案就是那个...#include#include#include#includeusing namespace std;int Stack[1005];int top;int main(){ int T; char a[1005]; scanf("%... 阅读全文
摘要:
KM算法 二分图最大权值匹配#include #include#include#includeconst int maxn = 356;const int INF = (1 t) slack[y] = t; } return false; }i... 阅读全文