摘要:
A 1 /*Huyyt*/ 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 const int mod = 998244353; 6 const int maxn = 1e3 + 5; 7 int 阅读全文
摘要:
比赛的时候想到怎么做了 没调出来(感觉自己是个睿智) 给你N个点M条边,这M条边是一条一条加进去的 要求你求出加入每一条边时图中极大'K度'子图的大小 极大'K度'子图的意思是 要求出一个有尽量多的点的子图 该图中每个点的度数至少为K 因为他每加一条边只会影响到两个点的度数 所以很明显下一个极大'K 阅读全文
摘要:
给定一张图,求图中一个至少包含三个点的环,环上的点不重复,并且环上的边的长度之和最小. 点数不超过100个 输出方案 无向图: 1 /*Huyyt*/ 2 #include<bits/stdc++.h> 3 #define mem(a,b) memset(a,b,sizeof(a)) 4 #defi 阅读全文
摘要:
Hdu2121 Bzoj4349 Luogu P4716 阅读全文
摘要:
POJ1639 顶点度数限制的最小生成树 做法:首先把和顶点相连的X条边全部删掉 得到顶点和 X个连通块 然后求出这X个连通块的MST 再把X条边连接回去这样我们就首先求出了X度MST 知道了X度MST 我们接下来要求X+1度MST 也就是再给顶点一条边 但是加上了这条边就会生成一个环 我们需要删掉 阅读全文
摘要:
Hdu1195 两个四位密码 问你最少多少步能到达 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_back using namespace std; typedef l 阅读全文
摘要:
#include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <queue> #define MAXN 1005 #define MAXM 500005 #define INF 1000000 阅读全文
摘要:
Card Game 每个牌背面的数字朝正面的数字连一条有向边 则题目变为问你最少翻转多少次 能使得每个数字的入度不超过1 首先判断图中每个连通块是不是树或者基环树 因为只有树或者基环树能使得每个点的入度不超过1 判的话就直接判断边的数量与点的数量之间的大小关系如果边数<=点数则可行 对于树 我们进行 阅读全文
摘要:
待补 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back 阅读全文